From 5fd7ae44fd2735ba67c0b777ec20cbd6dd45bfc7 Mon Sep 17 00:00:00 2001 From: minie4 Date: Sun, 21 Aug 2022 00:50:06 +0200 Subject: [PATCH] =?UTF-8?q?=E2=9C=A8=20Add=20"trusted"=20and=20"source"=20?= =?UTF-8?q?to=20Timetable?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/api/index.js | 6 +++++- server/prisma/schema.prisma | 2 ++ src/store.js | 8 +++++--- src/views/TimetableView.vue | 25 +++++++++++++++++++++++-- 4 files changed, 35 insertions(+), 6 deletions(-) diff --git a/server/api/index.js b/server/api/index.js index db12d93..7724a1f 100644 --- a/server/api/index.js +++ b/server/api/index.js @@ -29,7 +29,11 @@ export async function getTimetable(req, res) { }); return; } - res.send(timetable.data); + res.send({ + trusted: timetable.trused, + source: timetable.source, + data: timetable.data, + }); } // Helper function for converting a date string diff --git a/server/prisma/schema.prisma b/server/prisma/schema.prisma index 01ae005..7822bbf 100644 --- a/server/prisma/schema.prisma +++ b/server/prisma/schema.prisma @@ -15,6 +15,8 @@ model Timetable { validFrom DateTime @default(now()) validUntil DateTime? data Json + source String? + trused Boolean @default(true) } model Substitution { diff --git a/src/store.js b/src/store.js index 9144e38..620e26e 100644 --- a/src/store.js +++ b/src/store.js @@ -22,7 +22,7 @@ watch(timetableGroups, (newValue) => { export const selectedDate = ref(new Date(new Date().setUTCHours(0, 0, 0, 0))); export const selectedDay = computed(() => selectedDate.value.getDay() - 1); -export const timetable = ref([]); +export const timetable = ref({ trusted: true }); export const substitutions = ref([]); export const history = ref([]); export const classList = ref([]); @@ -48,7 +48,8 @@ export const substitutionsForDate = computed(() => { }); export const parsedTimetable = computed(() => { - return timetable.value.map((day) => { + if (!timetable.value.data) return []; + return timetable.value.data.map((day) => { const newDay = []; for (const lesson of day) { var usedLesson = lesson; @@ -76,7 +77,8 @@ export const parsedTimetable = computed(() => { export const possibleTimetableGroups = computed(() => { const foundTimetableGroups = []; - for (const day of timetable.value) { + if (!timetable.value.data) return []; + for (const day of timetable.value.data) { for (const lesson of day) { if (Array.isArray(lesson)) { for (const group of lesson) { diff --git a/src/views/TimetableView.vue b/src/views/TimetableView.vue index 69afcdb..9b85599 100644 --- a/src/views/TimetableView.vue +++ b/src/views/TimetableView.vue @@ -1,5 +1,6 @@