Files
igny8/master-docs/20-api/ENDPOINTS/publisher.md
IGNY8 VPS (Salman) 3cbed65601 revamps docs complete
2025-12-07 14:14:29 +00:00

54 lines
2.4 KiB
Markdown

# Publisher Endpoints
## Purpose
Document publisher API endpoints for publishing records and deployments.
## Code Locations (exact paths)
- Routing: `backend/igny8_core/modules/publisher/urls.py`
- Viewsets: `backend/igny8_core/modules/publisher/views.py`
- Models: `backend/igny8_core/business/publishing/models.py`
## High-Level Responsibilities
- Expose CRUD for publishing records (content publishing to destinations) and deployment records (site deployments).
- Scope resources by account/site/sector and provide unified responses.
## Detailed Behavior
- Base path: `/api/v1/publisher/`
- Routers register:
- `publishing-records/``PublishingRecordViewSet`
- `deployments/``DeploymentRecordViewSet`
- Root publisher viewset (`PublisherViewSet`) for additional publisher actions (see module code).
- Viewsets inherit account/site/sector filtering via base classes; permissions/throttles defined in module views.
- Publishing records track destination/status/URLs/errors; deployments track versions/status/URL/metadata.
## Data Structures / Models Involved (no code)
- `PublishingRecord`, `DeploymentRecord`, `Account`, `Site`, `Sector`.
## Execution Flow
- Requests → DRF auth → base scoping → serializer validation → model CRUD → unified responses.
## Cross-Module Interactions
- Publishing records reference writer content; deployments reference sites; integration data may influence destinations (see integration/publishing services).
## State Transitions
- Publishing status: pending/publishing/published/failed; Deployment status: pending/deploying/deployed/failed/rolled_back.
## Error Handling
- Unified responses; validation errors for missing/invalid fields; standard 4xx/5xx on failures.
## Tenancy Rules
- All endpoints scoped to account/site/sector via base viewsets and permissions; privileged roles may bypass filtering but data retains tenant fields.
## Billing Rules
- None directly in publisher endpoints; any credit usage would occur in upstream AI flows.
## Background Tasks / Schedulers
- None specific in endpoints; deployments/publishing actions may be driven by services or Celery tasks elsewhere.
## Key Design Considerations
- Separation of publishing records and deployment records keeps content publishing and site deployment distinct.
## How Developers Should Work With This Module
- Use existing viewsets; maintain site/sector scoping and unified response patterns when extending publisher functionality.