|
|
@@ -1,50 +0,0 @@ |
|
|
|
export type IWord = { |
|
|
|
name: string, |
|
|
|
pronounciation: { |
|
|
|
text: string, |
|
|
|
audio: string, // URL for the audio file |
|
|
|
}, |
|
|
|
similarWords: Array<IWord>, |
|
|
|
gramaticalDetails: Array<{ |
|
|
|
type: 'NOUN' | 'PRONOUN' | 'ADJECTIVE' | 'VERB' | 'ADVERB' | 'PREPOSITION' | 'CONJUNCTION' | 'INTERJECTION', |
|
|
|
description: string, |
|
|
|
examples: Array<string>, |
|
|
|
}> |
|
|
|
} |
|
|
|
|
|
|
|
export type IShelf = { |
|
|
|
name: string, |
|
|
|
description: string, |
|
|
|
viewType: 'PUBLIC' | 'PRIVATE' | 'FRIENDS' | 'FOLLOWERS', |
|
|
|
isArchived: boolean, |
|
|
|
addedWords: Array<{ |
|
|
|
word: IWord, |
|
|
|
notes: Array<string>, |
|
|
|
isFavourite: boolean, |
|
|
|
nextRevisionDateTime: Date, |
|
|
|
revisionHistory : Array<{ |
|
|
|
day: Date, |
|
|
|
wasRecallSuccessful: boolean, |
|
|
|
}> |
|
|
|
}> |
|
|
|
} |
|
|
|
|
|
|
|
export type ICategory = { |
|
|
|
name: string, |
|
|
|
icon: string, |
|
|
|
shelves: Array<IShelf>, |
|
|
|
isArchived: boolean, |
|
|
|
} |
|
|
|
|
|
|
|
export type IUser = { |
|
|
|
// For Auth purposes |
|
|
|
_id: string, |
|
|
|
name: string, |
|
|
|
email: string, |
|
|
|
password: string, |
|
|
|
isVerified: boolean, |
|
|
|
otp: number, |
|
|
|
|
|
|
|
// Other records |
|
|
|
categories: Array<ICategory> |
|
|
|
} |