felicity-lims/backend/felicity_lims/felicity/apps/client/schemas.py

49 lines
931 B
Python
Raw Normal View History

2021-01-06 19:52:14 +08:00
from typing import Optional
from pydantic import BaseModel
#
2021-01-06 19:52:14 +08:00
# Client Schemas
#
# Shared properties
class ClientBase(BaseModel):
name: Optional[str] = None
code: Optional[str] = None
district_uid: Optional[str] = None
2021-01-06 19:52:14 +08:00
email: Optional[str] = None
email_cc: Optional[str] = None
consent_email: Optional[str] = None
mobile_phone: Optional[str] = None
business_phone: Optional[str] = None
consent_sms: Optional[str] = None
active: Optional[bool] = True
2021-01-06 19:52:14 +08:00
class ClientBaseInDB(ClientBase):
uid: Optional[str] = None
class Config:
orm_mode = True
2021-01-06 19:52:14 +08:00
# Properties to receive via API on creation
class ClientCreate(ClientBase):
district_uid: str
2021-01-06 19:52:14 +08:00
# Properties to receive via API on update
class ClientUpdate(ClientBase):
pass
2021-01-06 19:52:14 +08:00
# Properties to return via API
class Client(ClientBaseInDB):
pass
2021-01-06 19:52:14 +08:00
# Properties stored in DB
class ClientInDB(ClientBaseInDB):
pass