mirror of
https://github.com/immich-app/immich.git
synced 2024-12-23 02:06:15 +02:00
3684 lines
80 KiB
JSON
3684 lines
80 KiB
JSON
{
|
|
"openapi": "3.0.0",
|
|
"paths": {
|
|
"/user": {
|
|
"get": {
|
|
"operationId": "getAllUsers",
|
|
"parameters": [
|
|
{
|
|
"name": "isAll",
|
|
"required": true,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"post": {
|
|
"operationId": "createUser",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateUserDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "updateUser",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateUserDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/user/info/{userId}": {
|
|
"get": {
|
|
"operationId": "getUserById",
|
|
"parameters": [
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
]
|
|
}
|
|
},
|
|
"/user/me": {
|
|
"get": {
|
|
"operationId": "getMyUserInfo",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/user/count": {
|
|
"get": {
|
|
"operationId": "getUserCount",
|
|
"parameters": [
|
|
{
|
|
"name": "admin",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"default": false,
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserCountResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
]
|
|
}
|
|
},
|
|
"/user/{userId}": {
|
|
"delete": {
|
|
"operationId": "deleteUser",
|
|
"parameters": [
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/user/{userId}/restore": {
|
|
"post": {
|
|
"operationId": "restoreUser",
|
|
"parameters": [
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/user/profile-image": {
|
|
"post": {
|
|
"operationId": "createProfileImage",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"description": "A new avatar for the user",
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateProfileImageDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateProfileImageResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/user/profile-image/{userId}": {
|
|
"get": {
|
|
"operationId": "getProfileImage",
|
|
"parameters": [
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"User"
|
|
]
|
|
}
|
|
},
|
|
"/asset/upload": {
|
|
"post": {
|
|
"operationId": "uploadFile",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"description": "Asset Upload Information",
|
|
"content": {
|
|
"multipart/form-data": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFileUploadDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetFileUploadResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/download/{assetId}": {
|
|
"get": {
|
|
"operationId": "downloadFile",
|
|
"parameters": [
|
|
{
|
|
"name": "isThumb",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"title": "Is serve thumbnail (resize) file",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isWeb",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"title": "Is request made from web",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/download-library": {
|
|
"get": {
|
|
"operationId": "downloadLibrary",
|
|
"parameters": [
|
|
{
|
|
"name": "skip",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/file/{assetId}": {
|
|
"get": {
|
|
"operationId": "serveFile",
|
|
"parameters": [
|
|
{
|
|
"name": "isThumb",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"title": "Is serve thumbnail (resize) file",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "isWeb",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"title": "Is request made from web",
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/thumbnail/{assetId}": {
|
|
"get": {
|
|
"operationId": "getAssetThumbnail",
|
|
"parameters": [
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "format",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ThumbnailFormat"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/curated-objects": {
|
|
"get": {
|
|
"operationId": "getCuratedObjects",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CuratedObjectsResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/curated-locations": {
|
|
"get": {
|
|
"operationId": "getCuratedLocations",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/CuratedLocationsResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/search-terms": {
|
|
"get": {
|
|
"operationId": "getAssetSearchTerms",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/search": {
|
|
"post": {
|
|
"operationId": "searchAsset",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SearchAssetDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/count-by-time-bucket": {
|
|
"post": {
|
|
"operationId": "getAssetCountByTimeBucket",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetAssetCountByTimeBucketDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetCountByTimeBucketResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/count-by-user-id": {
|
|
"get": {
|
|
"operationId": "getAssetCountByUserId",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetCountByUserIdResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset": {
|
|
"get": {
|
|
"operationId": "getAllAssets",
|
|
"description": "Get all AssetEntity belong to the user",
|
|
"parameters": [
|
|
{
|
|
"name": "if-none-match",
|
|
"in": "header",
|
|
"description": "ETag of data already cached on the client",
|
|
"required": false,
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteAsset",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeleteAssetDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/DeleteAssetResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/time-bucket": {
|
|
"post": {
|
|
"operationId": "getAssetByTimeBucket",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/GetAssetByTimeBucketDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/{deviceId}": {
|
|
"get": {
|
|
"operationId": "getUserAssetsByDeviceId",
|
|
"description": "Get all asset of a device that are in the database, ID only.",
|
|
"parameters": [
|
|
{
|
|
"name": "deviceId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/assetById/{assetId}": {
|
|
"get": {
|
|
"operationId": "getAssetById",
|
|
"description": "Get a single asset's information",
|
|
"parameters": [
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/{assetId}": {
|
|
"put": {
|
|
"operationId": "updateAsset",
|
|
"description": "Update an asset",
|
|
"parameters": [
|
|
{
|
|
"name": "assetId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAssetDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/check": {
|
|
"post": {
|
|
"operationId": "checkDuplicateAsset",
|
|
"description": "Check duplicated asset before uploading - for Web upload used",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CheckDuplicateAssetDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CheckDuplicateAssetResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/asset/exist": {
|
|
"post": {
|
|
"operationId": "checkExistingAssets",
|
|
"description": "Checks if multiple assets exist on the server and returns all existing - used by background backup",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CheckExistingAssetsDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CheckExistingAssetsResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Asset"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/album/count-by-user-id": {
|
|
"get": {
|
|
"operationId": "getAlbumCountByUserId",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumCountResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/album": {
|
|
"post": {
|
|
"operationId": "createAlbum",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateAlbumDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "getAllAlbums",
|
|
"parameters": [
|
|
{
|
|
"name": "shared",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
{
|
|
"name": "assetId",
|
|
"required": false,
|
|
"in": "query",
|
|
"description": "Only returns albums that contain the asset\nIgnores the shared parameter\nundefined: get all albums",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/album/{albumId}/users": {
|
|
"put": {
|
|
"operationId": "addUsersToAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AddUsersDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/album/{albumId}/assets": {
|
|
"put": {
|
|
"operationId": "addAssetsToAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AddAssetsDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AddAssetsResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"operationId": "removeAssetFromAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/RemoveAssetsDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/album/{albumId}": {
|
|
"get": {
|
|
"operationId": "getAlbumInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"delete": {
|
|
"operationId": "deleteAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "updateAlbumInfo",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateAlbumDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/album/{albumId}/user/{userId}": {
|
|
"delete": {
|
|
"operationId": "removeUserFromAlbum",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "userId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/album/{albumId}/download": {
|
|
"get": {
|
|
"operationId": "downloadArchive",
|
|
"parameters": [
|
|
{
|
|
"name": "albumId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
{
|
|
"name": "skip",
|
|
"required": false,
|
|
"in": "query",
|
|
"schema": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "object"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Album"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/tag": {
|
|
"post": {
|
|
"operationId": "create",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/CreateTagDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Tag"
|
|
]
|
|
},
|
|
"get": {
|
|
"operationId": "findAll",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Tag"
|
|
]
|
|
}
|
|
},
|
|
"/tag/{id}": {
|
|
"get": {
|
|
"operationId": "findOne",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Tag"
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "update",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpdateTagDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Tag"
|
|
]
|
|
},
|
|
"delete": {
|
|
"operationId": "delete",
|
|
"parameters": [
|
|
{
|
|
"name": "id",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": ""
|
|
}
|
|
},
|
|
"tags": [
|
|
"Tag"
|
|
]
|
|
}
|
|
},
|
|
"/auth/login": {
|
|
"post": {
|
|
"operationId": "login",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LoginCredentialDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LoginResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/auth/admin-sign-up": {
|
|
"post": {
|
|
"operationId": "adminSignUp",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SignUpDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AdminSignupResponseDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"400": {
|
|
"description": "The server already has an admin"
|
|
}
|
|
},
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/auth/validateToken": {
|
|
"post": {
|
|
"operationId": "validateAccessToken",
|
|
"parameters": [],
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ValidateAccessTokenResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Authentication"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/auth/logout": {
|
|
"post": {
|
|
"operationId": "logout",
|
|
"parameters": [],
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LogoutResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Authentication"
|
|
]
|
|
}
|
|
},
|
|
"/oauth/config": {
|
|
"post": {
|
|
"operationId": "generateConfig",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthConfigDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthConfigResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"OAuth"
|
|
]
|
|
}
|
|
},
|
|
"/oauth/callback": {
|
|
"post": {
|
|
"operationId": "callback",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/OAuthCallbackDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/LoginResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"OAuth"
|
|
]
|
|
}
|
|
},
|
|
"/device-info": {
|
|
"post": {
|
|
"operationId": "createDeviceInfo",
|
|
"description": "@deprecated",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpsertDeviceInfoDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"201": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeviceInfoResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Device Info"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"patch": {
|
|
"operationId": "updateDeviceInfo",
|
|
"description": "@deprecated",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpsertDeviceInfoDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeviceInfoResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Device Info"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "upsertDeviceInfo",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/UpsertDeviceInfoDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/DeviceInfoResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Device Info"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/server-info": {
|
|
"get": {
|
|
"operationId": "getServerInfo",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerInfoResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server Info"
|
|
]
|
|
}
|
|
},
|
|
"/server-info/ping": {
|
|
"get": {
|
|
"operationId": "pingServer",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerPingResponse"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server Info"
|
|
]
|
|
}
|
|
},
|
|
"/server-info/version": {
|
|
"get": {
|
|
"operationId": "getServerVersion",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerVersionReponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server Info"
|
|
]
|
|
}
|
|
},
|
|
"/server-info/stats": {
|
|
"get": {
|
|
"operationId": "getStats",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/ServerStatsResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Server Info"
|
|
]
|
|
}
|
|
},
|
|
"/jobs": {
|
|
"get": {
|
|
"operationId": "getAllJobsStatus",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/AllJobStatusResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Job"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/jobs/{jobId}": {
|
|
"get": {
|
|
"operationId": "getJobStatus",
|
|
"parameters": [
|
|
{
|
|
"name": "jobId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobId"
|
|
}
|
|
}
|
|
],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobStatusResponseDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Job"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "sendJobCommand",
|
|
"parameters": [
|
|
{
|
|
"name": "jobId",
|
|
"required": true,
|
|
"in": "path",
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobId"
|
|
}
|
|
}
|
|
],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/JobCommandDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"type": "number"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"Job"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/system-config": {
|
|
"get": {
|
|
"operationId": "getConfig",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"System Config"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
},
|
|
"put": {
|
|
"operationId": "updateConfig",
|
|
"parameters": [],
|
|
"requestBody": {
|
|
"required": true,
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigDto"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"System Config"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
},
|
|
"/system-config/defaults": {
|
|
"get": {
|
|
"operationId": "getDefaults",
|
|
"parameters": [],
|
|
"responses": {
|
|
"200": {
|
|
"description": "",
|
|
"content": {
|
|
"application/json": {
|
|
"schema": {
|
|
"$ref": "#/components/schemas/SystemConfigDto"
|
|
}
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"tags": [
|
|
"System Config"
|
|
],
|
|
"security": [
|
|
{
|
|
"bearer": []
|
|
}
|
|
]
|
|
}
|
|
}
|
|
},
|
|
"info": {
|
|
"title": "Immich",
|
|
"description": "Immich API",
|
|
"version": "1.38.0",
|
|
"contact": {}
|
|
},
|
|
"tags": [],
|
|
"servers": [
|
|
{
|
|
"url": "/api"
|
|
}
|
|
],
|
|
"components": {
|
|
"securitySchemes": {
|
|
"bearer": {
|
|
"scheme": "Bearer",
|
|
"bearerFormat": "JWT",
|
|
"type": "http",
|
|
"name": "JWT",
|
|
"description": "Enter JWT token",
|
|
"in": "header"
|
|
}
|
|
},
|
|
"schemas": {
|
|
"UserResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"firstName": {
|
|
"type": "string"
|
|
},
|
|
"lastName": {
|
|
"type": "string"
|
|
},
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"profileImagePath": {
|
|
"type": "string"
|
|
},
|
|
"shouldChangePassword": {
|
|
"type": "boolean"
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean"
|
|
},
|
|
"deletedAt": {
|
|
"format": "date-time",
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"email",
|
|
"firstName",
|
|
"lastName",
|
|
"createdAt",
|
|
"profileImagePath",
|
|
"shouldChangePassword",
|
|
"isAdmin"
|
|
]
|
|
},
|
|
"CreateUserDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"example": "testuser@email.com"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"example": "password"
|
|
},
|
|
"firstName": {
|
|
"type": "string",
|
|
"example": "John"
|
|
},
|
|
"lastName": {
|
|
"type": "string",
|
|
"example": "Doe"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"password",
|
|
"firstName",
|
|
"lastName"
|
|
]
|
|
},
|
|
"UserCountResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"userCount": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"userCount"
|
|
]
|
|
},
|
|
"UpdateUserDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"password": {
|
|
"type": "string"
|
|
},
|
|
"firstName": {
|
|
"type": "string"
|
|
},
|
|
"lastName": {
|
|
"type": "string"
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean"
|
|
},
|
|
"shouldChangePassword": {
|
|
"type": "boolean"
|
|
},
|
|
"profileImagePath": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
]
|
|
},
|
|
"CreateProfileImageDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"file": {
|
|
"type": "string",
|
|
"format": "binary"
|
|
}
|
|
},
|
|
"required": [
|
|
"file"
|
|
]
|
|
},
|
|
"CreateProfileImageResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"userId": {
|
|
"type": "string"
|
|
},
|
|
"profileImagePath": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"userId",
|
|
"profileImagePath"
|
|
]
|
|
},
|
|
"AssetFileUploadDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"assetData": {
|
|
"type": "string",
|
|
"format": "binary"
|
|
}
|
|
},
|
|
"required": [
|
|
"assetData"
|
|
]
|
|
},
|
|
"AssetFileUploadResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id"
|
|
]
|
|
},
|
|
"ThumbnailFormat": {
|
|
"type": "string",
|
|
"enum": [
|
|
"JPEG",
|
|
"WEBP"
|
|
]
|
|
},
|
|
"CuratedObjectsResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"object": {
|
|
"type": "string"
|
|
},
|
|
"resizePath": {
|
|
"type": "string"
|
|
},
|
|
"deviceAssetId": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"object",
|
|
"resizePath",
|
|
"deviceAssetId",
|
|
"deviceId"
|
|
]
|
|
},
|
|
"CuratedLocationsResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"city": {
|
|
"type": "string"
|
|
},
|
|
"resizePath": {
|
|
"type": "string"
|
|
},
|
|
"deviceAssetId": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"city",
|
|
"resizePath",
|
|
"deviceAssetId",
|
|
"deviceId"
|
|
]
|
|
},
|
|
"SearchAssetDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"searchTerm": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"searchTerm"
|
|
]
|
|
},
|
|
"AssetTypeEnum": {
|
|
"type": "string",
|
|
"enum": [
|
|
"IMAGE",
|
|
"VIDEO",
|
|
"AUDIO",
|
|
"OTHER"
|
|
]
|
|
},
|
|
"ExifResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer",
|
|
"nullable": true,
|
|
"default": null,
|
|
"format": "int64"
|
|
},
|
|
"fileSizeInByte": {
|
|
"type": "integer",
|
|
"nullable": true,
|
|
"default": null,
|
|
"format": "int64"
|
|
},
|
|
"make": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"model": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"imageName": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"exifImageWidth": {
|
|
"type": "number",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"exifImageHeight": {
|
|
"type": "number",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"orientation": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"dateTimeOriginal": {
|
|
"format": "date-time",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"modifyDate": {
|
|
"format": "date-time",
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"lensModel": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"fNumber": {
|
|
"type": "number",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"focalLength": {
|
|
"type": "number",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"iso": {
|
|
"type": "number",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"exposureTime": {
|
|
"type": "number",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"latitude": {
|
|
"type": "number",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"longitude": {
|
|
"type": "number",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"city": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"state": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
},
|
|
"country": {
|
|
"type": "string",
|
|
"nullable": true,
|
|
"default": null
|
|
}
|
|
}
|
|
},
|
|
"SmartInfoResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"tags": {
|
|
"nullable": true,
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"objects": {
|
|
"nullable": true,
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
}
|
|
},
|
|
"TagTypeEnum": {
|
|
"type": "string",
|
|
"enum": [
|
|
"OBJECT",
|
|
"FACE",
|
|
"CUSTOM"
|
|
]
|
|
},
|
|
"TagResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"type": {
|
|
"$ref": "#/components/schemas/TagTypeEnum"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
},
|
|
"renameTagId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"type",
|
|
"name",
|
|
"userId"
|
|
]
|
|
},
|
|
"AssetResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"$ref": "#/components/schemas/AssetTypeEnum"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"deviceAssetId": {
|
|
"type": "string"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"originalPath": {
|
|
"type": "string"
|
|
},
|
|
"resizePath": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"modifiedAt": {
|
|
"type": "string"
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
},
|
|
"mimeType": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"duration": {
|
|
"type": "string"
|
|
},
|
|
"webpPath": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"encodedVideoPath": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"exifInfo": {
|
|
"$ref": "#/components/schemas/ExifResponseDto"
|
|
},
|
|
"smartInfo": {
|
|
"$ref": "#/components/schemas/SmartInfoResponseDto"
|
|
},
|
|
"livePhotoVideoId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"tags": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/TagResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"id",
|
|
"deviceAssetId",
|
|
"ownerId",
|
|
"deviceId",
|
|
"originalPath",
|
|
"resizePath",
|
|
"createdAt",
|
|
"modifiedAt",
|
|
"isFavorite",
|
|
"mimeType",
|
|
"duration",
|
|
"webpPath",
|
|
"tags"
|
|
]
|
|
},
|
|
"TimeGroupEnum": {
|
|
"type": "string",
|
|
"enum": [
|
|
"day",
|
|
"month"
|
|
]
|
|
},
|
|
"GetAssetCountByTimeBucketDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timeGroup": {
|
|
"$ref": "#/components/schemas/TimeGroupEnum"
|
|
}
|
|
},
|
|
"required": [
|
|
"timeGroup"
|
|
]
|
|
},
|
|
"AssetCountByTimeBucket": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timeBucket": {
|
|
"type": "string"
|
|
},
|
|
"count": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"timeBucket",
|
|
"count"
|
|
]
|
|
},
|
|
"AssetCountByTimeBucketResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"totalCount": {
|
|
"type": "integer"
|
|
},
|
|
"buckets": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetCountByTimeBucket"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"totalCount",
|
|
"buckets"
|
|
]
|
|
},
|
|
"AssetCountByUserIdResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"audio": {
|
|
"type": "integer",
|
|
"default": 0
|
|
},
|
|
"photos": {
|
|
"type": "integer",
|
|
"default": 0
|
|
},
|
|
"videos": {
|
|
"type": "integer",
|
|
"default": 0
|
|
},
|
|
"other": {
|
|
"type": "integer",
|
|
"default": 0
|
|
},
|
|
"total": {
|
|
"type": "integer",
|
|
"default": 0
|
|
}
|
|
},
|
|
"required": [
|
|
"audio",
|
|
"photos",
|
|
"videos",
|
|
"other",
|
|
"total"
|
|
]
|
|
},
|
|
"GetAssetByTimeBucketDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"timeBucket": {
|
|
"title": "Array of date time buckets",
|
|
"example": [
|
|
"2015-06-01T00:00:00.000Z",
|
|
"2016-02-01T00:00:00.000Z",
|
|
"2016-03-01T00:00:00.000Z"
|
|
],
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"timeBucket"
|
|
]
|
|
},
|
|
"UpdateAssetDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"tagIds": {
|
|
"title": "Array of tag IDs to add to the asset",
|
|
"example": [
|
|
"bf973405-3f2a-48d2-a687-2ed4167164be",
|
|
"dd41870b-5d00-46d2-924e-1d8489a0aa0f",
|
|
"fad77c3f-deef-4e7e-9608-14c1aa4e559a"
|
|
],
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"isFavorite": {
|
|
"type": "boolean"
|
|
}
|
|
}
|
|
},
|
|
"DeleteAssetDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ids": {
|
|
"title": "Array of asset IDs to delete",
|
|
"example": [
|
|
"bf973405-3f2a-48d2-a687-2ed4167164be",
|
|
"dd41870b-5d00-46d2-924e-1d8489a0aa0f",
|
|
"fad77c3f-deef-4e7e-9608-14c1aa4e559a"
|
|
],
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"ids"
|
|
]
|
|
},
|
|
"DeleteAssetStatus": {
|
|
"type": "string",
|
|
"enum": [
|
|
"SUCCESS",
|
|
"FAILED"
|
|
]
|
|
},
|
|
"DeleteAssetResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"status": {
|
|
"$ref": "#/components/schemas/DeleteAssetStatus"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"status",
|
|
"id"
|
|
]
|
|
},
|
|
"CheckDuplicateAssetDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"deviceAssetId": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"deviceAssetId",
|
|
"deviceId"
|
|
]
|
|
},
|
|
"CheckDuplicateAssetResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"isExist": {
|
|
"type": "boolean"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"isExist"
|
|
]
|
|
},
|
|
"CheckExistingAssetsDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"deviceAssetIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"deviceAssetIds",
|
|
"deviceId"
|
|
]
|
|
},
|
|
"CheckExistingAssetsResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"existingIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"existingIds"
|
|
]
|
|
},
|
|
"AlbumCountResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"owned": {
|
|
"type": "integer"
|
|
},
|
|
"shared": {
|
|
"type": "integer"
|
|
},
|
|
"sharing": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"owned",
|
|
"shared",
|
|
"sharing"
|
|
]
|
|
},
|
|
"CreateAlbumDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"albumName": {
|
|
"type": "string"
|
|
},
|
|
"sharedWithUserIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"assetIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"albumName"
|
|
]
|
|
},
|
|
"AlbumResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"assetCount": {
|
|
"type": "integer"
|
|
},
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"ownerId": {
|
|
"type": "string"
|
|
},
|
|
"albumName": {
|
|
"type": "string"
|
|
},
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"albumThumbnailAssetId": {
|
|
"type": "string",
|
|
"nullable": true
|
|
},
|
|
"shared": {
|
|
"type": "boolean"
|
|
},
|
|
"sharedUsers": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/UserResponseDto"
|
|
}
|
|
},
|
|
"assets": {
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/AssetResponseDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"assetCount",
|
|
"id",
|
|
"ownerId",
|
|
"albumName",
|
|
"createdAt",
|
|
"albumThumbnailAssetId",
|
|
"shared",
|
|
"sharedUsers",
|
|
"assets"
|
|
]
|
|
},
|
|
"AddUsersDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"sharedUserIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"sharedUserIds"
|
|
]
|
|
},
|
|
"AddAssetsDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"assetIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds"
|
|
]
|
|
},
|
|
"AddAssetsResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"successfullyAdded": {
|
|
"type": "integer"
|
|
},
|
|
"alreadyInAlbum": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"album": {
|
|
"$ref": "#/components/schemas/AlbumResponseDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"successfullyAdded",
|
|
"alreadyInAlbum"
|
|
]
|
|
},
|
|
"RemoveAssetsDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"assetIds": {
|
|
"type": "array",
|
|
"items": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"assetIds"
|
|
]
|
|
},
|
|
"UpdateAlbumDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"albumName": {
|
|
"type": "string"
|
|
},
|
|
"albumThumbnailAssetId": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"CreateTagDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"type": {
|
|
"$ref": "#/components/schemas/TagTypeEnum"
|
|
},
|
|
"name": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"type",
|
|
"name"
|
|
]
|
|
},
|
|
"UpdateTagDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"name": {
|
|
"type": "string"
|
|
},
|
|
"renameTagId": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
},
|
|
"LoginCredentialDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"example": "testuser@email.com"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"example": "password"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"password"
|
|
]
|
|
},
|
|
"LoginResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"accessToken": {
|
|
"type": "string",
|
|
"readOnly": true
|
|
},
|
|
"userId": {
|
|
"type": "string",
|
|
"readOnly": true
|
|
},
|
|
"userEmail": {
|
|
"type": "string",
|
|
"readOnly": true
|
|
},
|
|
"firstName": {
|
|
"type": "string",
|
|
"readOnly": true
|
|
},
|
|
"lastName": {
|
|
"type": "string",
|
|
"readOnly": true
|
|
},
|
|
"profileImagePath": {
|
|
"type": "string",
|
|
"readOnly": true
|
|
},
|
|
"isAdmin": {
|
|
"type": "boolean",
|
|
"readOnly": true
|
|
},
|
|
"shouldChangePassword": {
|
|
"type": "boolean",
|
|
"readOnly": true
|
|
}
|
|
},
|
|
"required": [
|
|
"accessToken",
|
|
"userId",
|
|
"userEmail",
|
|
"firstName",
|
|
"lastName",
|
|
"profileImagePath",
|
|
"isAdmin",
|
|
"shouldChangePassword"
|
|
]
|
|
},
|
|
"SignUpDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"email": {
|
|
"type": "string",
|
|
"example": "testuser@email.com"
|
|
},
|
|
"password": {
|
|
"type": "string",
|
|
"example": "password"
|
|
},
|
|
"firstName": {
|
|
"type": "string",
|
|
"example": "Admin"
|
|
},
|
|
"lastName": {
|
|
"type": "string",
|
|
"example": "Doe"
|
|
}
|
|
},
|
|
"required": [
|
|
"email",
|
|
"password",
|
|
"firstName",
|
|
"lastName"
|
|
]
|
|
},
|
|
"AdminSignupResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "string"
|
|
},
|
|
"email": {
|
|
"type": "string"
|
|
},
|
|
"firstName": {
|
|
"type": "string"
|
|
},
|
|
"lastName": {
|
|
"type": "string"
|
|
},
|
|
"createdAt": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"email",
|
|
"firstName",
|
|
"lastName",
|
|
"createdAt"
|
|
]
|
|
},
|
|
"ValidateAccessTokenResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"authStatus": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"authStatus"
|
|
]
|
|
},
|
|
"LogoutResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"successful": {
|
|
"type": "boolean",
|
|
"readOnly": true
|
|
},
|
|
"redirectUri": {
|
|
"type": "string",
|
|
"readOnly": true
|
|
}
|
|
},
|
|
"required": [
|
|
"successful",
|
|
"redirectUri"
|
|
]
|
|
},
|
|
"OAuthConfigDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"redirectUri": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"redirectUri"
|
|
]
|
|
},
|
|
"OAuthConfigResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean",
|
|
"readOnly": true
|
|
},
|
|
"url": {
|
|
"type": "string",
|
|
"readOnly": true
|
|
},
|
|
"buttonText": {
|
|
"type": "string",
|
|
"readOnly": true
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled"
|
|
]
|
|
},
|
|
"OAuthCallbackDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"url": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"url"
|
|
]
|
|
},
|
|
"DeviceTypeEnum": {
|
|
"type": "string",
|
|
"enum": [
|
|
"IOS",
|
|
"ANDROID",
|
|
"WEB"
|
|
]
|
|
},
|
|
"UpsertDeviceInfoDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"deviceType": {
|
|
"$ref": "#/components/schemas/DeviceTypeEnum"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"isAutoBackup": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"deviceType",
|
|
"deviceId"
|
|
]
|
|
},
|
|
"DeviceInfoResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"id": {
|
|
"type": "integer"
|
|
},
|
|
"deviceType": {
|
|
"$ref": "#/components/schemas/DeviceTypeEnum"
|
|
},
|
|
"userId": {
|
|
"type": "string"
|
|
},
|
|
"deviceId": {
|
|
"type": "string"
|
|
},
|
|
"createdAt": {
|
|
"type": "string"
|
|
},
|
|
"isAutoBackup": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"id",
|
|
"deviceType",
|
|
"userId",
|
|
"deviceId",
|
|
"createdAt",
|
|
"isAutoBackup"
|
|
]
|
|
},
|
|
"ServerInfoResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"diskSizeRaw": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"diskUseRaw": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"diskAvailableRaw": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"diskUsagePercentage": {
|
|
"type": "number",
|
|
"format": "float"
|
|
},
|
|
"diskSize": {
|
|
"type": "string"
|
|
},
|
|
"diskUse": {
|
|
"type": "string"
|
|
},
|
|
"diskAvailable": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"diskSizeRaw",
|
|
"diskUseRaw",
|
|
"diskAvailableRaw",
|
|
"diskUsagePercentage",
|
|
"diskSize",
|
|
"diskUse",
|
|
"diskAvailable"
|
|
]
|
|
},
|
|
"ServerPingResponse": {
|
|
"type": "object",
|
|
"properties": {
|
|
"res": {
|
|
"type": "string",
|
|
"readOnly": true,
|
|
"example": "pong"
|
|
}
|
|
},
|
|
"required": [
|
|
"res"
|
|
]
|
|
},
|
|
"ServerVersionReponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"major": {
|
|
"type": "integer"
|
|
},
|
|
"minor": {
|
|
"type": "integer"
|
|
},
|
|
"patch": {
|
|
"type": "integer"
|
|
},
|
|
"build": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"major",
|
|
"minor",
|
|
"patch",
|
|
"build"
|
|
]
|
|
},
|
|
"UsageByUserDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"userId": {
|
|
"type": "string"
|
|
},
|
|
"videos": {
|
|
"type": "integer"
|
|
},
|
|
"photos": {
|
|
"type": "integer"
|
|
},
|
|
"usageRaw": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"usage": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"userId",
|
|
"videos",
|
|
"photos",
|
|
"usageRaw",
|
|
"usage"
|
|
]
|
|
},
|
|
"ServerStatsResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"photos": {
|
|
"type": "integer"
|
|
},
|
|
"videos": {
|
|
"type": "integer"
|
|
},
|
|
"objects": {
|
|
"type": "integer"
|
|
},
|
|
"usageRaw": {
|
|
"type": "integer",
|
|
"format": "int64"
|
|
},
|
|
"usage": {
|
|
"type": "string"
|
|
},
|
|
"usageByUser": {
|
|
"title": "Array of usage for each user",
|
|
"example": [
|
|
{
|
|
"photos": 1,
|
|
"videos": 1,
|
|
"diskUsageRaw": 1
|
|
}
|
|
],
|
|
"type": "array",
|
|
"items": {
|
|
"$ref": "#/components/schemas/UsageByUserDto"
|
|
}
|
|
}
|
|
},
|
|
"required": [
|
|
"photos",
|
|
"videos",
|
|
"objects",
|
|
"usageRaw",
|
|
"usage",
|
|
"usageByUser"
|
|
]
|
|
},
|
|
"JobCounts": {
|
|
"type": "object",
|
|
"properties": {
|
|
"active": {
|
|
"type": "integer"
|
|
},
|
|
"completed": {
|
|
"type": "integer"
|
|
},
|
|
"failed": {
|
|
"type": "integer"
|
|
},
|
|
"delayed": {
|
|
"type": "integer"
|
|
},
|
|
"waiting": {
|
|
"type": "integer"
|
|
}
|
|
},
|
|
"required": [
|
|
"active",
|
|
"completed",
|
|
"failed",
|
|
"delayed",
|
|
"waiting"
|
|
]
|
|
},
|
|
"AllJobStatusResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"thumbnailGenerationQueueCount": {
|
|
"$ref": "#/components/schemas/JobCounts"
|
|
},
|
|
"metadataExtractionQueueCount": {
|
|
"$ref": "#/components/schemas/JobCounts"
|
|
},
|
|
"videoConversionQueueCount": {
|
|
"$ref": "#/components/schemas/JobCounts"
|
|
},
|
|
"machineLearningQueueCount": {
|
|
"$ref": "#/components/schemas/JobCounts"
|
|
},
|
|
"isThumbnailGenerationActive": {
|
|
"type": "boolean"
|
|
},
|
|
"isMetadataExtractionActive": {
|
|
"type": "boolean"
|
|
},
|
|
"isVideoConversionActive": {
|
|
"type": "boolean"
|
|
},
|
|
"isMachineLearningActive": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"thumbnailGenerationQueueCount",
|
|
"metadataExtractionQueueCount",
|
|
"videoConversionQueueCount",
|
|
"machineLearningQueueCount",
|
|
"isThumbnailGenerationActive",
|
|
"isMetadataExtractionActive",
|
|
"isVideoConversionActive",
|
|
"isMachineLearningActive"
|
|
]
|
|
},
|
|
"JobId": {
|
|
"type": "string",
|
|
"enum": [
|
|
"thumbnail-generation",
|
|
"metadata-extraction",
|
|
"video-conversion",
|
|
"machine-learning"
|
|
]
|
|
},
|
|
"JobStatusResponseDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"isActive": {
|
|
"type": "boolean"
|
|
},
|
|
"queueCount": {
|
|
"type": "object"
|
|
}
|
|
},
|
|
"required": [
|
|
"isActive",
|
|
"queueCount"
|
|
]
|
|
},
|
|
"JobCommand": {
|
|
"type": "string",
|
|
"enum": [
|
|
"start",
|
|
"stop"
|
|
]
|
|
},
|
|
"JobCommandDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"command": {
|
|
"$ref": "#/components/schemas/JobCommand"
|
|
}
|
|
},
|
|
"required": [
|
|
"command"
|
|
]
|
|
},
|
|
"SystemConfigFFmpegDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"crf": {
|
|
"type": "string"
|
|
},
|
|
"preset": {
|
|
"type": "string"
|
|
},
|
|
"targetVideoCodec": {
|
|
"type": "string"
|
|
},
|
|
"targetAudioCodec": {
|
|
"type": "string"
|
|
},
|
|
"targetScaling": {
|
|
"type": "string"
|
|
}
|
|
},
|
|
"required": [
|
|
"crf",
|
|
"preset",
|
|
"targetVideoCodec",
|
|
"targetAudioCodec",
|
|
"targetScaling"
|
|
]
|
|
},
|
|
"SystemConfigOAuthDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"enabled": {
|
|
"type": "boolean"
|
|
},
|
|
"issuerUrl": {
|
|
"type": "string"
|
|
},
|
|
"clientId": {
|
|
"type": "string"
|
|
},
|
|
"clientSecret": {
|
|
"type": "string"
|
|
},
|
|
"scope": {
|
|
"type": "string"
|
|
},
|
|
"buttonText": {
|
|
"type": "string"
|
|
},
|
|
"autoRegister": {
|
|
"type": "boolean"
|
|
}
|
|
},
|
|
"required": [
|
|
"enabled",
|
|
"issuerUrl",
|
|
"clientId",
|
|
"clientSecret",
|
|
"scope",
|
|
"buttonText",
|
|
"autoRegister"
|
|
]
|
|
},
|
|
"SystemConfigDto": {
|
|
"type": "object",
|
|
"properties": {
|
|
"ffmpeg": {
|
|
"$ref": "#/components/schemas/SystemConfigFFmpegDto"
|
|
},
|
|
"oauth": {
|
|
"$ref": "#/components/schemas/SystemConfigOAuthDto"
|
|
}
|
|
},
|
|
"required": [
|
|
"ffmpeg",
|
|
"oauth"
|
|
]
|
|
}
|
|
}
|
|
}
|
|
} |