import { ApiProperty } from '@nestjs/swagger'; import { IsInt, IsPositive } from 'class-validator'; import { AssetResponseDto } from 'src/dtos/asset-response.dto'; import { ValidateDate, ValidateUUID } from 'src/validation'; export class AssetFullSyncDto { @ValidateUUID({ optional: true }) lastId?: string; @ValidateDate() updatedUntil!: Date; @IsInt() @IsPositive() @ApiProperty({ type: 'integer' }) limit!: number; @ValidateUUID({ optional: true }) userId?: string; } export class AssetDeltaSyncDto { @ValidateDate() updatedAfter!: Date; @ValidateUUID({ each: true }) userIds!: string[]; } export class AssetDeltaSyncResponseDto { needsFullSync!: boolean; upserted!: AssetResponseDto[]; deleted!: string[]; }