1
0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-03-30 12:49:38 +02:00

fix: sync set ack validation ()

This commit is contained in:
Zack Pollard 2025-02-26 14:35:51 +00:00 committed by GitHub
parent 4ef7eb56a3
commit 5053130e35
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -1,4 +1,4 @@
import { ForbiddenException, Injectable } from '@nestjs/common';
import { BadRequestException, ForbiddenException, Injectable } from '@nestjs/common';
import { Insertable } from 'kysely';
import { DateTime } from 'luxon';
import { Writable } from 'node:stream';
@ -43,8 +43,6 @@ export class SyncService extends BaseService {
}
async setAcks(auth: AuthDto, dto: SyncAckSetDto) {
// TODO ack validation
const sessionId = auth.session?.id;
if (!sessionId) {
return throwSessionRequired();
@ -53,6 +51,10 @@ export class SyncService extends BaseService {
const checkpoints: Insertable<SessionSyncCheckpoints>[] = [];
for (const ack of dto.acks) {
const { type } = fromAck(ack);
// TODO proper ack validation via class validator
if (!Object.values(SyncEntityType).includes(type)) {
throw new BadRequestException(`Invalid ack type: ${type}`);
}
checkpoints.push({ sessionId, type, ack });
}