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
    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