Skip to content

Contacts

  • File: Features/Contacts/ContactsController.cs, Features/Contacts/ContactQueries.cs, Resolvers/ContactResolvers.cs

Overview

Contacts are the people and groups a clinician interacts with. The API supports listing and searching contacts, favorites, contact groups, and per-contact details. Contacts back calls, chat, and events (participants).

REST endpoints (api/contacts/...)

EndpointPurpose
GET /api/contacts/get?name=&skip=&take=&frequent=&alphabet=Search contacts with paging; frequent returns recent; alphabet filters by letter
GET /api/contacts/group/users/{groupId}Contacts in a group
GET /api/contacts/meCurrent user's contact info (Me)
POST /api/contacts/setFavouriteMark/unmark a contact as favorite
POST /api/contacts/updateUpdate contact information (multipart form)
POST /api/contacts/group/createCreate a contact group
POST /api/contacts/group/renameRename a group
POST /api/contacts/group/addAdd participants to a group
POST /api/contacts/group/removeRemove participants from a group
POST /api/contacts/notificationSeen/{noticeId}Acknowledge a system notice

GraphQL

OperationPurpose
myContactsContact list with sortType, paging, alphabet, isCallList
contactAlphabetsAvailable alphabet buckets for the index
groupById(groupId)Single group
hasPinWhether the user has a PIN set
myNoticeCurrent system notice for the user

Key domain types

  • ContactInfo / ContactSummary — contact + presence/online state (via Connectivity).
  • GroupInfo — a contact group.

Presence / online status

Presence is tracked through the realtime layer (userStatus events on the hub) and via AdminController helpers (lastSeen, isOnline).

  • Chat — chat groups are built around contacts.
  • Web Contacts — the web contact management feature.

Released under the MIT License.