Skip to content

Commit c6e0468

Browse files
authored
Bug/803 perfomance lesson teachers except lesson absences (#805)
* only get absences CreatedOn after today-60 days * fix tests * fix subday and formatISOLocalDate #803
1 parent f899f38 commit c6e0468

File tree

2 files changed

+7
-3
lines changed

2 files changed

+7
-3
lines changed

src/app/presence-control/services/presence-control-state.service.spec.ts

+1-1
Original file line numberDiff line numberDiff line change
@@ -342,7 +342,7 @@ describe("PresenceControlStateService", () => {
342342
personId: number,
343343
students?: number[],
344344
): void {
345-
let url = `https://eventotest.api/LessonTeachers/except/${personId}/LessonAbsences?expand=LessonRef`;
345+
let url = `https://eventotest.api/LessonTeachers/except/${personId}/LessonAbsences?expand=LessonRef&filter.CreatedOn=>1999-11-24`;
346346
if (students && students.length > 0) {
347347
url = url.concat("&filter.StudentRef=;", students.join(";"));
348348
}

src/app/shared/services/lesson-teachers-rest.service.ts

+6-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
11
import { HttpClient, HttpParams } from "@angular/common/http";
22
import { Injectable, inject } from "@angular/core";
3+
import { subDays } from "date-fns/subDays";
34
import { Observable } from "rxjs";
45
import { switchMap } from "rxjs/operators";
56
import { SETTINGS, Settings } from "../../settings";
67
import { LessonAbsence } from "../models/lesson-absence.model";
8+
import { formatISOLocalDate } from "../utils/date";
79
import { decodeArray } from "../utils/decode";
810
import { RestService } from "./rest.service";
911

@@ -21,15 +23,17 @@ export class LessonTeachersRestService extends RestService<
2123
}
2224

2325
/**
24-
* Returns all lesson absences for the current lesson and the specified students
26+
* Returns all lesson absences CreatedOn after today-60 days and the specified students
2527
* for all teachers except the specified teacher.
2628
*/
2729
loadOtherTeachersLessonAbsences(
2830
personId: number,
2931
students: number[],
3032
params?: HttpParams | Dict<string>,
3133
): Observable<ReadonlyArray<LessonAbsence>> {
32-
let url = `${this.baseUrl}/except/${personId}/LessonAbsences?expand=LessonRef`;
34+
const fromDate = subDays(new Date(), 60);
35+
36+
let url = `${this.baseUrl}/except/${personId}/LessonAbsences?expand=LessonRef&filter.CreatedOn=>${formatISOLocalDate(fromDate)}`;
3337
if (students && students.length > 0) {
3438
url = url.concat("&filter.StudentRef=;" + students.join(";"));
3539
}

0 commit comments

Comments
 (0)