Appearance
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/...)
| Endpoint | Purpose |
|---|---|
POST /api/notification/save | Save/replace the current system notice |
POST /api/notification/clear | Clear the current notice |
GET /api/notification/current | Current notice |
Users see the notice through myNotice (GraphQL) and acknowledge it via POST /api/contacts/notificationSeen/{noticeId}.
Peripherals — REST (api/peripheral/...)
| Endpoint | Purpose |
|---|---|
GET /api/peripheral/types | All PeripheralTypes |
POST /api/peripheral/getDevice/{deviceTypeId} | Map physical deviceIds to a device for a type (returns a device key) |
GET /api/peripheral/devices | Devices available to the caller |
Realtime control
Over the SignalR hub (/hubs/mobile) clients invoke:
startPeripheral(StartPeripheralRequest)/stopPeripheral(StopPeripheralRequest)deviceStatus(meetingId, HeadsetDeviceInfo)— device heartbeats/staterequestRemote(meetingId, deviceId)/requestHostAccess(...)— remote/host controlremoteControl(meetingId, RemoteControlRequest)— actual remote control commandsshareImage/clearImage— show an image on a headset
Server pushes: peripheralStarted, peripheralStopped, deviceInfo, deviceUpdated, onRemoteControl, onDeviceAdded.
Related
- Headset — heavy user of peripherals and remote control.
- Web Settings — Notification — user notification prefs.