Manages the link between a companion (a pet) and an organisation (a clinic): linking, invites, approval, and revocation. Routes without a prefix are called by the mobile app (pet parents); routes under /pms are called by the PIMS (Practice Information Management System, the clinic-facing web app) and require organisation RBAC (role-based access control) permissions.
Endpoints
POST /link
- Auth:
requireMobileAuth - Controller:
CompanionOrganisationController.linkByParent - Response:
401: keysmessage,400: keysmessage,201: keysmessage,500: keysmessage
POST /invite
- Auth:
requireMobileAuth - Controller:
CompanionOrganisationController.sendInvite - Response:
401: keysmessage,400: keysmessage,201: keysmessage,500: keysmessage
POST /:linkId/approve
- Auth:
requireMobileAuth - Params:
linkId - Controller:
CompanionOrganisationController.approvePendingLink - Response:
401: keysmessage,200: keysmessage,500: keysmessage
POST /:linkId/deny
- Auth:
requireMobileAuth - Params:
linkId - Controller:
CompanionOrganisationController.denyPendingLink - Response:
401: keysmessage,200: keysmessage,500: keysmessage
DELETE /revoke/:linkId
- Auth:
requireMobileAuth - Params:
linkId - Controller:
CompanionOrganisationController.revokeLink - Response:
200: keysmessage,500: keysmessage
GET /:companionId
- Auth:
requireMobileAuth - Params:
companionId - Query:
type - Controller:
CompanionOrganisationController.getLinksForCompanionByOrganisationType - Response:
400: keysmessage,200: keysmessage,500: keysmessage
POST /pms/accept
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Controller:
CompanionOrganisationController.acceptInvite - Response:
400: keysmessage,200: keysmessage,500: keysmessage
POST /pms/reject
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Controller:
CompanionOrganisationController.rejectInvite - Response:
400: keysmessage,200: keysmessage,500: keysmessage
POST /pms/:organisationId/:companionId/link
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
organisationId,companionId - Controller:
CompanionOrganisationController.linkByPmsUser - Response:
401: keysmessage,400: keysmessage,404: keysmessage,201: keysmessage,500: keysmessage
GET /pms/:organisationId/list
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
organisationId - Controller:
CompanionOrganisationController.getLinksForOrganisation - Response:
200: JSON,500: keysmessage