feat: org dependencies

Org endpoints use query/body model dependencies to perform initial db lookups.

Issue #6

Org ID path params have been replaced with either query params (get endpoints) or body values.

Resolves #10

Endpoints in other modules that rely on an org model lookup have also been updated.
This commit is contained in:
Chris Milne 2026-05-27 12:21:03 +01:00
parent c6a2b301dc
commit 657f91d73d
9 changed files with 106 additions and 74 deletions

View file

@ -18,19 +18,23 @@ class OrgQuestionnaire(CustomBaseModel):
question_two: str
question_three: str
class OrgIDMixin(CustomBaseModel):
organisation_id: int
class OrgOrgPostRequest(CustomBaseModel):
name: str
intake_questionnaire: Optional[OrgQuestionnaire] = None
class OrgQuestionnairePatchRequest(CustomBaseModel):
class OrgQuestionnairePatchRequest(OrgIDMixin):
intake_questionnaire: OrgQuestionnaire
partial: bool
class OrgStatusPatchRequest(CustomBaseModel):
class OrgStatusPatchRequest(OrgIDMixin):
status: Status
class OrgContactPatchRequest(CustomBaseModel):
class OrgContactPatchRequest(OrgIDMixin):
contact_type: ContactType
email: Optional[EmailStr] = None
first_name: Optional[str] = None
last_name: Optional[str] = None
@ -44,13 +48,13 @@ class OrgContactPatchRequest(CustomBaseModel):
country_code: Optional[str] = None
postal_code: Optional[str] = None
class OrgUserPostRequest(CustomBaseModel):
class OrgUserPostRequest(OrgIDMixin):
user_id: int
class OrgUserDeleteRequest(CustomBaseModel):
class OrgUserDeleteRequest(OrgIDMixin):
user_id: int
class OrgRootPatchRequest(CustomBaseModel):
class OrgRootPatchRequest(OrgIDMixin):
user_id: int
class OrgUserGetResponse(CustomBaseModel):
@ -77,3 +81,6 @@ class OrgOrgGetResponse(CustomBaseModel):
owner_contact: Optional[str] = None
billing_contact: Optional[str] = None
security_contact: Optional[str] = None
class OrgDeleteOrgRequest(OrgIDMixin):
pass