diff --git a/models/quiz.ts b/models/quiz.ts deleted file mode 100644 index 2885188..0000000 --- a/models/quiz.ts +++ /dev/null @@ -1,21 +0,0 @@ -export type Question = { - type: 'INPUT' | 'MCQ', - text: string, - choices?: Array, - correctAnswer?: string, - durationInSeconds: number, - marks: number, -} - -export type Quiz = { - questions: Array, - minScoreToPass: number, - totalDuration?: number, // Military time 060 is 6 AM, 1300 is 1 PM -} - -export type Assignment = { - heading: string, - description: string, //Rich text - deadlineDate: string, - minimumCriteria: string, -} \ No newline at end of file diff --git a/models/user.ts b/models/user.ts index 8d0e7f5..33d1b02 100644 --- a/models/user.ts +++ b/models/user.ts @@ -1,32 +1,50 @@ -export type skillInformation = { +export type IWord = { name: string, - category: 'FRONT_END' | 'BACKEND' | 'DATABASE' | 'BENIFICIAL' -}; + pronounciation: { + text: string, + audio: string, // URL for the audio file + }, + similarWords: Array, + gramaticalDetails: Array<{ + type: 'NOUN' | 'PRONOUN' | 'ADJECTIVE' | 'VERB' | 'ADVERB' | 'PREPOSITION' | 'CONJUNCTION' | 'INTERJECTION', + description: string, + examples: Array, + }> +} + +export type IShelf = { + name: string, + description: string, + viewType: 'PUBLIC' | 'PRIVATE' | 'FRIENDS' | 'FOLLOWERS', + isArchived: boolean, + addedWords: Array<{ + word: IWord, + notes: Array, + isFavourite: boolean, + nextRevisionDateTime: Date, + revisionHistory : Array<{ + day: Date, + wasRecallSuccessful: boolean, + }> + }> +} + +export type ICategory = { + name: string, + icon: string, + shelves: Array, + isArchived: boolean, +} export type IUser = { + // For Auth purposes _id: string, name: string, email: string, password: string, isVerified: boolean, otp: number, - userType: 'ADMIN' | 'MODERATOR' | 'APPLICANT', - skillSet?: Array, - progress?: Array<{ - roundType: 'PRELIMINARY' | 'TECHNICAL_INTERVIEW' | 'ASSIGNMENT' | 'FINAL_INTERVIEW', - score: number, - status: undefined | 'PASS' | 'FAIL' | 'PAUSED' | 'IN_PROGRESS' | 'REVIEW', - answers?: Array, - preferredInterviewSlot?: Date, - }>, - userDocuments?: Array<{ - type: 'ID_PROOF' | 'CERTIFICATES' | 'EXPERIENCE_LETTER' | 'PAYSLIPS', - status: undefined | 'UPLOADED' | 'VERIFYING' | 'VERIFIED' | 'FAILED', - comments?: Array<{ - userName: string, - comment: string, - timeStamps: Date, - }>, - document: File, - }>, + + // Other records + categories: Array } \ No newline at end of file