module NotificationTypes

  # friend notifications
  FRIEND_UPDATE = "FRIEND_UPDATE"
  FRIEND_REQUEST = "FRIEND_REQUEST"
  FRIEND_REQUEST_ACCEPTED = "FRIEND_REQUEST_ACCEPTED"
  FRIEND_SESSION_JOIN = "FRIEND_SESSION_JOIN"
  NEW_USER_FOLLOWER = "NEW_USER_FOLLOWER"
  NEW_BAND_FOLLOWER = "NEW_BAND_FOLLOWER"

  # session notifications
  SESSION_INVITATION = "SESSION_INVITATION"
  SESSION_ENDED = "SESSION_ENDED" # used to remove session-related notifications from sidebar
  JOIN_REQUEST = "JOIN_REQUEST"
  JOIN_REQUEST_APPROVED = "JOIN_REQUEST_APPROVED"
  JOIN_REQUEST_REJECTED = "JOIN_REQUEST_REJECTED"
  SESSION_JOIN = "SESSION_JOIN"
  SESSION_DEPART = "SESSION_DEPART"
  MUSICIAN_SESSION_JOIN = "MUSICIAN_SESSION_JOIN"

  # scheduled sessions
  SCHEDULED_SESSION_INVITATION = "SCHEDULED_SESSION_INVITATION"
  SCHEDULED_SESSION_RSVP = "SCHEDULED_SESSION_RSVP"
  SCHEDULED_SESSION_RSVP_APPROVED = "SCHEDULED_SESSION_RSVP_APPROVED"
  SCHEDULED_SESSION_RSVP_CANCELLED = "SCHEDULED_SESSION_RSVP_CANCELLED"
  SCHEDULED_SESSION_RSVP_CANCELLED_ORG = "SCHEDULED_SESSION_RSVP_CANCELLED_ORG"
  SCHEDULED_SESSION_CANCELLED = "SCHEDULED_SESSION_CANCELLED"
  SCHEDULED_SESSION_RESCHEDULED = "SCHEDULED_SESSION_RESCHEDULED"
  SCHEDULED_SESSION_REMINDER_DAY = "SCHEDULED_SESSION_REMINDER_DAY"
  SCHEDULED_SESSION_REMINDER_UPCOMING = "SCHEDULED_SESSION_REMINDER_UPCOMING"
  SCHEDULED_SESSION_REMINDER_IMMINENT = "SCHEDULED_SESSION_REMINDER_IMMINENT"
  SCHEDULED_SESSION_COMMENT = "SCHEDULED_SESSION_COMMENT"

  # recording notifications
  MUSICIAN_RECORDING_SAVED = "MUSICIAN_RECORDING_SAVED"
  BAND_RECORDING_SAVED = "BAND_RECORDING_SAVED"
  RECORDING_STARTED = "RECORDING_STARTED"
  RECORDING_ENDED = "RECORDING_ENDED"
  RECORDING_MASTER_MIX_COMPLETE = "RECORDING_MASTER_MIX_COMPLETE"
  RECORDING_STREAM_MIX_COMPLETE = "RECORDING_STREAM_MIX_COMPLETE"

  # band notifications
  BAND_INVITATION = "BAND_INVITATION"
  BAND_INVITATION_ACCEPTED = "BAND_INVITATION_ACCEPTED"
  BAND_SESSION_JOIN = "BAND_SESSION_JOIN" # cleared using SESSION_ENDED notification

  # general purpose text message
  TEXT_MESSAGE = "TEXT_MESSAGE"

  # Jam Tracks:
  JAM_TRACK_SIGN_COMPLETE = "JAM_TRACK_SIGN_COMPLETE"
  JAM_TRACK_SIGN_FAILED = "JAM_TRACK_SIGN_FAILED"

  MIXDOWN_SIGN_COMPLETE = "MIXDOWN_SIGN_COMPLETE"
  MIXDOWN_SIGN_FAILED   = "MIXDOWN_SIGN_FAILED"

  # jamclass
  LESSON_MESSAGE = "LESSON_MESSAGE"
  SCHEDULED_JAMCLASS_INVITATION = "SCHEDULED_JAMCLASS_INVITATION"
end