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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions