Merge branch 'main' into feat/mobile-ocr

This commit is contained in:
Yaros
2026-04-13 18:07:43 +02:00
committed by GitHub
417 changed files with 13493 additions and 14010 deletions
+130 -7
View File
@@ -5285,6 +5285,65 @@
"x-immich-state": "Stable"
}
},
"/duplicates/resolve": {
"post": {
"description": "Resolve duplicate groups by synchronizing metadata across assets and deleting/trashing duplicates.",
"operationId": "resolveDuplicates",
"parameters": [],
"requestBody": {
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DuplicateResolveDto"
}
}
},
"required": true
},
"responses": {
"200": {
"content": {
"application/json": {
"schema": {
"items": {
"$ref": "#/components/schemas/BulkIdResponseDto"
},
"type": "array"
}
}
},
"description": ""
}
},
"security": [
{
"bearer": []
},
{
"cookie": []
},
{
"api_key": []
}
],
"summary": "Resolve duplicate groups",
"tags": [
"Duplicates"
],
"x-immich-history": [
{
"version": "v3.0.0",
"state": "Added"
},
{
"version": "v3.0.0",
"state": "Alpha"
}
],
"x-immich-permission": "duplicate.delete",
"x-immich-state": "Alpha"
}
},
"/duplicates/{id}": {
"delete": {
"description": "Delete a single duplicate asset specified by its ID.",
@@ -15166,7 +15225,7 @@
"info": {
"title": "Immich",
"description": "Immich API",
"version": "2.6.2",
"version": "2.7.5",
"contact": {}
},
"tags": [
@@ -17299,7 +17358,8 @@
"duplicate",
"no_permission",
"not_found",
"unknown"
"unknown",
"validation"
],
"type": "string"
},
@@ -17311,10 +17371,14 @@
"duplicate",
"no_permission",
"not_found",
"unknown"
"unknown",
"validation"
],
"type": "string"
},
"errorMessage": {
"type": "string"
},
"id": {
"description": "ID",
"type": "string"
@@ -17657,11 +17721,15 @@
},
"filesize": {
"type": "number"
},
"timezone": {
"type": "string"
}
},
"required": [
"filename",
"filesize"
"filesize",
"timezone"
],
"type": "object"
},
@@ -17828,6 +17896,52 @@
],
"type": "object"
},
"DuplicateResolveDto": {
"properties": {
"groups": {
"description": "List of duplicate groups to resolve",
"items": {
"$ref": "#/components/schemas/DuplicateResolveGroupDto"
},
"minItems": 1,
"type": "array"
}
},
"required": [
"groups"
],
"type": "object"
},
"DuplicateResolveGroupDto": {
"properties": {
"duplicateId": {
"format": "uuid",
"type": "string"
},
"keepAssetIds": {
"description": "Asset IDs to keep",
"items": {
"format": "uuid",
"type": "string"
},
"type": "array"
},
"trashAssetIds": {
"description": "Asset IDs to trash or delete",
"items": {
"format": "uuid",
"type": "string"
},
"type": "array"
}
},
"required": [
"duplicateId",
"keepAssetIds",
"trashAssetIds"
],
"type": "object"
},
"DuplicateResponseDto": {
"properties": {
"assets": {
@@ -17840,11 +17954,20 @@
"duplicateId": {
"description": "Duplicate group ID",
"type": "string"
},
"suggestedKeepAssetIds": {
"description": "Suggested asset IDs to keep based on file size and EXIF data",
"items": {
"format": "uuid",
"type": "string"
},
"type": "array"
}
},
"required": [
"assets",
"duplicateId"
"duplicateId",
"suggestedKeepAssetIds"
],
"type": "object"
},
@@ -19129,7 +19252,7 @@
"type": "boolean"
},
"withPeople": {
"description": "Include assets with people",
"description": "Include people data in response",
"type": "boolean"
},
"withStacked": {
@@ -20868,7 +20991,7 @@
"type": "boolean"
},
"withPeople": {
"description": "Include assets with people",
"description": "Include people data in response",
"type": "boolean"
},
"withStacked": {