cloud-api/src/organisation/schemas.py
luxferre 23f2ce98d7 feat: iam rbac system
Endpoints and db architecture to support a role based IAM system.
2026-05-25 09:05:17 +01:00

57 lines
1.3 KiB
Python

"""
Pydantic models for organisation module
Models:
- List: Description
- Models: Description
"""
from typing import Optional
from src.schemas import CustomBaseModel
from src.organisation.constants import Status, ContactType
class OrgQuestionnaire(CustomBaseModel):
question_one: str
question_two: str
question_three: str
class OrgOrgPostRequest(CustomBaseModel):
name: str
intake_questionnaire: Optional[OrgQuestionnaire] = None
billing_contact_id: Optional[int] = None
security_contact_id: Optional[int] = None
owner_contact_id: Optional[int] = None
class OrgQuestionnairePatchRequest(CustomBaseModel):
intake_questionnaire: OrgQuestionnaire
partial: bool
class OrgStatusPatchRequest(CustomBaseModel):
status: Status
class OrgContactPatchRequest(CustomBaseModel):
contact_id: int
contact_type: ContactType
class OrgUserPostRequest(CustomBaseModel):
user_id: int
class OrgUserGetResponse(CustomBaseModel):
user_id: int
class OrgContactGetResponse(CustomBaseModel):
email: str
first_name: str
last_name: str
phonenumber: str
vat_number: Optional[str] = None
class OrgOrgGetResponse(CustomBaseModel):
name: str
status: Status
owner_contact: OrgContactGetResponse
billing_contact: OrgContactGetResponse
security_contact: OrgContactGetResponse