Files
headquarter/apps/api/src/schemas/project/.pi-map.md
T

2.3 KiB

apps/api/src/schemas/project

dir: apps/api/src/schemas/project

index: apps/api/src/schemas/project/.pi-map.index.md

role

Provides Pydantic data validation schemas for project-related API endpoints, serving as the contract layer between API requests/responses and internal business logic.

files

  • __init__.py | Re-exports Pydantic schema classes from submodules to provide a unified public API for project-related data models. | dep: src.schemas.project.git_repository, src.schemas.project.project, src.schemas.project.ssh_key
  • git_repository.py | Defines Pydantic request/response schemas for Git repository operations in an API. | exp: class:GitRepositoryCreate, class:URLParseRequest, class:URLParseResponse, class:GitRepositoryResponse, class:UpdateSSHKeyRequest, class:FileListResponse, class:FileContentResponse, class:BranchesResponse, class:FileUpdateRequest, class:FileUpdateResponse, class:StatusResponse, class:BranchCreateRequest, class:CheckoutRequest, class:CommitRequest, class:CommitResponse, class:FetchResponse, class:PullResponse, class:PushResponse, class:MergeRequest, class:MergeResponse | dep: uuid, datetime, pydantic
  • project.py | Defines Pydantic request/response schemas for project-related API operations including creation, updates, responses, and default SSH key assignment. | exp: class:ProjectCreate, class:ProjectUpdate, class:ProjectResponse, class:SetDefaultSSHKeyRequest | dep: uuid, pydantic
  • ssh_key.py | Defines Pydantic request/response schemas for SSH key management and signature operations in an API. | exp: class:SSHKeyCreate, class:SSHKeyResponse, class:SignPayloadRequest, class:SignatureResponse, class:VerifySignatureRequest, class:VerifySignatureResponse | dep: uuid, datetime, pydantic

arch

Modular schema-per-domain pattern with clean separation of concerns (git repositories, projects, SSH keys) and centralized public API via __init__.py re-exports, following standard Pydantic model hierarchy with explicit request/response bifurcation.

tags

response, request, project, create, update, sshkey, pydantic, git

symbols

  • GitRepositoryCreate
  • URLParseRequest
  • URLParseResponse
  • GitRepositoryResponse
  • UpdateSSHKeyRequest
  • FileListResponse
  • FileContentResponse
  • BranchesResponse

workflows

  • change project behavior read: __init__.py, git_repository.py, project.py

dirty