/**
 * Must stay aligned with `OFFBOARDING_ACTIONS` in
 * `Dealer_Onboarding_Backend/src/common/config/constants.ts`.
 *
 * Controllers normalize `req.body.action` by lowercasing and stripping non-alphanumerics,
 * then compare to these values (e.g. `sendBack` → `sendback`).
 */

export const OFFBOARDING_ACTIONS = {
  APPROVE: 'approve',
  SEND_BACK: 'sendBack',
  REVOKE: 'revoke',
  REJECT: 'reject',
  WITHDRAWAL: 'withdrawal',
  ASSIGN: 'assign',
  PUSH_FNF: 'pushfnf',
  RECONSIDER: 'reconsider',
  ISSUE_SCN: 'issueSCN',
  SCN_RESPONSE: 'scnResponse'
} as const;

/** Actions supported by POST `/constitutional-change/:id/action` */
export type ConstitutionalChangeAction =
  | typeof OFFBOARDING_ACTIONS.APPROVE
  | typeof OFFBOARDING_ACTIONS.SEND_BACK
  | typeof OFFBOARDING_ACTIONS.REJECT
  | typeof OFFBOARDING_ACTIONS.REVOKE;
