mirror of
https://github.com/n08i40k/schedule-parser-next.git
synced 2025-12-06 09:47:46 +03:00
1.1.1
Фикс невозможности парсинга субботы. class-validator.interceptor.ts - Добавлена возможность возвращать клиенту любой DTO из списка. Добавлен разный ответ клиенту в зависимости от его версии.
This commit is contained in:
@@ -31,6 +31,7 @@ export class ScheduleService {
|
||||
private cacheHash: string = "0000000000000000000000000000000000000000";
|
||||
|
||||
private lastChangedDays: Array<Array<number>> = [];
|
||||
private scheduleUpdatedAt: Date = new Date(0);
|
||||
|
||||
constructor(@Inject(CACHE_MANAGER) private readonly cacheManager: Cache) {}
|
||||
|
||||
@@ -39,6 +40,8 @@ export class ScheduleService {
|
||||
cacheHash: this.cacheHash,
|
||||
cacheUpdateRequired:
|
||||
(Date.now() - this.cacheUpdatedAt.valueOf()) / 1000 / 60 >= 5,
|
||||
lastCacheUpdate: this.cacheUpdatedAt.valueOf(),
|
||||
lastScheduleUpdate: this.scheduleUpdatedAt.valueOf(),
|
||||
};
|
||||
}
|
||||
|
||||
@@ -50,11 +53,21 @@ export class ScheduleService {
|
||||
) as Array<GroupDto>;
|
||||
|
||||
this.cacheUpdatedAt = new Date();
|
||||
|
||||
const oldHash = this.cacheHash;
|
||||
this.cacheHash = crypto
|
||||
.createHash("sha1")
|
||||
.update(schedule.etag)
|
||||
.update(
|
||||
JSON.stringify(schedule.groups, null, 0) + schedule.etag,
|
||||
)
|
||||
.digest("hex");
|
||||
|
||||
if (
|
||||
this.scheduleUpdatedAt.valueOf() === 0 ||
|
||||
this.cacheHash !== oldHash
|
||||
)
|
||||
this.scheduleUpdatedAt = new Date();
|
||||
|
||||
return schedule;
|
||||
});
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user