refactoring courseschedule storage

This commit is contained in:
Sriram Hariharan
2023-09-17 19:29:00 -05:00
parent 9658697d96
commit aea9b16f98
17 changed files with 83 additions and 59 deletions

View File

@@ -6,10 +6,10 @@ import removeCourse from '../lib/removeCourse';
const userScheduleHandler: MessageHandler<UserScheduleMessages> = {
addCourse({ data, sendResponse }) {
addCourse(data.scheduleId, new Course(data.course)).then(sendResponse);
addCourse(data.scheduleName, new Course(data.course)).then(sendResponse);
},
removeCourse({ data, sendResponse }) {
removeCourse(data.scheduleId, new Course(data.course)).then(sendResponse);
removeCourse(data.scheduleName, new Course(data.course)).then(sendResponse);
},
};

View File

@@ -1,12 +1,12 @@
import { userScheduleStore } from 'src/shared/storage/UserScheduleStore';
import { UserScheduleStore } from 'src/shared/storage/UserScheduleStore';
import { Course } from 'src/shared/types/Course';
/**
*
*/
export default async function addCourse(scheduleId: string, course: Course): Promise<void> {
const schedules = await userScheduleStore.get('schedules');
const activeSchedule = schedules.find(s => s.id === scheduleId);
export default async function addCourse(scheduleName: string, course: Course): Promise<void> {
const schedules = await UserScheduleStore.get('schedules');
const activeSchedule = schedules.find(s => s.name === scheduleName);
if (!activeSchedule) {
throw new Error('Schedule not found');
}
@@ -14,5 +14,5 @@ export default async function addCourse(scheduleId: string, course: Course): Pro
activeSchedule.creditHours += course.creditHours;
activeSchedule.courses.push(course);
await userScheduleStore.set('schedules', schedules);
await UserScheduleStore.set('schedules', schedules);
}

View File

@@ -1,12 +1,12 @@
import { userScheduleStore } from 'src/shared/storage/UserScheduleStore';
import { UserScheduleStore } from 'src/shared/storage/UserScheduleStore';
import { Course } from 'src/shared/types/Course';
/**
*
*/
export default async function removeCourse(scheduleId: string, course: Course): Promise<void> {
const schedules = await userScheduleStore.get('schedules');
const activeSchedule = schedules.find(s => s.id === scheduleId);
export default async function removeCourse(scheduleName: string, course: Course): Promise<void> {
const schedules = await UserScheduleStore.get('schedules');
const activeSchedule = schedules.find(s => s.name === scheduleName);
if (!activeSchedule) {
throw new Error('Schedule not found');
}
@@ -14,5 +14,5 @@ export default async function removeCourse(scheduleId: string, course: Course):
activeSchedule.creditHours -= course.creditHours;
activeSchedule.courses = activeSchedule.courses.filter(c => c.uniqueId !== course.uniqueId);
await userScheduleStore.set('schedules', schedules);
await UserScheduleStore.set('schedules', schedules);
}