feat: client endpoints for clients page
This commit is contained in:
74
modules/clients/schemas/client.py
Normal file
74
modules/clients/schemas/client.py
Normal file
@ -0,0 +1,74 @@
|
||||
from typing import Optional
|
||||
|
||||
from schemas.base import BaseSchema, BaseResponse
|
||||
|
||||
|
||||
# region Entities
|
||||
|
||||
|
||||
class ClientDetailsSchema(BaseSchema):
|
||||
telegram: str
|
||||
phone_number: str
|
||||
inn: str
|
||||
email: str
|
||||
|
||||
|
||||
class CreateClientSchema(BaseSchema):
|
||||
name: str
|
||||
company_name: str
|
||||
comment: Optional[str] = ""
|
||||
details: ClientDetailsSchema
|
||||
|
||||
|
||||
class ClientSchema(CreateClientSchema):
|
||||
id: int
|
||||
|
||||
|
||||
class UpdateClientSchema(BaseSchema):
|
||||
name: Optional[str] = None
|
||||
company_name: Optional[str] = None
|
||||
comment: Optional[str] = None
|
||||
details: Optional[ClientDetailsSchema] = None
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
# region Requests
|
||||
|
||||
|
||||
class ClientUpdateDetailsRequest(BaseSchema):
|
||||
client_id: int
|
||||
details: ClientDetailsSchema
|
||||
|
||||
|
||||
class CreateClientRequest(BaseSchema):
|
||||
entity: CreateClientSchema
|
||||
|
||||
|
||||
class UpdateClientRequest(BaseSchema):
|
||||
entity: UpdateClientSchema
|
||||
|
||||
|
||||
# endregion
|
||||
|
||||
|
||||
# region Responses
|
||||
|
||||
|
||||
class GetClientsResponse(BaseSchema):
|
||||
items: list[ClientSchema]
|
||||
|
||||
|
||||
class UpdateClientResponse(BaseResponse):
|
||||
pass
|
||||
|
||||
|
||||
class CreateClientResponse(BaseResponse):
|
||||
pass
|
||||
|
||||
|
||||
class DeleteClientResponse(BaseResponse):
|
||||
pass
|
||||
|
||||
|
||||
# endregion
|
||||
Reference in New Issue
Block a user