Company Directory
Doc da API: ver APIs
Diagrama de sequencia
sequenceDiagram
participant Client as Cliente
participant Guard as JwtAuthGuard
participant Ctrl as CompanyDirectoryV1Controller
participant Svc as CompanyDirectoryService
participant MainDB as PostgreSQL Principal
Client->>Guard: POST /api/v1/company/directory Bearer + tenant
Guard-->>Ctrl: actor tenantId
Ctrl->>Svc: create no tenant
Svc->>MainDB: insert company
Svc-->>Client: 201
Client->>Ctrl: GET /api/v1/company/directory
Ctrl->>Svc: list by tenant ou admin global
Svc->>MainDB: select paginado
Svc-->>Client: 200
Client->>Ctrl: GET /api/v1/company/directory/:companyId
Ctrl->>Svc: detail branding addresses documents
Svc->>MainDB: joins
Svc-->>Client: 200 detail
Client->>Ctrl: PATCH /api/v1/company/directory/:id
Ctrl->>Svc: partial update
Svc->>MainDB: update
Svc-->>Client: 200
Client->>Ctrl: PUT .../branding
Ctrl->>Svc: upsert branding
Svc->>MainDB: upsert
Svc-->>Client: 200
Client->>Ctrl: POST .../addresses
Ctrl->>Svc: create address
Svc->>MainDB: insert
Svc-->>Client: 201
Client->>Ctrl: DELETE .../addresses/:addressId
Ctrl->>Svc: delete address
Svc->>MainDB: delete
Svc-->>Client: 204
Client->>Ctrl: POST .../documents
Ctrl->>Svc: create document
Svc->>MainDB: insert
Svc-->>Client: 201
Client->>Ctrl: DELETE .../documents/:documentId
Ctrl->>Svc: delete document
Svc->>MainDB: delete
Svc-->>Client: 204