From 254c2690e52aabaa46f74c4ffda1ca370c262cc9 Mon Sep 17 00:00:00 2001 From: Hykilpikonna Date: Mon, 25 May 2020 21:21:58 -0400 Subject: [PATCH] [+] Implement new user model --- src/logic/login-user.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/logic/login-user.ts b/src/logic/login-user.ts index b501f6a..9ff183c 100644 --- a/src/logic/login-user.ts +++ b/src/logic/login-user.ts @@ -1,4 +1,5 @@ import {GPAUtils} from '@/logic/utils/gpa-utils'; +import Course from '@/logic/course'; const md5 = require('md5'); @@ -11,20 +12,20 @@ export default class LoginUser firstLogin: Date firstName: string lastName: string - nickname: string graduationYear: number - groups: string emails: string[] classes: string[] - birthday: string avatarUrl: string + token: string + courses: Course[] gradeLevel: number gradeLevelName: string - constructor(json: any) + constructor(jsonData: any) { + let json = jsonData.user this.id = json.id; this.schoolPersonPk = json.schoolPersonPk; this.username = json.username; @@ -32,15 +33,16 @@ export default class LoginUser this.firstLogin = new Date(json.firstLogin); this.firstName = json.firstName; this.lastName = json.lastName; - this.nickname = json.nickname; this.graduationYear = +json.graduationYear; - this.groups = json.groups; this.emails = json.emails.split('|').map((e: any) => e.toLowerCase().trim()); this.classes = json.classes.split('|'); - this.birthday = json.birthday; this.avatarUrl = json.avatarUrl; - this.token = json.token; + // Extracted in newer versions + this.token = jsonData.token; + this.courses = jsonData.courses.map((courseJson: any) => new Course(courseJson)); + + // Calculated grade level this.gradeLevel = GPAUtils.getGradeLevel(this.graduationYear); this.gradeLevelName = GPAUtils.gradeLevelName(this.gradeLevel);