Class LightBeaconController
- Namespace
- adas_core.Controllers
- Assembly
- adas-core.dll
[Route("beacons")]
public class LightBeaconController : ControllerBase
- Inheritance
-
LightBeaconController
- Inherited Members
- Extension Methods
Constructors
LightBeaconController(ILightBeaconService, IPatientService)
public LightBeaconController(ILightBeaconService lightBeaconService, IPatientService patientService)
Parameters
lightBeaconServiceILightBeaconServicepatientServiceIPatientService
Methods
Create(LightBeacon)
Creates a new light beacon by inserting the provided beacon data into the system. Returns a conflict response if the insertion yields no result; otherwise, returns the inserted beacon.
[HttpPost("create")]
[AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
public Task<IActionResult> Create(LightBeacon beacon)
Parameters
beaconLightBeaconThe light beacon data to be created, provided in the request body.
Returns
- Task<IActionResult>
An IActionResult containing the inserted beacon on success, or a conflict response if the insertion fails.
CreateCamera(LightBeacon)
Creates a new camera record by inserting a light beacon into the system. Requires the caller to have the role associated with AuthSome.
[HttpPost]
[AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
public Task<IActionResult> CreateCamera(LightBeacon beac)
Parameters
beacLightBeaconThe light beacon data to create the camera from, supplied in the request body.
Returns
- Task<IActionResult>
An IActionResult containing the created light beacon.
GetPaginatedUnits(PaginationFilter)
Retrieves a paginated list of light beacons based on the provided pagination filter. Validates that the request payload is not null before delegating to the light beacon service.
[HttpPost("paginated")]
[AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
public Task<IActionResult> GetPaginatedUnits(PaginationFilter request)
Parameters
requestPaginationFilterThe pagination filter containing the paging parameters used to query the beacons.
Returns
- Task<IActionResult>
An IActionResult containing the paginated list of beacons returned by the service.
Exceptions
- BadRequestException
Thrown when the
requestparameter is null, indicating missing parameters.
GetSearchByName(string)
Searches for a light beacon by the provided text and returns the matching result.
[HttpGet("{textToSearch}")]
[AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
public Task<IActionResult> GetSearchByName(string textToSearch)
Parameters
textToSearchstringThe text used to search for the light beacon by name.
Returns
- Task<IActionResult>
An IActionResult containing the matching beacon, or a not-found response if no match exists.
Off(string)
Powers off the LED of the light beacon associated with the specified POC identifier.
[HttpPost("off")]
[AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
public IActionResult Off(string pocId)
Parameters
pocIdstringThe string representation of the POC ObjectId whose light beacon LED should be powered off.
Returns
Exceptions
- BadRequestException
Thrown when
pocIdis not a valid ObjectId format.
On(string, string)
Sets the light beacon color for the point of care associated with the specified patient.
Maps the color route value (case-insensitive) to a LightBeaconColor and forwards it to the beacon service.
[HttpPost("on/{color}")]
public Task<IActionResult> On(string patientId, string color)
Parameters
patientIdstringThe patient's identifier, supplied in the request body, used to locate the patient's point of care.
colorstringThe color name from the route (e.g. "Yellow", "Blue", "Red", "Off", "Green", "Cyan", "Magenta", "White") to apply to the beacon.
Returns
- Task<IActionResult>
An IActionResult indicating successful completion.
Exceptions
- BadRequestException
Thrown when
patientIdis not a valid MongoDB.Bson.ObjectId format.- NotFoundException
Thrown when the patient cannot be found or has no associated point of care.
UpdateCamera(string, LightBeacon)
Updates an existing light beacon (camera) identified by the route parameter, applying the provided data from the request body.
[HttpPut("{id}")]
[AuthorizeRoles(PermissionEnum.RolesType.AuthSome)]
public Task<IActionResult> UpdateCamera(string id, LightBeacon beacon)
Parameters
idstringThe string identifier of the light beacon to update, expected to be a valid ObjectId.
beaconLightBeaconThe light beacon payload containing the updated information, sourced from the request body.
Returns
- Task<IActionResult>
An IActionResult containing the updated light beacon returned by the service.
Exceptions
- BadRequestException
Thrown when the provided
idcannot be parsed as a valid ObjectId.