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

2.4 KiB

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.