Skip to content

Notifications & Peripherals

  • File: Features/Notification/NotificationController.cs, Features/Peripherals/PeripheralController.cs

Overview

Two supporting feature areas:

  • System notifications — tenant-wide notices shown to users (e.g. maintenance messages). Users acknowledge them and the UI tracks "last seen".
  • Peripherals — headsets/mobile devices used during calls (e.g. the Riester USB stethoscope, cameras). The API lists peripheral types, maps physical devices, and drives peripheral start/stop over the realtime hub.

Notifications — REST (api/notification/...)

EndpointPurpose
POST /api/notification/saveSave/replace the current system notice
POST /api/notification/clearClear the current notice
GET /api/notification/currentCurrent notice

Users see the notice through myNotice (GraphQL) and acknowledge it via POST /api/contacts/notificationSeen/{noticeId}.

Peripherals — REST (api/peripheral/...)

EndpointPurpose
GET /api/peripheral/typesAll PeripheralTypes
POST /api/peripheral/getDevice/{deviceTypeId}Map physical deviceIds to a device for a type (returns a device key)
GET /api/peripheral/devicesDevices available to the caller

Realtime control

Over the SignalR hub (/hubs/mobile) clients invoke:

  • startPeripheral(StartPeripheralRequest) / stopPeripheral(StopPeripheralRequest)
  • deviceStatus(meetingId, HeadsetDeviceInfo) — device heartbeats/state
  • requestRemote(meetingId, deviceId) / requestHostAccess(...) — remote/host control
  • remoteControl(meetingId, RemoteControlRequest) — actual remote control commands
  • shareImage / clearImage — show an image on a headset

Server pushes: peripheralStarted, peripheralStopped, deviceInfo, deviceUpdated, onRemoteControl, onDeviceAdded.

Released under the MIT License.