From 08df57c183bd9a823bff07f677c0ebb09602bc99 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Rafael=20L=C3=A1szl=C3=B3?= <rlacko99@gmail.com>
Date: Tue, 20 Oct 2020 18:57:25 +0200
Subject: [PATCH] add profile fields and enum validation

---
 src/models/ProfileSchema.ts | 11 +++++++++--
 1 file changed, 9 insertions(+), 2 deletions(-)

diff --git a/src/models/ProfileSchema.ts b/src/models/ProfileSchema.ts
index 9c59d86b..efb8c59f 100644
--- a/src/models/ProfileSchema.ts
+++ b/src/models/ProfileSchema.ts
@@ -14,7 +14,7 @@ export interface IProfile extends Document {
   studentCardNumber: string;
   roomNumber?: string;
   picture: string;
-  role: Role.Admin | Role.Staff | Role.User;
+  role: Role;
   email?: string;
   name?: string;
   warnings: [IWarnings] | [];
@@ -25,7 +25,14 @@ const ProfileSchema = new Schema({
   studentCardNumber: { type: String, required: true },
   roomNumber: { type: String },
   picture: { type: String },
-  role: { type: String, required: true },
+  role: {
+    type: String,
+    enum: Object.keys(Role).map((k) => Role[k as any]),
+    required: true,
+    default: Role.User,
+  },
+  email: { type: String, required: true },
+  name: { type: String, required: true },
   warnings: [WarningSchema],
 });
 
-- 
GitLab