From 1984dd9de295d9aa6e92ecc821c03068dab682bd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Rafael=20L=C3=A1szl=C3=B3?= <rlacko99@gmail.com> Date: Sun, 24 Jan 2021 21:19:59 +0100 Subject: [PATCH] update types --- src/types/News.ts | 7 +++++++ src/types/Profile.ts | 34 ++++++++++++++++++++++++++++++++++ src/types/Term.ts | 37 +++++++++++++++++++++++++++++++++++++ src/types/types.ts | 31 ------------------------------- 4 files changed, 78 insertions(+), 31 deletions(-) create mode 100644 src/types/News.ts create mode 100644 src/types/Profile.ts create mode 100644 src/types/Term.ts delete mode 100644 src/types/types.ts diff --git a/src/types/News.ts b/src/types/News.ts new file mode 100644 index 0000000..58b6d12 --- /dev/null +++ b/src/types/News.ts @@ -0,0 +1,7 @@ +export interface INews { + title: string; + text: string; + publishedAt: Date; + publishedBy?: string; + updatedBy?: string; +} diff --git a/src/types/Profile.ts b/src/types/Profile.ts new file mode 100644 index 0000000..b6d94cb --- /dev/null +++ b/src/types/Profile.ts @@ -0,0 +1,34 @@ +export enum Role { + Admin = 'ADMIN', + User = 'USER', // default +} + +export interface INotice { + _id: string; + text: string; + redirect?: string; + isSeen: boolean; +} + +export interface IWarning { + _id: string; + text: string; + date?: Date; + givenBy?: string; +} + +export interface IProfile { + _id: string; + externalId?: string; + studentCardNumber: string; + roomNumber: Number; + newPicture?: string; + acceptedPicture?: string; + role: Role; + email: string; + name: string; + isStaffMember?: boolean; + staffMemberText?: string; + warnings?: IWarning[]; + notices?: INotice[]; +} diff --git a/src/types/Term.ts b/src/types/Term.ts new file mode 100644 index 0000000..0f40552 --- /dev/null +++ b/src/types/Term.ts @@ -0,0 +1,37 @@ +export enum MemberState { + Accepted = 'ACCEPTED', + Applied = 'APPLIED', // default + Rejected = 'REJECTED', +} + +export enum CardState { + Created = 'CREATED', // default + Printed = 'PRINTED', + Given = 'GIVEN', +} + +// When Term members listed +export interface IUserAsMember { + _id: string; + name: string; + warnings: number; +} + +export interface IMember { + _id: string; + user: IUserAsMember | string; // ... | Mongoose ID + memberState: MemberState; + cardState: CardState; + cardNumber: number; + cardReceiveDate?: Date; +} + +export interface ITerm { + backgroundFile?: string; + name: string; + createDate: Date; + startDate: Date; + endDate: Date; + deadline: Date; + members: IMember[]; +} diff --git a/src/types/types.ts b/src/types/types.ts deleted file mode 100644 index 23e1422..0000000 --- a/src/types/types.ts +++ /dev/null @@ -1,31 +0,0 @@ -export enum Role { - Admin, - Staff, - User, -} - -export interface Profile { - external_id: string; - studentCardNumber: string; - roomNumber?: string; - picture: string; - role: Role.Admin | Role.Staff | Role.User; - email?: string; - name?: string; - warnings: [Warnings] | []; -} - -export interface Warnings { - text: string; - date: Date; - given_by: { - _id: string; - name: string; - }; -} - -export interface News { - title: string; - text: string; - publishedAt: string; -} -- GitLab