33 DATA_GRADE ,
44 DATA_LUCKY_NUMBER ,
55 DATA_TIMETABLE ,
6+ DATA_TIMETABLE_CHANGES ,
67 DEVICE_REGISTER ,
78 STUDENT_LIST ,
89} from "./endpoints" ;
@@ -22,6 +23,8 @@ import { HebeLuckyNumber } from "./hebe_interfaces/luckyNumber";
2223import { LuckyNumber } from "./interfaces/luckyNumber" ;
2324import { HebeGrade } from "./hebe_interfaces/grade" ;
2425import { Grade } from "./interfaces/grade" ;
26+ import { ChangedLesson } from "./interfaces/changedLesson" ;
27+ import { HebeChangedLesson } from "./hebe_interfaces/changedLesson" ;
2528
2629export * from "./keystore" ;
2730
@@ -192,7 +195,13 @@ export class VulcanHebe {
192195 }
193196 : undefined ,
194197 event : item . Event ,
195- change : item . Change ,
198+ change : item . Change
199+ ? {
200+ id : item . Change ?. Id ,
201+ type : item . Change ?. Type ,
202+ separation : item . Change ?. Separation ,
203+ }
204+ : undefined ,
196205 class : item . Clazz
197206 ? {
198207 id : item . Clazz . Id ,
@@ -216,6 +225,111 @@ export class VulcanHebe {
216225 } ) ;
217226 return lessonsToReturn ;
218227 }
228+
229+ public async getChangedLessons ( dateFrom ?: Date , dateTo ?: Date ) {
230+ const dFrom = dateFrom ? dateFrom : new Date ( ) ;
231+ const dTo = dateTo ? dateTo : new Date ( ) ;
232+ const data : HebeLesson [ ] = await this . api . helper . getList (
233+ DATA_TIMETABLE_CHANGES ,
234+ false ,
235+ undefined ,
236+ dFrom ,
237+ dTo ,
238+ FilterType . BY_PUPIL
239+ ) ;
240+ const lessonsToReturn : ChangedLesson [ ] = data . map (
241+ ( item : HebeChangedLesson ) : ChangedLesson => {
242+ return {
243+ id : item . Id ,
244+ unitId : item . UnitId ,
245+ scheduleId : item . ScheduleId ,
246+ lessonDate : item . LessonDate
247+ ? {
248+ timestamp : item . LessonDate . Timestamp ,
249+ time : item . LessonDate . Time ,
250+ date : item . LessonDate . Date ,
251+ }
252+ : undefined ,
253+ note : item . Note ,
254+ reason : item . Reason ,
255+ time : item . TimeSlot
256+ ? {
257+ id : item . TimeSlot . Id ,
258+ start : item . TimeSlot . Start ,
259+ end : item . TimeSlot . End ,
260+ display : item . TimeSlot . Display ,
261+ position : item . TimeSlot . Position ,
262+ }
263+ : undefined ,
264+ room : item . Room
265+ ? {
266+ id : item . Room . Id ,
267+ code : item . Room . Code ,
268+ }
269+ : undefined ,
270+ teacher : item . TeacherPrimary
271+ ? {
272+ id : item . TeacherPrimary . Id ,
273+ name : item . TeacherPrimary . Name ,
274+ surname : item . TeacherPrimary . Surname ,
275+ displayName : item . TeacherPrimary . DisplayName ,
276+ }
277+ : undefined ,
278+ secondTeacher : item . TeacherSecondary
279+ ? {
280+ id : item . TeacherSecondary . Id ,
281+ name : item . TeacherSecondary . Name ,
282+ surname : item . TeacherSecondary . Surname ,
283+ displayName : item . TeacherSecondary . DisplayName ,
284+ }
285+ : undefined ,
286+ subject : item . Subject
287+ ? {
288+ id : item . Subject . Id ,
289+ key : item . Subject . Key ,
290+ name : item . Subject . Name ,
291+ position : item . Subject . Position ,
292+ code : item . Subject . Kod ,
293+ }
294+ : undefined ,
295+ event : item . Event ,
296+ change : item . Change
297+ ? {
298+ id : item . Change . Id ,
299+ separation : item . Change . Separation ,
300+ type : item . Change . Type ,
301+ }
302+ : undefined ,
303+ changeDate : item . ChangeDate
304+ ? {
305+ timestamp : item . ChangeDate . Timestamp ,
306+ date : item . ChangeDate . Date ,
307+ time : item . ChangeDate . Time ,
308+ }
309+ : undefined ,
310+ class : item . Clazz
311+ ? {
312+ id : item . Clazz . Id ,
313+ key : item . Clazz . Key ,
314+ displayName : item . Clazz . DisplayName ,
315+ symbol : item . Clazz . Symbol ,
316+ }
317+ : undefined ,
318+ distribution : item . Distribution
319+ ? {
320+ id : item . Distribution . Id ,
321+ key : item . Distribution . Key ,
322+ name : item . Distribution . Name ,
323+ partType : item . Distribution . PartType ,
324+ shortcut : item . Distribution . Shortcut ,
325+ }
326+ : undefined ,
327+ } ;
328+ }
329+ ) ;
330+ return lessonsToReturn ;
331+ }
332+
219333 public async getLuckyNumber ( ) {
220334 const data : HebeLuckyNumber = await this . api . helper . getData (
221335 DATA_LUCKY_NUMBER ,
0 commit comments