/**
 * Purpose of a manually-triggered online-session communication.
 * Drives which template access keys and channels are used, and is stored on
 * hdb_session_communication_track to count how many times each communication
 * type was sent to a registration.
 */
export enum SessionCommunicationPurposeEnum {
  WELCOME = 'WELCOME',
  ABSENT = 'ABSENT',
  INVITE = 'INVITE',
  VALUE_CARD = 'VALUE_CARD',
  PROGRAM_COMPLETION = 'PROGRAM_COMPLETION',
  // Common invite — program-level notification of the shared ("common") Zoom link to the
  // staff who were issued a generated general link (zoom_generated_registrant_link, ROLE).
  COMMON_INVITE = 'COMMON_INVITE',
  // System links — program-level notification to ADMIN users only, listing the generated
  // system/placeholder Zoom links (zoom_generated_registrant_link, PLACEHOLDER) as a table.
  SYSTEM_LINKS = 'SYSTEM_LINKS',
  // General-link communications — sent to everyone who joined via a generated general Zoom
  // link (zoom_generated_registrant_link, any source type), who carry no program registration
  // of their own and so have no attendance/eligibility data to gate on. Mirrors WELCOME/
  // INVITE/ABSENT/PROGRAM_COMPLETION in intent, but with their own recipient query + templates.
  GENERAL_LINK_WELCOME = 'GENERAL_LINK_WELCOME',
  GENERAL_LINK_INVITE = 'GENERAL_LINK_INVITE',
  GENERAL_LINK_ABSENT = 'GENERAL_LINK_ABSENT',
  GENERAL_LINK_PROGRAM_COMPLETION = 'GENERAL_LINK_PROGRAM_COMPLETION',
  // General-link Value Card ("pre-test" value card). Session-scoped and email-only, like the
  // seeker VALUE_CARD it reuses the template of, and likewise sent only to those who ATTENDED the
  // session. Its description + files are stored separately on the session
  // (pretest_value_card_details) — the two audiences receive different material for the same session.
  GENERAL_LINK_VALUE_CARD = 'GENERAL_LINK_VALUE_CARD',
}
