Skip to content

Backend - EPApprovalRequest request type #777

@zzacharo

Description

@zzacharo

Implementation details

  • EPApprovalRequest request type (submit/accept/decline actions) with full payload schema
  • Accept: auto-generates CERN-EP-{year}-{seq} report number, mints apprn PID, propagates to submitted version and all newer published versions via DB query
  • EPReportNumberComponent: guards apprn against removal/change using the PID table as source of truth (catches race condition where draft predates approval); soft field error on update_draft, hard raise on publish; superusers exempt
  • Email notifications on submit/accept/decline
  • Tests covering submit→accept/decline, report number sequencing, propagation, immutability, race condition

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions