import { RegistrationStatusEnum } from 'src/common/enum/registration-status.enum';
import { PaymentStatusEnum } from 'src/common/enum/payment-status.enum';

export const QR_EXCLUDED_STATUSES = [
  RegistrationStatusEnum.REJECTED,
  RegistrationStatusEnum.SAVE_AS_DRAFT,
] as const;

export const QR_PAID_STATUSES = [
  PaymentStatusEnum.ONLINE_COMPLETED,
  PaymentStatusEnum.OFFLINE_COMPLETED,
] as const;

// Fields selected from ProgramRegistration join in findList
export const REG_SELECT_FIELDS = [
  'reg.id',
  'reg.fullName',
  'reg.emailAddress',
  'reg.mobileNumber',
  'reg.gender',
  'reg.dob',
  'reg.city',
  'reg.countryName',
  'reg.registrationStatus',
  'reg.registrationDate',
  'reg.profileUrl',
] as const;

// Fields selected from User (rmContactUser) join
export const RM_USER_SELECT_FIELDS = [
  'rmContactUser.id',
  'rmContactUser.orgUsrName',
] as const;

// Fields selected from Program join
export const PROG_SELECT_FIELDS = [
  'prog.id',
  'prog.name',
] as const;

// Fields selected from ProgramSession join
export const SESSION_SELECT_FIELDS = [
  's.id',
  's.name',
  's.startsAt',
  's.endsAt',
] as const;

// Fields selected from checkedInByUser join
export const CHECKED_IN_BY_USER_SELECT_FIELDS = [
  'checkedInByUser.id',
  'checkedInByUser.orgUsrName',
  'checkedInByUser.fullName',
  'checkedInByUser.firstName',
  'checkedInByUser.lastName',
] as const;

// Fields selected from user join in findRegistrationsWithoutQr
export const REG_USER_SELECT_FIELDS = [
  'user.id',
  'user.fullName',
] as const;
