From f22836e1bf4480b4cfe32598cc31f45b133c2ac4 Mon Sep 17 00:00:00 2001 From: Timon Date: Tue, 23 Jun 2026 12:42:42 +0200 Subject: [PATCH] refactor(server): describe check upload id as string (#29274) --- .../openapi/lib/model/asset_bulk_upload_check_result.dart | 2 +- open-api/immich-openapi-specs.json | 6 +++--- packages/sdk/src/fetch-client.ts | 2 +- server/src/dtos/asset-media-response.dto.ts | 4 ++-- 4 files changed, 7 insertions(+), 7 deletions(-) diff --git a/mobile/openapi/lib/model/asset_bulk_upload_check_result.dart b/mobile/openapi/lib/model/asset_bulk_upload_check_result.dart index ed7508b18e..572c99c11e 100644 --- a/mobile/openapi/lib/model/asset_bulk_upload_check_result.dart +++ b/mobile/openapi/lib/model/asset_bulk_upload_check_result.dart @@ -31,7 +31,7 @@ class AssetBulkUploadCheckResult { /// Optional assetId; - /// Asset ID + /// Client-side identifier echoed from the request to match results to inputs String id; /// Whether existing asset is trashed diff --git a/open-api/immich-openapi-specs.json b/open-api/immich-openapi-specs.json index 174409bb15..f3b4e99cd9 100644 --- a/open-api/immich-openapi-specs.json +++ b/open-api/immich-openapi-specs.json @@ -17012,12 +17012,12 @@ }, "assetId": { "description": "Existing asset ID if duplicate", + "format": "uuid", + "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", "type": "string" }, "id": { - "description": "Asset ID", - "format": "uuid", - "pattern": "^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-4[0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12})$", + "description": "Client-side identifier echoed from the request to match results to inputs", "type": "string" }, "isTrashed": { diff --git a/packages/sdk/src/fetch-client.ts b/packages/sdk/src/fetch-client.ts index 6506cab8a3..c673cb2369 100644 --- a/packages/sdk/src/fetch-client.ts +++ b/packages/sdk/src/fetch-client.ts @@ -707,7 +707,7 @@ export type AssetBulkUploadCheckResult = { action: AssetUploadAction; /** Existing asset ID if duplicate */ assetId?: string; - /** Asset ID */ + /** Client-side identifier echoed from the request to match results to inputs */ id: string; /** Whether existing asset is trashed */ isTrashed?: boolean; diff --git a/server/src/dtos/asset-media-response.dto.ts b/server/src/dtos/asset-media-response.dto.ts index b0c50794b9..a35d75fb5f 100644 --- a/server/src/dtos/asset-media-response.dto.ts +++ b/server/src/dtos/asset-media-response.dto.ts @@ -34,10 +34,10 @@ const AssetRejectReasonSchema = z const AssetBulkUploadCheckResultSchema = z .object({ - id: z.uuidv4().describe('Asset ID'), + id: z.string().describe('Client-side identifier echoed from the request to match results to inputs'), action: AssetUploadActionSchema, reason: AssetRejectReasonSchema.optional(), - assetId: z.string().optional().describe('Existing asset ID if duplicate'), + assetId: z.uuidv4().optional().describe('Existing asset ID if duplicate'), isTrashed: z.boolean().optional().describe('Whether existing asset is trashed'), }) .meta({ id: 'AssetBulkUploadCheckResult' });