Manages organisations (also referred to as businesses): nearby search, logo uploads, CRUD, and the creation and listing of organisation invites. The nearby-search routes are open or called by the mobile app; the CRUD and invite routes are called by the PIMS (Practice Information Management System, the clinic-facing web app) and require organisation RBAC (role-based access control) permissions. Invitees act on invites through the Organisation Invite API, and specialities are managed through the Speciality API.
Endpoints
POST /check
- Query:
lat,limit,lng,page,radius - Controller:
OrganizationController.getNearbyPaginated - Response:
400: keysmessage,500: JSON
GET /mobile/getNearby
- Auth:
requireMobileAuth - Query:
lat,limit,lng,page,radius - Controller:
OrganizationController.getNearbyPaginated - Response:
400: keysmessage,500: JSON
POST /logo/presigned-url
- Controller:
OrganizationController.getLogoUploadUrl - Response:
400: keysmessage,200: keyss3Key,uploadUrl,500: keysmessage
POST /
- Auth:
requireWebAuth - Controller:
OrganizationController.getAllBusinesses - Response:
200: JSON,500: keysmessage
GET /:organizationId
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
organizationId - Controller:
OrganizationController.getBusinessById - Response:
400: keysmessage,404: keysmessage,200: keysmessage,500: keysmessage
PUT /:organizationId
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
organizationId - Controller:
OrganizationController.updateBusinessById - Response:
400: keysmessage,404: keysmessage,200: keysmessage,500: keysmessage
DELETE /:organizationId
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
organizationId - Controller:
OrganizationController.deleteBusinessById - Response:
400: keysmessage,404: keysmessage,200: keysmessage,500: keysmessage
GET /:organizationId/specality
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
organizationId - Controller:
SpecialityController.getAllByOrganizationId - Response:
400: keysmessage,200: keysmessage,500: keysmessage
POST /:organisationId/invites
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
organisationId - Controller:
OrganisationInviteController.createInvite - Response:
400: keysmessage,401: keysdepartmentIds,employmentType,inviteeEmail,inviteeName,message,role,201: keysmessage,500: keysmessage
GET /:organisationId/invites
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
organisationId - Controller:
OrganisationInviteController.listOrganisationInvites - Response:
400: keysmessage,200: keysmessage,500: keysmessage