import { Document } from 'mongoose'; import { IDefaultAttributes } from './commonInterface'; import { CAMPUS_CARNIVAL_STATUS, CERTIFICATE_FOR, COMPETITION_TYPE, COMPETITION_TYPE_CATEGORY } from '../constants/app'; export interface IRoundsInformationAttributes { id: string; startTime: Date; endTime: Date; mark: number; passingMark: number; status: CAMPUS_CARNIVAL_STATUS; } export interface IStandardsInformationAttributes { standardId: string; batchId: string[]; } export interface ICertificateInformationAttributes { certificateFor: CERTIFICATE_FOR; templateId: string; name: string; issueDate: Date; } export interface ICompetitionAttributes extends IDefaultAttributes, Document { id: string; name: string; description: string; type: COMPETITION_TYPE; subCategory: string; rules: string; maxGroupSize: number; venue: string; rounds: IRoundsInformationAttributes[]; startTime: Date; endTime: Date; status: CAMPUS_CARNIVAL_STATUS; judges: string[]; coordinator: string[]; standards: IStandardsInformationAttributes[]; academicCalendarId: string; instituteId: string; campusCarnivalId: string; isNeedApproval: boolean; categoryType: COMPETITION_TYPE_CATEGORY; certificate: ICertificateInformationAttributes[]; }