Manages companion (pet) records: create, read, update, delete, profile image uploads, and search. Routes without a prefix are called by the mobile app (pet parents); routes under /org 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 /
- Auth:
requireMobileAuth - Controller:
CompanionController.createCompanionMobile - Response:
401: keysmessage,201: keysmessage,500: keysmessage
GET /:id
- Auth:
requireMobileAuth - Params:
id - Controller:
CompanionController.getCompanionById - Response:
400: keysmessage,404: keysmessage,200: keysmessage,500: keysmessage
PUT /:id
- Auth:
requireMobileAuth - Params:
id - Controller:
CompanionController.deleteCompanion - Response:
400: keysmessage,204: keysmessage,500: keysmessage
POST /profile/presigned
- Auth:
requireMobileAuth - Controller:
CompanionController.getProfileUploadUrl - Response:
400: keysmessage,200: JSON,500: keysmessage
GET /org/search
- Auth:
requireWebAuth - RBAC:
requirePermission - Query:
name - Controller:
CompanionController.searchCompanionByName - Response:
400: keysmessage,200: keysmessage,500: keysmessage
POST /org/:orgId
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
orgId - Controller:
CompanionController.createCompanionPMS - Response:
400: keysmessage,401: keysmessage,404: keysmessage,201: keysmessage,500: keysmessage
GET /org/:id
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
id - Controller:
CompanionController.getCompanionById - Response:
400: keysmessage,404: keysmessage,200: keysmessage,500: keysmessage
PUT /org/:id
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
id - Controller:
CompanionController.updateCompanion - Response:
400: keysmessage,404: keysmessage,200: keysmessage,500: keysmessage
GET /pms/:parentId/:organisationId/list
- Auth:
requireWebAuth - RBAC:
withOrgPermissions, requirePermission - Params:
parentId,organisationId - Controller:
CompanionController.listParentCompanionsNotInOrganisation - Response:
400: keysmessage,200: keysmessage,500: keysmessage