mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
Merge remote-tracking branch 'origin/main' into feat/yucca-integration
This commit is contained in:
@@ -23,6 +23,7 @@ function dart {
|
||||
patch --no-backup-if-mismatch -u ../mobile/openapi/lib/api_client.dart <./patch/api_client.dart.patch
|
||||
patch --no-backup-if-mismatch -u ../mobile/openapi/lib/api.dart <./patch/api.dart.patch
|
||||
patch --no-backup-if-mismatch -u ../mobile/openapi/pubspec.yaml <./patch/pubspec_immich_mobile.yaml.patch
|
||||
patch --no-backup-if-mismatch -u ../mobile/openapi/lib/model/asset_edit_action_item_dto.dart <./patch/asset_edit_action_item_dto.dart.patch
|
||||
# Don't include analysis_options.yaml for the generated openapi files
|
||||
# so that language servers can properly exclude the mobile/openapi directory
|
||||
rm ../mobile/openapi/analysis_options.yaml
|
||||
|
||||
+173
-528
@@ -1956,15 +1956,6 @@
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "withoutAssets",
|
||||
"required": false,
|
||||
"in": "query",
|
||||
"description": "Exclude assets from response",
|
||||
"schema": {
|
||||
"type": "boolean"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
@@ -2227,6 +2218,77 @@
|
||||
"x-immich-state": "Stable"
|
||||
}
|
||||
},
|
||||
"/albums/{id}/map-markers": {
|
||||
"get": {
|
||||
"description": "Retrieve map marker information for a specific album by its ID.",
|
||||
"operationId": "getAlbumMapMarkers",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "id",
|
||||
"required": true,
|
||||
"in": "path",
|
||||
"schema": {
|
||||
"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"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "key",
|
||||
"required": false,
|
||||
"in": "query",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "slug",
|
||||
"required": false,
|
||||
"in": "query",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/MapMarkerResponseDto"
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearer": []
|
||||
},
|
||||
{
|
||||
"cookie": []
|
||||
},
|
||||
{
|
||||
"api_key": []
|
||||
}
|
||||
],
|
||||
"summary": "Retrieve album map markers",
|
||||
"tags": [
|
||||
"Albums"
|
||||
],
|
||||
"x-immich-history": [
|
||||
{
|
||||
"version": "v3",
|
||||
"state": "Added"
|
||||
}
|
||||
],
|
||||
"x-immich-permission": "album.read"
|
||||
}
|
||||
},
|
||||
"/albums/{id}/user/{userId}": {
|
||||
"delete": {
|
||||
"description": "Remove a user from an album. Use an ID of \"me\" to leave a shared album.",
|
||||
@@ -2441,7 +2503,7 @@
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/APIKeyResponseDto"
|
||||
"$ref": "#/components/schemas/ApiKeyResponseDto"
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
@@ -2490,7 +2552,7 @@
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/APIKeyCreateDto"
|
||||
"$ref": "#/components/schemas/ApiKeyCreateDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2501,7 +2563,7 @@
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/APIKeyCreateResponseDto"
|
||||
"$ref": "#/components/schemas/ApiKeyCreateResponseDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2551,7 +2613,7 @@
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/APIKeyResponseDto"
|
||||
"$ref": "#/components/schemas/ApiKeyResponseDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2663,7 +2725,7 @@
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/APIKeyResponseDto"
|
||||
"$ref": "#/components/schemas/ApiKeyResponseDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2721,7 +2783,7 @@
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/APIKeyUpdateDto"
|
||||
"$ref": "#/components/schemas/ApiKeyUpdateDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -2732,7 +2794,7 @@
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/APIKeyResponseDto"
|
||||
"$ref": "#/components/schemas/ApiKeyResponseDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
@@ -3084,126 +3146,6 @@
|
||||
"x-immich-state": "Stable"
|
||||
}
|
||||
},
|
||||
"/assets/device/{deviceId}": {
|
||||
"get": {
|
||||
"deprecated": true,
|
||||
"description": "Get all asset of a device that are in the database, ID only.",
|
||||
"operationId": "getAllUserAssetsByDeviceId",
|
||||
"parameters": [
|
||||
{
|
||||
"name": "deviceId",
|
||||
"required": true,
|
||||
"in": "path",
|
||||
"description": "Device ID",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
}
|
||||
],
|
||||
"responses": {
|
||||
"200": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearer": []
|
||||
},
|
||||
{
|
||||
"cookie": []
|
||||
},
|
||||
{
|
||||
"api_key": []
|
||||
}
|
||||
],
|
||||
"summary": "Retrieve assets by device ID",
|
||||
"tags": [
|
||||
"Assets",
|
||||
"Deprecated"
|
||||
],
|
||||
"x-immich-history": [
|
||||
{
|
||||
"version": "v1",
|
||||
"state": "Added"
|
||||
},
|
||||
{
|
||||
"version": "v2",
|
||||
"state": "Deprecated"
|
||||
}
|
||||
],
|
||||
"x-immich-state": "Deprecated"
|
||||
}
|
||||
},
|
||||
"/assets/exist": {
|
||||
"post": {
|
||||
"description": "Checks if multiple assets exist on the server and returns all existing - used by background backup",
|
||||
"operationId": "checkExistingAssets",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/CheckExistingAssetsDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/CheckExistingAssetsResponseDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearer": []
|
||||
},
|
||||
{
|
||||
"cookie": []
|
||||
},
|
||||
{
|
||||
"api_key": []
|
||||
}
|
||||
],
|
||||
"summary": "Check existing assets",
|
||||
"tags": [
|
||||
"Assets"
|
||||
],
|
||||
"x-immich-history": [
|
||||
{
|
||||
"version": "v1",
|
||||
"state": "Added"
|
||||
},
|
||||
{
|
||||
"version": "v1",
|
||||
"state": "Beta"
|
||||
},
|
||||
{
|
||||
"version": "v2",
|
||||
"state": "Stable"
|
||||
}
|
||||
],
|
||||
"x-immich-permission": "asset.upload",
|
||||
"x-immich-state": "Stable"
|
||||
}
|
||||
},
|
||||
"/assets/jobs": {
|
||||
"post": {
|
||||
"description": "Run a specific job on a set of assets.",
|
||||
@@ -9255,15 +9197,6 @@
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "deviceId",
|
||||
"required": false,
|
||||
"in": "query",
|
||||
"description": "Device ID to filter by",
|
||||
"schema": {
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "isEncoded",
|
||||
"required": false,
|
||||
@@ -12294,123 +12227,6 @@
|
||||
"x-immich-state": "Stable"
|
||||
}
|
||||
},
|
||||
"/sync/delta-sync": {
|
||||
"post": {
|
||||
"deprecated": true,
|
||||
"description": "Retrieve changed assets since the last sync for the authenticated user.",
|
||||
"operationId": "getDeltaSync",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/AssetDeltaSyncDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/AssetDeltaSyncResponseDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearer": []
|
||||
},
|
||||
{
|
||||
"cookie": []
|
||||
},
|
||||
{
|
||||
"api_key": []
|
||||
}
|
||||
],
|
||||
"summary": "Get delta sync for user",
|
||||
"tags": [
|
||||
"Sync",
|
||||
"Deprecated"
|
||||
],
|
||||
"x-immich-history": [
|
||||
{
|
||||
"version": "v1",
|
||||
"state": "Added"
|
||||
},
|
||||
{
|
||||
"version": "v2",
|
||||
"state": "Deprecated"
|
||||
}
|
||||
],
|
||||
"x-immich-state": "Deprecated"
|
||||
}
|
||||
},
|
||||
"/sync/full-sync": {
|
||||
"post": {
|
||||
"deprecated": true,
|
||||
"description": "Retrieve all assets for a full synchronization for the authenticated user.",
|
||||
"operationId": "getFullSyncForUser",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/AssetFullSyncDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/AssetResponseDto"
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"security": [
|
||||
{
|
||||
"bearer": []
|
||||
},
|
||||
{
|
||||
"cookie": []
|
||||
},
|
||||
{
|
||||
"api_key": []
|
||||
}
|
||||
],
|
||||
"summary": "Get full sync for user",
|
||||
"tags": [
|
||||
"Sync",
|
||||
"Deprecated"
|
||||
],
|
||||
"x-immich-history": [
|
||||
{
|
||||
"version": "v1",
|
||||
"state": "Added"
|
||||
},
|
||||
{
|
||||
"version": "v2",
|
||||
"state": "Deprecated"
|
||||
}
|
||||
],
|
||||
"x-immich-state": "Deprecated"
|
||||
}
|
||||
},
|
||||
"/sync/stream": {
|
||||
"post": {
|
||||
"description": "Retrieve a JSON lines streamed response of changes for synchronization. This endpoint is used by the mobile app to efficiently stay up to date with changes.",
|
||||
@@ -14077,7 +13893,7 @@
|
||||
"x-immich-state": "Stable"
|
||||
},
|
||||
"put": {
|
||||
"description": "Update the current user making teh API request.",
|
||||
"description": "Update the current user making the API request.",
|
||||
"operationId": "updateMyUser",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
@@ -16295,100 +16111,6 @@
|
||||
}
|
||||
},
|
||||
"schemas": {
|
||||
"APIKeyCreateDto": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "API key name",
|
||||
"type": "string"
|
||||
},
|
||||
"permissions": {
|
||||
"description": "List of permissions",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Permission"
|
||||
},
|
||||
"minItems": 1,
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"permissions"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"APIKeyCreateResponseDto": {
|
||||
"properties": {
|
||||
"apiKey": {
|
||||
"$ref": "#/components/schemas/APIKeyResponseDto"
|
||||
},
|
||||
"secret": {
|
||||
"description": "API key secret (only shown once)",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"apiKey",
|
||||
"secret"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"APIKeyResponseDto": {
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"description": "Creation date",
|
||||
"example": "2024-01-01T00:00:00.000Z",
|
||||
"format": "date-time",
|
||||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "API key ID",
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "API key name",
|
||||
"type": "string"
|
||||
},
|
||||
"permissions": {
|
||||
"description": "List of permissions",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Permission"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"updatedAt": {
|
||||
"description": "Last update date",
|
||||
"example": "2024-01-01T00:00:00.000Z",
|
||||
"format": "date-time",
|
||||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"createdAt",
|
||||
"id",
|
||||
"name",
|
||||
"permissions",
|
||||
"updatedAt"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"APIKeyUpdateDto": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "API key name",
|
||||
"type": "string"
|
||||
},
|
||||
"permissions": {
|
||||
"description": "List of permissions",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Permission"
|
||||
},
|
||||
"minItems": 1,
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"ActiveScheduleItemDto": {
|
||||
"properties": {
|
||||
"repositoryId": {
|
||||
@@ -16552,12 +16274,6 @@
|
||||
"minimum": 0,
|
||||
"type": "integer"
|
||||
},
|
||||
"assets": {
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/AssetResponseDto"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"contributorCounts": {
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/ContributorCountResponseDto"
|
||||
@@ -16625,7 +16341,6 @@
|
||||
"albumThumbnailAssetId",
|
||||
"albumUsers",
|
||||
"assetCount",
|
||||
"assets",
|
||||
"createdAt",
|
||||
"description",
|
||||
"hasSharedLink",
|
||||
@@ -16788,6 +16503,100 @@
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"ApiKeyCreateDto": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "API key name",
|
||||
"type": "string"
|
||||
},
|
||||
"permissions": {
|
||||
"description": "List of permissions",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Permission"
|
||||
},
|
||||
"minItems": 1,
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"permissions"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"ApiKeyCreateResponseDto": {
|
||||
"properties": {
|
||||
"apiKey": {
|
||||
"$ref": "#/components/schemas/ApiKeyResponseDto"
|
||||
},
|
||||
"secret": {
|
||||
"description": "API key secret (only shown once)",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"apiKey",
|
||||
"secret"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"ApiKeyResponseDto": {
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
"description": "Creation date",
|
||||
"example": "2024-01-01T00:00:00.000Z",
|
||||
"format": "date-time",
|
||||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
|
||||
"type": "string"
|
||||
},
|
||||
"id": {
|
||||
"description": "API key ID",
|
||||
"type": "string"
|
||||
},
|
||||
"name": {
|
||||
"description": "API key name",
|
||||
"type": "string"
|
||||
},
|
||||
"permissions": {
|
||||
"description": "List of permissions",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Permission"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"updatedAt": {
|
||||
"description": "Last update date",
|
||||
"example": "2024-01-01T00:00:00.000Z",
|
||||
"format": "date-time",
|
||||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"createdAt",
|
||||
"id",
|
||||
"name",
|
||||
"permissions",
|
||||
"updatedAt"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"ApiKeyUpdateDto": {
|
||||
"properties": {
|
||||
"name": {
|
||||
"description": "API key name",
|
||||
"type": "string"
|
||||
},
|
||||
"permissions": {
|
||||
"description": "List of permissions",
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/Permission"
|
||||
},
|
||||
"minItems": 1,
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"type": "object"
|
||||
},
|
||||
"AssetBulkDeleteDto": {
|
||||
"properties": {
|
||||
"force": {
|
||||
@@ -17009,59 +16818,6 @@
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"AssetDeltaSyncDto": {
|
||||
"properties": {
|
||||
"updatedAfter": {
|
||||
"description": "Sync assets updated after this date",
|
||||
"example": "2024-01-01T00:00:00.000Z",
|
||||
"format": "date-time",
|
||||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
|
||||
"type": "string"
|
||||
},
|
||||
"userIds": {
|
||||
"description": "User IDs to sync",
|
||||
"items": {
|
||||
"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"
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"updatedAfter",
|
||||
"userIds"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"AssetDeltaSyncResponseDto": {
|
||||
"description": "Asset delta sync response",
|
||||
"properties": {
|
||||
"deleted": {
|
||||
"description": "Deleted asset IDs",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
},
|
||||
"needsFullSync": {
|
||||
"description": "Whether full sync is needed",
|
||||
"type": "boolean"
|
||||
},
|
||||
"upserted": {
|
||||
"items": {
|
||||
"$ref": "#/components/schemas/AssetResponseDto"
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"deleted",
|
||||
"needsFullSync",
|
||||
"upserted"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"AssetEditAction": {
|
||||
"description": "Type of edit action to perform",
|
||||
"enum": [
|
||||
@@ -17407,40 +17163,6 @@
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"AssetFullSyncDto": {
|
||||
"properties": {
|
||||
"lastId": {
|
||||
"description": "Last asset ID (pagination)",
|
||||
"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"
|
||||
},
|
||||
"limit": {
|
||||
"description": "Maximum number of assets to return",
|
||||
"maximum": 9007199254740991,
|
||||
"minimum": 1,
|
||||
"type": "integer"
|
||||
},
|
||||
"updatedUntil": {
|
||||
"description": "Sync assets updated until this date",
|
||||
"example": "2024-01-01T00:00:00.000Z",
|
||||
"format": "date-time",
|
||||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
|
||||
"type": "string"
|
||||
},
|
||||
"userId": {
|
||||
"description": "Filter by user 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})$",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"limit",
|
||||
"updatedUntil"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"AssetIdErrorReason": {
|
||||
"description": "Error reason if failed",
|
||||
"enum": [
|
||||
@@ -17525,14 +17247,6 @@
|
||||
"format": "binary",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceAssetId": {
|
||||
"description": "Device asset ID",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceId": {
|
||||
"description": "Device ID",
|
||||
"type": "string"
|
||||
},
|
||||
"duration": {
|
||||
"description": "Duration (for videos)",
|
||||
"type": "string"
|
||||
@@ -17583,8 +17297,6 @@
|
||||
},
|
||||
"required": [
|
||||
"assetData",
|
||||
"deviceAssetId",
|
||||
"deviceId",
|
||||
"fileCreatedAt",
|
||||
"fileModifiedAt"
|
||||
],
|
||||
@@ -17900,14 +17612,6 @@
|
||||
"format": "date-time",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceAssetId": {
|
||||
"description": "Device asset ID",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceId": {
|
||||
"description": "Device ID",
|
||||
"type": "string"
|
||||
},
|
||||
"duplicateId": {
|
||||
"description": "Duplicate group ID",
|
||||
"nullable": true,
|
||||
@@ -18089,8 +17793,6 @@
|
||||
"required": [
|
||||
"checksum",
|
||||
"createdAt",
|
||||
"deviceAssetId",
|
||||
"deviceId",
|
||||
"duration",
|
||||
"fileCreatedAt",
|
||||
"fileModifiedAt",
|
||||
@@ -18425,42 +18127,6 @@
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"CheckExistingAssetsDto": {
|
||||
"properties": {
|
||||
"deviceAssetIds": {
|
||||
"description": "Device asset IDs to check",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"minItems": 1,
|
||||
"type": "array"
|
||||
},
|
||||
"deviceId": {
|
||||
"description": "Device ID",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"deviceAssetIds",
|
||||
"deviceId"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"CheckExistingAssetsResponseDto": {
|
||||
"properties": {
|
||||
"existingIds": {
|
||||
"description": "Existing asset IDs",
|
||||
"items": {
|
||||
"type": "string"
|
||||
},
|
||||
"type": "array"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"existingIds"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"Colorspace": {
|
||||
"description": "Colorspace",
|
||||
"enum": [
|
||||
@@ -19516,7 +19182,6 @@
|
||||
"AssetFileMigration",
|
||||
"AssetGenerateThumbnailsQueueAll",
|
||||
"AssetGenerateThumbnails",
|
||||
"AuditLogCleanup",
|
||||
"AuditTableCleanup",
|
||||
"DatabaseBackup",
|
||||
"FacialRecognitionQueueAll",
|
||||
@@ -20362,14 +20027,6 @@
|
||||
"description": "Filter by description text",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceAssetId": {
|
||||
"description": "Filter by device asset ID",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceId": {
|
||||
"description": "Device ID to filter by",
|
||||
"type": "string"
|
||||
},
|
||||
"encodedVideoPath": {
|
||||
"description": "Filter by encoded video file path",
|
||||
"type": "string"
|
||||
@@ -22270,10 +21927,6 @@
|
||||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceId": {
|
||||
"description": "Device ID to filter by",
|
||||
"type": "string"
|
||||
},
|
||||
"isEncoded": {
|
||||
"description": "Filter by encoded status",
|
||||
"type": "boolean"
|
||||
@@ -24057,10 +23710,6 @@
|
||||
"pattern": "^(?:(?:\\d\\d[2468][048]|\\d\\d[13579][26]|\\d\\d0[48]|[02468][048]00|[13579][26]00)-02-29|\\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\\d|30)|(?:02)-(?:0[1-9]|1\\d|2[0-8])))T(?:(?:[01]\\d|2[0-3]):[0-5]\\d(?::[0-5]\\d(?:\\.\\d+)?)?(?:Z))$",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceId": {
|
||||
"description": "Device ID to filter by",
|
||||
"type": "string"
|
||||
},
|
||||
"isEncoded": {
|
||||
"description": "Filter by encoded status",
|
||||
"type": "boolean"
|
||||
@@ -24362,10 +24011,6 @@
|
||||
"description": "Filter by description text",
|
||||
"type": "string"
|
||||
},
|
||||
"deviceId": {
|
||||
"description": "Device ID to filter by",
|
||||
"type": "string"
|
||||
},
|
||||
"isEncoded": {
|
||||
"description": "Filter by encoded status",
|
||||
"type": "boolean"
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
@@ -20,7 +20,7 @@ class AssetEditActionItemDto {
|
||||
/// Type of edit action to perform
|
||||
AssetEditAction action;
|
||||
|
||||
- AssetEditActionItemDtoParameters parameters;
|
||||
+ Map<String, dynamic> parameters;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) => identical(this, other) || other is AssetEditActionItemDto &&
|
||||
@@ -53,7 +53,7 @@ class AssetEditActionItemDto {
|
||||
|
||||
return AssetEditActionItemDto(
|
||||
action: AssetEditAction.fromJson(json[r'action'])!,
|
||||
- parameters: AssetEditActionItemDtoParameters.fromJson(json[r'parameters'])!,
|
||||
+ parameters: json[r'parameters'],
|
||||
);
|
||||
}
|
||||
return null;
|
||||
@@ -446,6 +446,303 @@ export type AlbumUserResponseDto = {
|
||||
role: AlbumUserRole;
|
||||
user: UserResponseDto;
|
||||
};
|
||||
export type ContributorCountResponseDto = {
|
||||
/** Number of assets contributed */
|
||||
assetCount: number;
|
||||
/** User ID */
|
||||
userId: string;
|
||||
};
|
||||
export type AlbumResponseDto = {
|
||||
/** Album name */
|
||||
albumName: string;
|
||||
/** Thumbnail asset ID */
|
||||
albumThumbnailAssetId: string | null;
|
||||
albumUsers: AlbumUserResponseDto[];
|
||||
/** Number of assets */
|
||||
assetCount: number;
|
||||
contributorCounts?: ContributorCountResponseDto[];
|
||||
/** Creation date */
|
||||
createdAt: string;
|
||||
/** Album description */
|
||||
description: string;
|
||||
/** End date (latest asset) */
|
||||
endDate?: string;
|
||||
/** Has shared link */
|
||||
hasSharedLink: boolean;
|
||||
/** Album ID */
|
||||
id: string;
|
||||
/** Activity feed enabled */
|
||||
isActivityEnabled: boolean;
|
||||
/** Last modified asset timestamp */
|
||||
lastModifiedAssetTimestamp?: string;
|
||||
order?: AssetOrder;
|
||||
owner: UserResponseDto;
|
||||
/** Owner user ID */
|
||||
ownerId: string;
|
||||
/** Is shared album */
|
||||
shared: boolean;
|
||||
/** Start date (earliest asset) */
|
||||
startDate?: string;
|
||||
/** Last update date */
|
||||
updatedAt: string;
|
||||
};
|
||||
export type AlbumUserCreateDto = {
|
||||
role: AlbumUserRole;
|
||||
/** User ID */
|
||||
userId: string;
|
||||
};
|
||||
export type CreateAlbumDto = {
|
||||
/** Album name */
|
||||
albumName: string;
|
||||
/** Album users */
|
||||
albumUsers?: AlbumUserCreateDto[];
|
||||
/** Initial asset IDs */
|
||||
assetIds?: string[];
|
||||
/** Album description */
|
||||
description?: string;
|
||||
};
|
||||
export type AlbumsAddAssetsDto = {
|
||||
/** Album IDs */
|
||||
albumIds: string[];
|
||||
/** Asset IDs */
|
||||
assetIds: string[];
|
||||
};
|
||||
export type AlbumsAddAssetsResponseDto = {
|
||||
error?: BulkIdErrorReason;
|
||||
/** Operation success */
|
||||
success: boolean;
|
||||
};
|
||||
export type AlbumStatisticsResponseDto = {
|
||||
/** Number of non-shared albums */
|
||||
notShared: number;
|
||||
/** Number of owned albums */
|
||||
owned: number;
|
||||
/** Number of shared albums */
|
||||
shared: number;
|
||||
};
|
||||
export type UpdateAlbumDto = {
|
||||
/** Album name */
|
||||
albumName?: string;
|
||||
/** Album thumbnail asset ID */
|
||||
albumThumbnailAssetId?: string;
|
||||
/** Album description */
|
||||
description?: string;
|
||||
/** Enable activity feed */
|
||||
isActivityEnabled?: boolean;
|
||||
order?: AssetOrder;
|
||||
};
|
||||
export type BulkIdsDto = {
|
||||
/** IDs to process */
|
||||
ids: string[];
|
||||
};
|
||||
export type BulkIdResponseDto = {
|
||||
error?: BulkIdErrorReason;
|
||||
errorMessage?: string;
|
||||
/** ID */
|
||||
id: string;
|
||||
/** Whether operation succeeded */
|
||||
success: boolean;
|
||||
};
|
||||
export type MapMarkerResponseDto = {
|
||||
/** City name */
|
||||
city: string | null;
|
||||
/** Country name */
|
||||
country: string | null;
|
||||
/** Asset ID */
|
||||
id: string;
|
||||
/** Latitude */
|
||||
lat: number;
|
||||
/** Longitude */
|
||||
lon: number;
|
||||
/** State/Province name */
|
||||
state: string | null;
|
||||
};
|
||||
export type UpdateAlbumUserDto = {
|
||||
role: AlbumUserRole;
|
||||
};
|
||||
export type AlbumUserAddDto = {
|
||||
/** Album user role */
|
||||
role?: AlbumUserRole;
|
||||
/** User ID */
|
||||
userId: string;
|
||||
};
|
||||
export type AddUsersDto = {
|
||||
/** Album users to add */
|
||||
albumUsers: AlbumUserAddDto[];
|
||||
};
|
||||
export type ApiKeyResponseDto = {
|
||||
/** Creation date */
|
||||
createdAt: string;
|
||||
/** API key ID */
|
||||
id: string;
|
||||
/** API key name */
|
||||
name: string;
|
||||
/** List of permissions */
|
||||
permissions: Permission[];
|
||||
/** Last update date */
|
||||
updatedAt: string;
|
||||
};
|
||||
export type ApiKeyCreateDto = {
|
||||
/** API key name */
|
||||
name?: string;
|
||||
/** List of permissions */
|
||||
permissions: Permission[];
|
||||
};
|
||||
export type ApiKeyCreateResponseDto = {
|
||||
apiKey: ApiKeyResponseDto;
|
||||
/** API key secret (only shown once) */
|
||||
secret: string;
|
||||
};
|
||||
export type ApiKeyUpdateDto = {
|
||||
/** API key name */
|
||||
name?: string;
|
||||
/** List of permissions */
|
||||
permissions?: Permission[];
|
||||
};
|
||||
export type AssetBulkDeleteDto = {
|
||||
/** Force delete even if in use */
|
||||
force?: boolean;
|
||||
/** IDs to process */
|
||||
ids: string[];
|
||||
};
|
||||
export type AssetMetadataUpsertItemDto = {
|
||||
/** Metadata key */
|
||||
key: string;
|
||||
/** Metadata value (object) */
|
||||
value: {
|
||||
[key: string]: any;
|
||||
};
|
||||
};
|
||||
export type AssetMediaCreateDto = {
|
||||
/** Asset file data */
|
||||
assetData: Blob;
|
||||
/** Duration (for videos) */
|
||||
duration?: string;
|
||||
/** File creation date */
|
||||
fileCreatedAt: string;
|
||||
/** File modification date */
|
||||
fileModifiedAt: string;
|
||||
/** Filename */
|
||||
filename?: string;
|
||||
/** Mark as favorite */
|
||||
isFavorite?: boolean;
|
||||
/** Live photo video ID */
|
||||
livePhotoVideoId?: string;
|
||||
/** Asset metadata items */
|
||||
metadata?: AssetMetadataUpsertItemDto[];
|
||||
/** Sidecar file data */
|
||||
sidecarData?: Blob;
|
||||
visibility?: AssetVisibility;
|
||||
};
|
||||
export type AssetMediaResponseDto = {
|
||||
/** Asset media ID */
|
||||
id: string;
|
||||
status: AssetMediaStatus;
|
||||
};
|
||||
export type AssetBulkUpdateDto = {
|
||||
/** Original date and time */
|
||||
dateTimeOriginal?: string;
|
||||
/** Relative time offset in seconds */
|
||||
dateTimeRelative?: number;
|
||||
/** Asset description */
|
||||
description?: string;
|
||||
/** Duplicate ID */
|
||||
duplicateId?: string | null;
|
||||
/** Asset IDs to update */
|
||||
ids: string[];
|
||||
/** Mark as favorite */
|
||||
isFavorite?: boolean;
|
||||
/** Latitude coordinate */
|
||||
latitude?: number;
|
||||
/** Longitude coordinate */
|
||||
longitude?: number;
|
||||
/** Rating in range [1-5], or null for unrated */
|
||||
rating?: number | null;
|
||||
/** Time zone (IANA timezone) */
|
||||
timeZone?: string;
|
||||
visibility?: AssetVisibility;
|
||||
};
|
||||
export type AssetBulkUploadCheckItem = {
|
||||
/** Base64 or hex encoded SHA1 hash */
|
||||
checksum: string;
|
||||
/** Asset ID */
|
||||
id: string;
|
||||
};
|
||||
export type AssetBulkUploadCheckDto = {
|
||||
/** Assets to check */
|
||||
assets: AssetBulkUploadCheckItem[];
|
||||
};
|
||||
export type AssetBulkUploadCheckResult = {
|
||||
action: AssetUploadAction;
|
||||
/** Existing asset ID if duplicate */
|
||||
assetId?: string;
|
||||
/** Asset ID */
|
||||
id: string;
|
||||
/** Whether existing asset is trashed */
|
||||
isTrashed?: boolean;
|
||||
reason?: AssetRejectReason;
|
||||
};
|
||||
export type AssetBulkUploadCheckResponseDto = {
|
||||
/** Upload check results */
|
||||
results: AssetBulkUploadCheckResult[];
|
||||
};
|
||||
export type AssetCopyDto = {
|
||||
/** Copy album associations */
|
||||
albums?: boolean;
|
||||
/** Copy favorite status */
|
||||
favorite?: boolean;
|
||||
/** Copy shared links */
|
||||
sharedLinks?: boolean;
|
||||
/** Copy sidecar file */
|
||||
sidecar?: boolean;
|
||||
/** Source asset ID */
|
||||
sourceId: string;
|
||||
/** Copy stack association */
|
||||
stack?: boolean;
|
||||
/** Target asset ID */
|
||||
targetId: string;
|
||||
};
|
||||
export type AssetJobsDto = {
|
||||
/** Asset IDs */
|
||||
assetIds: string[];
|
||||
name: AssetJobName;
|
||||
};
|
||||
export type AssetMetadataBulkDeleteItemDto = {
|
||||
/** Asset ID */
|
||||
assetId: string;
|
||||
/** Metadata key */
|
||||
key: string;
|
||||
};
|
||||
export type AssetMetadataBulkDeleteDto = {
|
||||
/** Metadata items to delete */
|
||||
items: AssetMetadataBulkDeleteItemDto[];
|
||||
};
|
||||
export type AssetMetadataBulkUpsertItemDto = {
|
||||
/** Asset ID */
|
||||
assetId: string;
|
||||
/** Metadata key */
|
||||
key: string;
|
||||
/** Metadata value (object) */
|
||||
value: {
|
||||
[key: string]: any;
|
||||
};
|
||||
};
|
||||
export type AssetMetadataBulkUpsertDto = {
|
||||
/** Metadata items to upsert */
|
||||
items: AssetMetadataBulkUpsertItemDto[];
|
||||
};
|
||||
export type AssetMetadataBulkResponseDto = {
|
||||
/** Asset ID */
|
||||
assetId: string;
|
||||
/** Metadata key */
|
||||
key: string;
|
||||
/** Last update date */
|
||||
updatedAt: string;
|
||||
/** Metadata value (object) */
|
||||
value: {
|
||||
[key: string]: any;
|
||||
};
|
||||
};
|
||||
export type ExifResponseDto = {
|
||||
/** City name */
|
||||
city?: string | null;
|
||||
@@ -557,10 +854,6 @@ export type AssetResponseDto = {
|
||||
checksum: string;
|
||||
/** The UTC timestamp when the asset was originally uploaded to Immich. */
|
||||
createdAt: string;
|
||||
/** Device asset ID */
|
||||
deviceAssetId: string;
|
||||
/** Device ID */
|
||||
deviceId: string;
|
||||
/** Duplicate group ID */
|
||||
duplicateId?: string | null;
|
||||
/** Video duration (for videos) */
|
||||
@@ -616,304 +909,6 @@ export type AssetResponseDto = {
|
||||
/** Asset width */
|
||||
width: number | null;
|
||||
};
|
||||
export type ContributorCountResponseDto = {
|
||||
/** Number of assets contributed */
|
||||
assetCount: number;
|
||||
/** User ID */
|
||||
userId: string;
|
||||
};
|
||||
export type AlbumResponseDto = {
|
||||
/** Album name */
|
||||
albumName: string;
|
||||
/** Thumbnail asset ID */
|
||||
albumThumbnailAssetId: string | null;
|
||||
albumUsers: AlbumUserResponseDto[];
|
||||
/** Number of assets */
|
||||
assetCount: number;
|
||||
assets: AssetResponseDto[];
|
||||
contributorCounts?: ContributorCountResponseDto[];
|
||||
/** Creation date */
|
||||
createdAt: string;
|
||||
/** Album description */
|
||||
description: string;
|
||||
/** End date (latest asset) */
|
||||
endDate?: string;
|
||||
/** Has shared link */
|
||||
hasSharedLink: boolean;
|
||||
/** Album ID */
|
||||
id: string;
|
||||
/** Activity feed enabled */
|
||||
isActivityEnabled: boolean;
|
||||
/** Last modified asset timestamp */
|
||||
lastModifiedAssetTimestamp?: string;
|
||||
order?: AssetOrder;
|
||||
owner: UserResponseDto;
|
||||
/** Owner user ID */
|
||||
ownerId: string;
|
||||
/** Is shared album */
|
||||
shared: boolean;
|
||||
/** Start date (earliest asset) */
|
||||
startDate?: string;
|
||||
/** Last update date */
|
||||
updatedAt: string;
|
||||
};
|
||||
export type AlbumUserCreateDto = {
|
||||
role: AlbumUserRole;
|
||||
/** User ID */
|
||||
userId: string;
|
||||
};
|
||||
export type CreateAlbumDto = {
|
||||
/** Album name */
|
||||
albumName: string;
|
||||
/** Album users */
|
||||
albumUsers?: AlbumUserCreateDto[];
|
||||
/** Initial asset IDs */
|
||||
assetIds?: string[];
|
||||
/** Album description */
|
||||
description?: string;
|
||||
};
|
||||
export type AlbumsAddAssetsDto = {
|
||||
/** Album IDs */
|
||||
albumIds: string[];
|
||||
/** Asset IDs */
|
||||
assetIds: string[];
|
||||
};
|
||||
export type AlbumsAddAssetsResponseDto = {
|
||||
error?: BulkIdErrorReason;
|
||||
/** Operation success */
|
||||
success: boolean;
|
||||
};
|
||||
export type AlbumStatisticsResponseDto = {
|
||||
/** Number of non-shared albums */
|
||||
notShared: number;
|
||||
/** Number of owned albums */
|
||||
owned: number;
|
||||
/** Number of shared albums */
|
||||
shared: number;
|
||||
};
|
||||
export type UpdateAlbumDto = {
|
||||
/** Album name */
|
||||
albumName?: string;
|
||||
/** Album thumbnail asset ID */
|
||||
albumThumbnailAssetId?: string;
|
||||
/** Album description */
|
||||
description?: string;
|
||||
/** Enable activity feed */
|
||||
isActivityEnabled?: boolean;
|
||||
order?: AssetOrder;
|
||||
};
|
||||
export type BulkIdsDto = {
|
||||
/** IDs to process */
|
||||
ids: string[];
|
||||
};
|
||||
export type BulkIdResponseDto = {
|
||||
error?: BulkIdErrorReason;
|
||||
errorMessage?: string;
|
||||
/** ID */
|
||||
id: string;
|
||||
/** Whether operation succeeded */
|
||||
success: boolean;
|
||||
};
|
||||
export type UpdateAlbumUserDto = {
|
||||
role: AlbumUserRole;
|
||||
};
|
||||
export type AlbumUserAddDto = {
|
||||
/** Album user role */
|
||||
role?: AlbumUserRole;
|
||||
/** User ID */
|
||||
userId: string;
|
||||
};
|
||||
export type AddUsersDto = {
|
||||
/** Album users to add */
|
||||
albumUsers: AlbumUserAddDto[];
|
||||
};
|
||||
export type ApiKeyResponseDto = {
|
||||
/** Creation date */
|
||||
createdAt: string;
|
||||
/** API key ID */
|
||||
id: string;
|
||||
/** API key name */
|
||||
name: string;
|
||||
/** List of permissions */
|
||||
permissions: Permission[];
|
||||
/** Last update date */
|
||||
updatedAt: string;
|
||||
};
|
||||
export type ApiKeyCreateDto = {
|
||||
/** API key name */
|
||||
name?: string;
|
||||
/** List of permissions */
|
||||
permissions: Permission[];
|
||||
};
|
||||
export type ApiKeyCreateResponseDto = {
|
||||
apiKey: ApiKeyResponseDto;
|
||||
/** API key secret (only shown once) */
|
||||
secret: string;
|
||||
};
|
||||
export type ApiKeyUpdateDto = {
|
||||
/** API key name */
|
||||
name?: string;
|
||||
/** List of permissions */
|
||||
permissions?: Permission[];
|
||||
};
|
||||
export type AssetBulkDeleteDto = {
|
||||
/** Force delete even if in use */
|
||||
force?: boolean;
|
||||
/** IDs to process */
|
||||
ids: string[];
|
||||
};
|
||||
export type AssetMetadataUpsertItemDto = {
|
||||
/** Metadata key */
|
||||
key: string;
|
||||
/** Metadata value (object) */
|
||||
value: {
|
||||
[key: string]: any;
|
||||
};
|
||||
};
|
||||
export type AssetMediaCreateDto = {
|
||||
/** Asset file data */
|
||||
assetData: Blob;
|
||||
/** Device asset ID */
|
||||
deviceAssetId: string;
|
||||
/** Device ID */
|
||||
deviceId: string;
|
||||
/** Duration (for videos) */
|
||||
duration?: string;
|
||||
/** File creation date */
|
||||
fileCreatedAt: string;
|
||||
/** File modification date */
|
||||
fileModifiedAt: string;
|
||||
/** Filename */
|
||||
filename?: string;
|
||||
/** Mark as favorite */
|
||||
isFavorite?: boolean;
|
||||
/** Live photo video ID */
|
||||
livePhotoVideoId?: string;
|
||||
/** Asset metadata items */
|
||||
metadata?: AssetMetadataUpsertItemDto[];
|
||||
/** Sidecar file data */
|
||||
sidecarData?: Blob;
|
||||
visibility?: AssetVisibility;
|
||||
};
|
||||
export type AssetMediaResponseDto = {
|
||||
/** Asset media ID */
|
||||
id: string;
|
||||
status: AssetMediaStatus;
|
||||
};
|
||||
export type AssetBulkUpdateDto = {
|
||||
/** Original date and time */
|
||||
dateTimeOriginal?: string;
|
||||
/** Relative time offset in seconds */
|
||||
dateTimeRelative?: number;
|
||||
/** Asset description */
|
||||
description?: string;
|
||||
/** Duplicate ID */
|
||||
duplicateId?: string | null;
|
||||
/** Asset IDs to update */
|
||||
ids: string[];
|
||||
/** Mark as favorite */
|
||||
isFavorite?: boolean;
|
||||
/** Latitude coordinate */
|
||||
latitude?: number;
|
||||
/** Longitude coordinate */
|
||||
longitude?: number;
|
||||
/** Rating in range [1-5], or null for unrated */
|
||||
rating?: number | null;
|
||||
/** Time zone (IANA timezone) */
|
||||
timeZone?: string;
|
||||
visibility?: AssetVisibility;
|
||||
};
|
||||
export type AssetBulkUploadCheckItem = {
|
||||
/** Base64 or hex encoded SHA1 hash */
|
||||
checksum: string;
|
||||
/** Asset ID */
|
||||
id: string;
|
||||
};
|
||||
export type AssetBulkUploadCheckDto = {
|
||||
/** Assets to check */
|
||||
assets: AssetBulkUploadCheckItem[];
|
||||
};
|
||||
export type AssetBulkUploadCheckResult = {
|
||||
action: AssetUploadAction;
|
||||
/** Existing asset ID if duplicate */
|
||||
assetId?: string;
|
||||
/** Asset ID */
|
||||
id: string;
|
||||
/** Whether existing asset is trashed */
|
||||
isTrashed?: boolean;
|
||||
reason?: AssetRejectReason;
|
||||
};
|
||||
export type AssetBulkUploadCheckResponseDto = {
|
||||
/** Upload check results */
|
||||
results: AssetBulkUploadCheckResult[];
|
||||
};
|
||||
export type AssetCopyDto = {
|
||||
/** Copy album associations */
|
||||
albums?: boolean;
|
||||
/** Copy favorite status */
|
||||
favorite?: boolean;
|
||||
/** Copy shared links */
|
||||
sharedLinks?: boolean;
|
||||
/** Copy sidecar file */
|
||||
sidecar?: boolean;
|
||||
/** Source asset ID */
|
||||
sourceId: string;
|
||||
/** Copy stack association */
|
||||
stack?: boolean;
|
||||
/** Target asset ID */
|
||||
targetId: string;
|
||||
};
|
||||
export type CheckExistingAssetsDto = {
|
||||
/** Device asset IDs to check */
|
||||
deviceAssetIds: string[];
|
||||
/** Device ID */
|
||||
deviceId: string;
|
||||
};
|
||||
export type CheckExistingAssetsResponseDto = {
|
||||
/** Existing asset IDs */
|
||||
existingIds: string[];
|
||||
};
|
||||
export type AssetJobsDto = {
|
||||
/** Asset IDs */
|
||||
assetIds: string[];
|
||||
name: AssetJobName;
|
||||
};
|
||||
export type AssetMetadataBulkDeleteItemDto = {
|
||||
/** Asset ID */
|
||||
assetId: string;
|
||||
/** Metadata key */
|
||||
key: string;
|
||||
};
|
||||
export type AssetMetadataBulkDeleteDto = {
|
||||
/** Metadata items to delete */
|
||||
items: AssetMetadataBulkDeleteItemDto[];
|
||||
};
|
||||
export type AssetMetadataBulkUpsertItemDto = {
|
||||
/** Asset ID */
|
||||
assetId: string;
|
||||
/** Metadata key */
|
||||
key: string;
|
||||
/** Metadata value (object) */
|
||||
value: {
|
||||
[key: string]: any;
|
||||
};
|
||||
};
|
||||
export type AssetMetadataBulkUpsertDto = {
|
||||
/** Metadata items to upsert */
|
||||
items: AssetMetadataBulkUpsertItemDto[];
|
||||
};
|
||||
export type AssetMetadataBulkResponseDto = {
|
||||
/** Asset ID */
|
||||
assetId: string;
|
||||
/** Metadata key */
|
||||
key: string;
|
||||
/** Last update date */
|
||||
updatedAt: string;
|
||||
/** Metadata value (object) */
|
||||
value: {
|
||||
[key: string]: any;
|
||||
};
|
||||
};
|
||||
export type UpdateAssetDto = {
|
||||
/** Original date and time */
|
||||
dateTimeOriginal?: string;
|
||||
@@ -1323,20 +1318,6 @@ export type ValidateLibraryResponseDto = {
|
||||
/** Validation results for import paths */
|
||||
importPaths?: ValidateLibraryImportPathResponseDto[];
|
||||
};
|
||||
export type MapMarkerResponseDto = {
|
||||
/** City name */
|
||||
city: string | null;
|
||||
/** Country name */
|
||||
country: string | null;
|
||||
/** Asset ID */
|
||||
id: string;
|
||||
/** Latitude */
|
||||
lat: number;
|
||||
/** Longitude */
|
||||
lon: number;
|
||||
/** State/Province name */
|
||||
state: string | null;
|
||||
};
|
||||
export type MapReverseGeocodeResponseDto = {
|
||||
/** City name */
|
||||
city: string | null;
|
||||
@@ -1661,10 +1642,6 @@ export type MetadataSearchDto = {
|
||||
createdBefore?: string;
|
||||
/** Filter by description text */
|
||||
description?: string;
|
||||
/** Filter by device asset ID */
|
||||
deviceAssetId?: string;
|
||||
/** Device ID to filter by */
|
||||
deviceId?: string;
|
||||
/** Filter by encoded video file path */
|
||||
encodedVideoPath?: string;
|
||||
/** Filter by asset ID */
|
||||
@@ -1790,8 +1767,6 @@ export type RandomSearchDto = {
|
||||
createdAfter?: string;
|
||||
/** Filter by creation date (before) */
|
||||
createdBefore?: string;
|
||||
/** Device ID to filter by */
|
||||
deviceId?: string;
|
||||
/** Filter by encoded status */
|
||||
isEncoded?: boolean;
|
||||
/** Filter by favorite status */
|
||||
@@ -1856,8 +1831,6 @@ export type SmartSearchDto = {
|
||||
createdAfter?: string;
|
||||
/** Filter by creation date (before) */
|
||||
createdBefore?: string;
|
||||
/** Device ID to filter by */
|
||||
deviceId?: string;
|
||||
/** Filter by encoded status */
|
||||
isEncoded?: boolean;
|
||||
/** Filter by favorite status */
|
||||
@@ -1928,8 +1901,6 @@ export type StatisticsSearchDto = {
|
||||
createdBefore?: string;
|
||||
/** Filter by description text */
|
||||
description?: string;
|
||||
/** Device ID to filter by */
|
||||
deviceId?: string;
|
||||
/** Filter by encoded status */
|
||||
isEncoded?: boolean;
|
||||
/** Filter by favorite status */
|
||||
@@ -2321,29 +2292,6 @@ export type SyncAckSetDto = {
|
||||
/** Acknowledgment IDs (max 1000) */
|
||||
acks: string[];
|
||||
};
|
||||
export type AssetDeltaSyncDto = {
|
||||
/** Sync assets updated after this date */
|
||||
updatedAfter: string;
|
||||
/** User IDs to sync */
|
||||
userIds: string[];
|
||||
};
|
||||
export type AssetDeltaSyncResponseDto = {
|
||||
/** Deleted asset IDs */
|
||||
deleted: string[];
|
||||
/** Whether full sync is needed */
|
||||
needsFullSync: boolean;
|
||||
upserted: AssetResponseDto[];
|
||||
};
|
||||
export type AssetFullSyncDto = {
|
||||
/** Last asset ID (pagination) */
|
||||
lastId?: string;
|
||||
/** Maximum number of assets to return */
|
||||
limit: number;
|
||||
/** Sync assets updated until this date */
|
||||
updatedUntil: string;
|
||||
/** Filter by user ID */
|
||||
userId?: string;
|
||||
};
|
||||
export type SyncStreamDto = {
|
||||
/** Reset sync state */
|
||||
reset?: boolean;
|
||||
@@ -3919,19 +3867,17 @@ export function deleteAlbum({ id }: {
|
||||
/**
|
||||
* Retrieve an album
|
||||
*/
|
||||
export function getAlbumInfo({ id, key, slug, withoutAssets }: {
|
||||
export function getAlbumInfo({ id, key, slug }: {
|
||||
id: string;
|
||||
key?: string;
|
||||
slug?: string;
|
||||
withoutAssets?: boolean;
|
||||
}, opts?: Oazapfts.RequestOpts) {
|
||||
return oazapfts.ok(oazapfts.fetchJson<{
|
||||
status: 200;
|
||||
data: AlbumResponseDto;
|
||||
}>(`/albums/${encodeURIComponent(id)}${QS.query(QS.explode({
|
||||
key,
|
||||
slug,
|
||||
withoutAssets
|
||||
slug
|
||||
}))}`, {
|
||||
...opts
|
||||
}));
|
||||
@@ -3984,6 +3930,24 @@ export function addAssetsToAlbum({ id, bulkIdsDto }: {
|
||||
body: bulkIdsDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* Retrieve album map markers
|
||||
*/
|
||||
export function getAlbumMapMarkers({ id, key, slug }: {
|
||||
id: string;
|
||||
key?: string;
|
||||
slug?: string;
|
||||
}, opts?: Oazapfts.RequestOpts) {
|
||||
return oazapfts.ok(oazapfts.fetchJson<{
|
||||
status: 200;
|
||||
data: MapMarkerResponseDto[];
|
||||
}>(`/albums/${encodeURIComponent(id)}/map-markers${QS.query(QS.explode({
|
||||
key,
|
||||
slug
|
||||
}))}`, {
|
||||
...opts
|
||||
}));
|
||||
}
|
||||
/**
|
||||
* Remove user from album
|
||||
*/
|
||||
@@ -4181,34 +4145,6 @@ export function copyAsset({ assetCopyDto }: {
|
||||
body: assetCopyDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* Retrieve assets by device ID
|
||||
*/
|
||||
export function getAllUserAssetsByDeviceId({ deviceId }: {
|
||||
deviceId: string;
|
||||
}, opts?: Oazapfts.RequestOpts) {
|
||||
return oazapfts.ok(oazapfts.fetchJson<{
|
||||
status: 200;
|
||||
data: string[];
|
||||
}>(`/assets/device/${encodeURIComponent(deviceId)}`, {
|
||||
...opts
|
||||
}));
|
||||
}
|
||||
/**
|
||||
* Check existing assets
|
||||
*/
|
||||
export function checkExistingAssets({ checkExistingAssetsDto }: {
|
||||
checkExistingAssetsDto: CheckExistingAssetsDto;
|
||||
}, opts?: Oazapfts.RequestOpts) {
|
||||
return oazapfts.ok(oazapfts.fetchJson<{
|
||||
status: 200;
|
||||
data: CheckExistingAssetsResponseDto;
|
||||
}>("/assets/exist", oazapfts.json({
|
||||
...opts,
|
||||
method: "POST",
|
||||
body: checkExistingAssetsDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* Run an asset job
|
||||
*/
|
||||
@@ -5588,13 +5524,12 @@ export function getExploreData(opts?: Oazapfts.RequestOpts) {
|
||||
/**
|
||||
* Search large assets
|
||||
*/
|
||||
export function searchLargeAssets({ albumIds, city, country, createdAfter, createdBefore, deviceId, isEncoded, isFavorite, isMotion, isNotInAlbum, isOffline, lensModel, libraryId, make, minFileSize, model, ocr, personIds, rating, size, state, tagIds, takenAfter, takenBefore, trashedAfter, trashedBefore, $type, updatedAfter, updatedBefore, visibility, withDeleted, withExif }: {
|
||||
export function searchLargeAssets({ albumIds, city, country, createdAfter, createdBefore, isEncoded, isFavorite, isMotion, isNotInAlbum, isOffline, lensModel, libraryId, make, minFileSize, model, ocr, personIds, rating, size, state, tagIds, takenAfter, takenBefore, trashedAfter, trashedBefore, $type, updatedAfter, updatedBefore, visibility, withDeleted, withExif }: {
|
||||
albumIds?: string[];
|
||||
city?: string | null;
|
||||
country?: string | null;
|
||||
createdAfter?: string;
|
||||
createdBefore?: string;
|
||||
deviceId?: string;
|
||||
isEncoded?: boolean;
|
||||
isFavorite?: boolean;
|
||||
isMotion?: boolean;
|
||||
@@ -5631,7 +5566,6 @@ export function searchLargeAssets({ albumIds, city, country, createdAfter, creat
|
||||
country,
|
||||
createdAfter,
|
||||
createdBefore,
|
||||
deviceId,
|
||||
isEncoded,
|
||||
isFavorite,
|
||||
isMotion,
|
||||
@@ -6294,36 +6228,6 @@ export function sendSyncAck({ syncAckSetDto }: {
|
||||
body: syncAckSetDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* Get delta sync for user
|
||||
*/
|
||||
export function getDeltaSync({ assetDeltaSyncDto }: {
|
||||
assetDeltaSyncDto: AssetDeltaSyncDto;
|
||||
}, opts?: Oazapfts.RequestOpts) {
|
||||
return oazapfts.ok(oazapfts.fetchJson<{
|
||||
status: 200;
|
||||
data: AssetDeltaSyncResponseDto;
|
||||
}>("/sync/delta-sync", oazapfts.json({
|
||||
...opts,
|
||||
method: "POST",
|
||||
body: assetDeltaSyncDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* Get full sync for user
|
||||
*/
|
||||
export function getFullSyncForUser({ assetFullSyncDto }: {
|
||||
assetFullSyncDto: AssetFullSyncDto;
|
||||
}, opts?: Oazapfts.RequestOpts) {
|
||||
return oazapfts.ok(oazapfts.fetchJson<{
|
||||
status: 200;
|
||||
data: AssetResponseDto[];
|
||||
}>("/sync/full-sync", oazapfts.json({
|
||||
...opts,
|
||||
method: "POST",
|
||||
body: assetFullSyncDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* Stream sync changes
|
||||
*/
|
||||
@@ -7364,17 +7268,6 @@ export enum AlbumUserRole {
|
||||
Editor = "editor",
|
||||
Viewer = "viewer"
|
||||
}
|
||||
export enum SourceType {
|
||||
MachineLearning = "machine-learning",
|
||||
Exif = "exif",
|
||||
Manual = "manual"
|
||||
}
|
||||
export enum AssetTypeEnum {
|
||||
Image = "IMAGE",
|
||||
Video = "VIDEO",
|
||||
Audio = "AUDIO",
|
||||
Other = "OTHER"
|
||||
}
|
||||
export enum BulkIdErrorReason {
|
||||
Duplicate = "duplicate",
|
||||
NoPermission = "no_permission",
|
||||
@@ -7558,6 +7451,17 @@ export enum AssetJobName {
|
||||
RegenerateThumbnail = "regenerate-thumbnail",
|
||||
TranscodeVideo = "transcode-video"
|
||||
}
|
||||
export enum SourceType {
|
||||
MachineLearning = "machine-learning",
|
||||
Exif = "exif",
|
||||
Manual = "manual"
|
||||
}
|
||||
export enum AssetTypeEnum {
|
||||
Image = "IMAGE",
|
||||
Video = "VIDEO",
|
||||
Audio = "AUDIO",
|
||||
Other = "OTHER"
|
||||
}
|
||||
export enum AssetEditAction {
|
||||
Crop = "crop",
|
||||
Rotate = "rotate",
|
||||
@@ -7662,7 +7566,6 @@ export enum JobName {
|
||||
AssetFileMigration = "AssetFileMigration",
|
||||
AssetGenerateThumbnailsQueueAll = "AssetGenerateThumbnailsQueueAll",
|
||||
AssetGenerateThumbnails = "AssetGenerateThumbnails",
|
||||
AuditLogCleanup = "AuditLogCleanup",
|
||||
AuditTableCleanup = "AuditTableCleanup",
|
||||
DatabaseBackup = "DatabaseBackup",
|
||||
FacialRecognitionQueueAll = "FacialRecognitionQueueAll",
|
||||
|
||||
Reference in New Issue
Block a user