fix: padStart in schedule

This commit is contained in:
Christian Landgren 2023-10-07 00:56:45 +02:00
parent ab9b3a5b42
commit 7dc5b80b65
2 changed files with 11 additions and 10 deletions

View File

@ -29,13 +29,13 @@ import { DateTime, FixedOffsetZone } from 'luxon'
import * as html from 'node-html-parser' import * as html from 'node-html-parser'
import { fakeFetcher } from './fake/fakeFetcher' import { fakeFetcher } from './fake/fakeFetcher'
import { checkStatus, DummyStatusChecker } from './loginStatus' import { checkStatus, DummyStatusChecker } from './loginStatus'
import { import {
extractMvghostRequestBody, extractMvghostRequestBody,
parseTimetableData, parseTimetableData,
parseScheduleEventData, parseScheduleEventData,
parseBreaksData, parseBreaksData,
parseNewsData, parseNewsData,
} from './parse/parsers' } from './parse/parsers'
import { import {
bankIdInitUrl, bankIdInitUrl,
bankIdCheckUrl, bankIdCheckUrl,
@ -210,7 +210,7 @@ export class ApiAdmentum extends EventEmitter implements Api {
const now = DateTime.local() const now = DateTime.local()
const [year, week] = now.toISOWeekDate().split('-') const [year, week] = now.toISOWeekDate().split('-')
const isoWeek = week.replace('W', '') const isoWeek = week.replace('W', '')
const fetchUrl = apiUrls.overview( const fetchUrl = apiUrls.overview(
'get-week-data', 'get-week-data',
year.toString(), year.toString(),
@ -223,15 +223,15 @@ export class ApiAdmentum extends EventEmitter implements Api {
}, },
}) })
const calendarItems: CalendarItem[] = [] const calendarItems: CalendarItem[] = []
const overviewJson = await overviewResponse.json() const overviewJson = await overviewResponse.json()
const scheduleEventJson = (await overviewJson)?.data?.schedule_events // .breaks: [] | .assignments: [] const scheduleEventJson = (await overviewJson)?.data?.schedule_events // .breaks: [] | .assignments: []
const schedule_events = parseScheduleEventData(scheduleEventJson) const schedule_events = parseScheduleEventData(scheduleEventJson)
calendarItems.push(...schedule_events) calendarItems.push(...schedule_events)
const breaks = (await overviewJson)?.data?.breaks const breaks = (await overviewJson)?.data?.breaks
const break_events = parseBreaksData(breaks); const break_events = parseBreaksData(breaks)
calendarItems.push(...break_events) calendarItems.push(...break_events)
return calendarItems return calendarItems
@ -408,6 +408,7 @@ export class ApiAdmentum extends EventEmitter implements Api {
console.log('fetching timetable', fetchUrl) console.log('fetching timetable', fetchUrl)
const calendarResponse = await this.fetch('get-calendar', fetchUrl) const calendarResponse = await this.fetch('get-calendar', fetchUrl)
const calendarResponseJson = await calendarResponse.json() const calendarResponseJson = await calendarResponse.json()
console.log('calendar json', calendarResponseJson)
const timetableEntries = parseTimetableData(calendarResponseJson) const timetableEntries = parseTimetableData(calendarResponseJson)
return timetableEntries return timetableEntries
} }

View File

@ -251,8 +251,8 @@ export const parseTimetableData = (jsonData: any): any => {
id: lesson.id, id: lesson.id,
teacher: lesson.teachers, teacher: lesson.teachers,
location: lesson.room || lesson.title || lesson.subject_name, location: lesson.room || lesson.title || lesson.subject_name,
timeStart: lesson.time.substring(0, 5), timeStart: lesson.time.split(' - ')[0].padStart(5, '0'), // 8:00 - 9:30
timeEnd: lesson.time.substring(9), timeEnd: lesson.time.split(' - ')[1].padStart(5, '0'),
dayOfWeek, dayOfWeek,
blockName: lesson.title || lesson.subject_name, blockName: lesson.title || lesson.subject_name,
} as TimetableEntry) } as TimetableEntry)