feat: client endpoints for clients page

This commit is contained in:
2025-10-04 18:12:13 +04:00
parent 66b50fb951
commit 986712d5b7
12 changed files with 268 additions and 0 deletions

View 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