diff --git a/cli/package-lock.json b/cli/package-lock.json index 3d8ba6005f4310..d8dd5a83a90dba 100644 --- a/cli/package-lock.json +++ b/cli/package-lock.json @@ -10,7 +10,6 @@ "license": "MIT", "dependencies": { "@immich/sdk": "file:../open-api/typescript-sdk", - "axios": "^1.6.7", "byte-size": "^8.1.1", "cli-progress": "^3.12.0", "commander": "^11.0.0", @@ -45,12 +44,17 @@ "name": "@immich/sdk", "version": "1.92.1", "license": "MIT", - "dependencies": { - "axios": "^1.6.7" - }, "devDependencies": { "@types/node": "^20.11.0", "typescript": "^5.3.3" + }, + "peerDependencies": { + "axios": "^1.6.7" + }, + "peerDependenciesMeta": { + "axios": { + "optional": true + } } }, "../server": { @@ -2401,16 +2405,6 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "node_modules/axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", - "dependencies": { - "follow-redirects": "^1.15.4", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "node_modules/b4a": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", @@ -3458,25 +3452,6 @@ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, - "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, "node_modules/foreground-child": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", @@ -4734,11 +4709,6 @@ "url": "https://github.com/steveukx/properties?sponsor=1" } }, - "node_modules/proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "node_modules/pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", @@ -6754,7 +6724,6 @@ "version": "file:../open-api/typescript-sdk", "requires": { "@types/node": "^20.11.0", - "axios": "^1.6.7", "typescript": "^5.3.3" } }, @@ -7795,16 +7764,6 @@ "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" }, - "axios": { - "version": "1.6.7", - "resolved": "https://registry.npmjs.org/axios/-/axios-1.6.7.tgz", - "integrity": "sha512-/hDJGff6/c7u0hDkvkGxR/oy6CbCs8ziCsC7SqmhjfozqiJGc8Z11wrv9z9lYfY4K8l+H9TpjcMDX0xOZmx+RA==", - "requires": { - "follow-redirects": "^1.15.4", - "form-data": "^4.0.0", - "proxy-from-env": "^1.1.0" - } - }, "b4a": { "version": "1.6.4", "resolved": "https://registry.npmjs.org/b4a/-/b4a-1.6.4.tgz", @@ -8564,11 +8523,6 @@ "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", "dev": true }, - "follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==" - }, "foreground-child": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", @@ -9591,11 +9545,6 @@ "mkdirp": "^1.0.4" } }, - "proxy-from-env": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", - "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==" - }, "pump": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", diff --git a/cli/package.json b/cli/package.json index 64691b5cdd33fb..c7141ac478cc31 100644 --- a/cli/package.json +++ b/cli/package.json @@ -14,7 +14,6 @@ ], "dependencies": { "@immich/sdk": "file:../open-api/typescript-sdk", - "axios": "^1.6.7", "byte-size": "^8.1.1", "cli-progress": "^3.12.0", "commander": "^11.0.0", diff --git a/cli/src/commands/server-info.command.ts b/cli/src/commands/server-info.command.ts index c9d454d59e638a..f4a256eda892ec 100644 --- a/cli/src/commands/server-info.command.ts +++ b/cli/src/commands/server-info.command.ts @@ -3,9 +3,9 @@ import { BaseCommand } from './base-command'; export class ServerInfoCommand extends BaseCommand { public async run() { await this.connect(); - const { data: versionInfo } = await this.immichApi.serverInfoApi.getServerVersion(); - const { data: mediaTypes } = await this.immichApi.serverInfoApi.getSupportedMediaTypes(); - const { data: statistics } = await this.immichApi.assetApi.getAssetStatistics(); + const versionInfo = await this.immichApi.serverInfoApi.getServerVersion(); + const mediaTypes = await this.immichApi.serverInfoApi.getSupportedMediaTypes(); + const statistics = await this.immichApi.assetApi.getAssetStatistics(); console.log(`Server Version: ${versionInfo.major}.${versionInfo.minor}.${versionInfo.patch}`); console.log(`Image Types: ${mediaTypes.image.map((extension) => extension.replace('.', ''))}`); diff --git a/cli/src/commands/upload.command.ts b/cli/src/commands/upload.command.ts index b5ea6aa0fda797..7933775faf305e 100644 --- a/cli/src/commands/upload.command.ts +++ b/cli/src/commands/upload.command.ts @@ -1,4 +1,3 @@ -import axios, { AxiosRequestConfig, AxiosResponse } from 'axios'; import byteSize from 'byte-size'; import cliProgress from 'cli-progress'; import fs, { createReadStream } from 'node:fs'; @@ -114,7 +113,7 @@ export class UploadCommand extends BaseCommand { await this.connect(); const formatResponse = await this.immichApi.serverInfoApi.getSupportedMediaTypes(); - const crawlService = new CrawlService(formatResponse.data.image, formatResponse.data.video); + const crawlService = new CrawlService(formatResponse.image, formatResponse.video); const inputFiles: string[] = []; for (const pathArgument of paths) { @@ -163,7 +162,7 @@ export class UploadCommand extends BaseCommand { } } - const { data: existingAlbums } = await this.immichApi.albumApi.getAllAlbums(); + const existingAlbums = await this.immichApi.albumApi.getAllAlbums(); uploadProgress.start(totalSize, 0); uploadProgress.update({ value_formatted: 0, total_formatted: byteSize(totalSize) }); @@ -186,11 +185,11 @@ export class UploadCommand extends BaseCommand { assetBulkUploadCheckDto, }); - skipUpload = checkResponse.data.results[0].action === 'reject'; + skipUpload = checkResponse.results[0].action === 'reject'; - const isDuplicate = checkResponse.data.results[0].reason === 'duplicate'; + const isDuplicate = checkResponse.results[0].reason === 'duplicate'; if (isDuplicate) { - existingAssetId = checkResponse.data.results[0].assetId; + existingAssetId = checkResponse.results[0].assetId; } skipAsset = skipUpload && !isDuplicate; @@ -199,8 +198,9 @@ export class UploadCommand extends BaseCommand { if (!skipAsset && !options.dryRun) { if (!skipUpload) { const formData = await asset.getUploadFormData(); - const { data } = await this.uploadAsset(formData); - existingAssetId = data.id; + const response = await this.uploadAsset(formData); + const json = await response.json(); + existingAssetId = json.id; uploadCounter++; totalSizeUploaded += asset.fileSize; } @@ -208,10 +208,10 @@ export class UploadCommand extends BaseCommand { if ((options.album || options.albumName) && asset.albumName !== undefined) { let album = existingAlbums.find((album) => album.albumName === asset.albumName); if (!album) { - const { data } = await this.immichApi.albumApi.createAlbum({ + const response = await this.immichApi.albumApi.createAlbum({ createAlbumDto: { albumName: asset.albumName }, }); - album = data; + album = response; existingAlbums.push(album); } @@ -259,21 +259,20 @@ export class UploadCommand extends BaseCommand { } } - private async uploadAsset(data: FormData): Promise { + private async uploadAsset(data: FormData): Promise { const url = this.immichApi.instanceUrl + '/asset/upload'; - const config: AxiosRequestConfig = { + const response = await fetch(url, { method: 'post', - maxRedirects: 0, - url, + redirect: 'error', headers: { 'x-api-key': this.immichApi.apiKey, }, - maxContentLength: Number.POSITIVE_INFINITY, - maxBodyLength: Number.POSITIVE_INFINITY, - data, - }; - - return axios(config); + body: data, + }); + if (response.status !== 200 && response.status !== 201) { + throw new Error(await response.text()); + } + return response; } } diff --git a/cli/src/services/api.service.ts b/cli/src/services/api.service.ts index 8110d92d297e4b..5626a506593fb9 100644 --- a/cli/src/services/api.service.ts +++ b/cli/src/services/api.service.ts @@ -10,7 +10,6 @@ import { SystemConfigApi, UserApi, } from '@immich/sdk'; -import FormData from 'form-data'; export class ImmichApi { public userApi: UserApi; @@ -31,12 +30,9 @@ export class ImmichApi { ) { this.config = new Configuration({ basePath: instanceUrl, - baseOptions: { - headers: { - 'x-api-key': apiKey, - }, + headers: { + 'x-api-key': apiKey, }, - formDataCtor: FormData, }); this.userApi = new UserApi(this.config); @@ -52,6 +48,9 @@ export class ImmichApi { setApiKey(apiKey: string) { this.apiKey = apiKey; - this.config.baseOptions.headers['x-api-key'] = apiKey; + if (!this.config.headers) { + throw new Error('missing headers'); + } + this.config.headers['x-api-key'] = apiKey; } } diff --git a/cli/src/services/session.service.spec.ts b/cli/src/services/session.service.spec.ts index dbb3d7201b722d..7013e9f1eb60ee 100644 --- a/cli/src/services/session.service.spec.ts +++ b/cli/src/services/session.service.spec.ts @@ -12,8 +12,8 @@ import { spyOnConsole, } from '../../test/cli-test-utils'; -const mockPingServer = vi.fn(() => Promise.resolve({ data: { res: 'pong' } })); -const mockUserInfo = vi.fn(() => Promise.resolve({ data: { email: 'admin@example.com' } })); +const mockPingServer = vi.fn(() => Promise.resolve({ res: 'pong' })); +const mockUserInfo = vi.fn(() => Promise.resolve({ email: 'admin@example.com' })); vi.mock('@immich/sdk', async () => ({ ...(await vi.importActual('@immich/sdk')), diff --git a/cli/src/services/session.service.ts b/cli/src/services/session.service.ts index 9276a4721065cd..05df2ec6e3d4ef 100644 --- a/cli/src/services/session.service.ts +++ b/cli/src/services/session.service.ts @@ -51,7 +51,7 @@ export class SessionService { const api = new ImmichApi(instanceUrl, apiKey); - const { data: pingResponse } = await api.serverInfoApi.pingServer().catch((error) => { + const pingResponse = await api.serverInfoApi.pingServer().catch((error) => { throw new Error(`Failed to connect to server ${api.instanceUrl}: ${error.message}`); }); @@ -68,7 +68,7 @@ export class SessionService { const api = new ImmichApi(instanceUrl, apiKey); // Check if server and api key are valid - const { data: userInfo } = await api.userApi.getMyUserInfo().catch((error) => { + const userInfo = await api.userApi.getMyUserInfo().catch((error) => { throw new LoginError(`Failed to connect to server ${instanceUrl}: ${error.message}`); }); diff --git a/cli/test/cli-test-utils.ts b/cli/test/cli-test-utils.ts index 3063e490f4f86d..405b7794df7dc1 100644 --- a/cli/test/cli-test-utils.ts +++ b/cli/test/cli-test-utils.ts @@ -14,10 +14,10 @@ export const setup = async () => { await api.authenticationApi.signUpAdmin({ signUpDto: { email: 'cli@immich.app', password: 'password', name: 'Administrator' }, }); - const { data: admin } = await api.authenticationApi.login({ + const admin = await api.authenticationApi.login({ loginCredentialDto: { email: 'cli@immich.app', password: 'password' }, }); - const { data: apiKey } = await api.keyApi.createApiKey( + const apiKey = await api.keyApi.createApiKey( { aPIKeyCreateDto: { name: 'CLI Test' } }, { headers: { Authorization: `Bearer ${admin.accessToken}` } }, ); diff --git a/cli/test/e2e/login-key.e2e-spec.ts b/cli/test/e2e/login-key.e2e-spec.ts index d1e7f780e3f3ac..8b215def75b93c 100644 --- a/cli/test/e2e/login-key.e2e-spec.ts +++ b/cli/test/e2e/login-key.e2e-spec.ts @@ -32,7 +32,7 @@ describe(`login-key (e2e)`, () => { it('should error when providing an invalid API key', async () => { await expect(new LoginCommand(CLI_BASE_OPTIONS).run(instanceUrl, 'invalid')).rejects.toThrow( - `Failed to connect to server ${instanceUrl}: Request failed with status code 401`, + `Failed to connect to server ${instanceUrl}: Response returned an error code`, ); }); diff --git a/cli/test/e2e/upload.e2e-spec.ts b/cli/test/e2e/upload.e2e-spec.ts index e2e38b9d859bf7..0c6e87ce5a3e86 100644 --- a/cli/test/e2e/upload.e2e-spec.ts +++ b/cli/test/e2e/upload.e2e-spec.ts @@ -26,13 +26,13 @@ describe(`upload (e2e)`, () => { it('should upload a folder recursively', async () => { await new UploadCommand(CLI_BASE_OPTIONS).run([`${IMMICH_TEST_ASSET_PATH}/albums/nature/`], { recursive: true }); - const { data: assets } = await api.assetApi.getAllAssets({}, { headers: { 'x-api-key': api.apiKey } }); + const assets = await api.assetApi.getAllAssets({}, { headers: { 'x-api-key': api.apiKey } }); expect(assets.length).toBeGreaterThan(4); }); it('should not create a new album', async () => { await new UploadCommand(CLI_BASE_OPTIONS).run([`${IMMICH_TEST_ASSET_PATH}/albums/nature/`], { recursive: true }); - const { data: albums } = await api.albumApi.getAllAlbums({}, { headers: { 'x-api-key': api.apiKey } }); + const albums = await api.albumApi.getAllAlbums({}, { headers: { 'x-api-key': api.apiKey } }); expect(albums.length).toEqual(0); }); @@ -42,7 +42,7 @@ describe(`upload (e2e)`, () => { album: true, }); - const { data: albums } = await api.albumApi.getAllAlbums({}, { headers: { 'x-api-key': api.apiKey } }); + const albums = await api.albumApi.getAllAlbums({}, { headers: { 'x-api-key': api.apiKey } }); expect(albums.length).toEqual(1); const natureAlbum = albums[0]; expect(natureAlbum.albumName).toEqual('nature'); @@ -59,7 +59,7 @@ describe(`upload (e2e)`, () => { album: true, }); - const { data: albums } = await api.albumApi.getAllAlbums({}, { headers: { 'x-api-key': api.apiKey } }); + const albums = await api.albumApi.getAllAlbums({}, { headers: { 'x-api-key': api.apiKey } }); expect(albums.length).toEqual(1); const natureAlbum = albums[0]; expect(natureAlbum.albumName).toEqual('nature'); @@ -71,7 +71,7 @@ describe(`upload (e2e)`, () => { albumName: 'testAlbum', }); - const { data: albums } = await api.albumApi.getAllAlbums({}, { headers: { 'x-api-key': api.apiKey } }); + const albums = await api.albumApi.getAllAlbums({}, { headers: { 'x-api-key': api.apiKey } }); expect(albums.length).toEqual(1); const testAlbum = albums[0]; expect(testAlbum.albumName).toEqual('testAlbum'); diff --git a/open-api/bin/generate-open-api.sh b/open-api/bin/generate-open-api.sh index b6c15419066c5f..efc83aee9cfe0f 100755 --- a/open-api/bin/generate-open-api.sh +++ b/open-api/bin/generate-open-api.sh @@ -18,7 +18,8 @@ function dart { function typescript { rm -rf ./typescript-sdk/client - npx --yes @openapitools/openapi-generator-cli generate -g typescript-axios -i ./immich-openapi-specs.json -o ./typescript-sdk/client --additional-properties=useSingleRequestParameter=true + npx --yes @openapitools/openapi-generator-cli generate -g typescript-axios -i ./immich-openapi-specs.json -o ./typescript-sdk/axios-client --additional-properties=useSingleRequestParameter=true,supportsES6=true + npx --yes @openapitools/openapi-generator-cli generate -g typescript-fetch -i ./immich-openapi-specs.json -o ./typescript-sdk/fetch-client --additional-properties=useSingleRequestParameter=true,supportsES6=true npm --prefix typescript-sdk ci && npm --prefix typescript-sdk run build } diff --git a/open-api/typescript-sdk/client/.gitignore b/open-api/typescript-sdk/axios-client/.gitignore similarity index 100% rename from open-api/typescript-sdk/client/.gitignore rename to open-api/typescript-sdk/axios-client/.gitignore diff --git a/open-api/typescript-sdk/client/.npmignore b/open-api/typescript-sdk/axios-client/.npmignore similarity index 100% rename from open-api/typescript-sdk/client/.npmignore rename to open-api/typescript-sdk/axios-client/.npmignore diff --git a/open-api/typescript-sdk/client/.openapi-generator-ignore b/open-api/typescript-sdk/axios-client/.openapi-generator-ignore similarity index 100% rename from open-api/typescript-sdk/client/.openapi-generator-ignore rename to open-api/typescript-sdk/axios-client/.openapi-generator-ignore diff --git a/open-api/typescript-sdk/client/.openapi-generator/FILES b/open-api/typescript-sdk/axios-client/.openapi-generator/FILES similarity index 76% rename from open-api/typescript-sdk/client/.openapi-generator/FILES rename to open-api/typescript-sdk/axios-client/.openapi-generator/FILES index 16b445eee6ddfb..a80cd4f07b0639 100644 --- a/open-api/typescript-sdk/client/.openapi-generator/FILES +++ b/open-api/typescript-sdk/axios-client/.openapi-generator/FILES @@ -1,6 +1,5 @@ .gitignore .npmignore -.openapi-generator-ignore api.ts base.ts common.ts diff --git a/open-api/typescript-sdk/client/.openapi-generator/VERSION b/open-api/typescript-sdk/axios-client/.openapi-generator/VERSION similarity index 100% rename from open-api/typescript-sdk/client/.openapi-generator/VERSION rename to open-api/typescript-sdk/axios-client/.openapi-generator/VERSION diff --git a/open-api/typescript-sdk/client/api.ts b/open-api/typescript-sdk/axios-client/api.ts similarity index 100% rename from open-api/typescript-sdk/client/api.ts rename to open-api/typescript-sdk/axios-client/api.ts diff --git a/open-api/typescript-sdk/client/base.ts b/open-api/typescript-sdk/axios-client/base.ts similarity index 100% rename from open-api/typescript-sdk/client/base.ts rename to open-api/typescript-sdk/axios-client/base.ts diff --git a/open-api/typescript-sdk/client/common.ts b/open-api/typescript-sdk/axios-client/common.ts similarity index 100% rename from open-api/typescript-sdk/client/common.ts rename to open-api/typescript-sdk/axios-client/common.ts diff --git a/open-api/typescript-sdk/client/configuration.ts b/open-api/typescript-sdk/axios-client/configuration.ts similarity index 100% rename from open-api/typescript-sdk/client/configuration.ts rename to open-api/typescript-sdk/axios-client/configuration.ts diff --git a/open-api/typescript-sdk/client/git_push.sh b/open-api/typescript-sdk/axios-client/git_push.sh similarity index 100% rename from open-api/typescript-sdk/client/git_push.sh rename to open-api/typescript-sdk/axios-client/git_push.sh diff --git a/open-api/typescript-sdk/client/index.ts b/open-api/typescript-sdk/axios-client/index.ts similarity index 100% rename from open-api/typescript-sdk/client/index.ts rename to open-api/typescript-sdk/axios-client/index.ts diff --git a/open-api/typescript-sdk/axios.ts b/open-api/typescript-sdk/axios.ts new file mode 100644 index 00000000000000..9cda70204388ee --- /dev/null +++ b/open-api/typescript-sdk/axios.ts @@ -0,0 +1,4 @@ +export * from './axios-client'; +export * as base from './axios-client/base'; +export * as configuration from './axios-client/configuration'; +export * as common from './axios-client/common'; diff --git a/open-api/typescript-sdk/fetch-client/.openapi-generator-ignore b/open-api/typescript-sdk/fetch-client/.openapi-generator-ignore new file mode 100644 index 00000000000000..7484ee590a3894 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/.openapi-generator-ignore @@ -0,0 +1,23 @@ +# OpenAPI Generator Ignore +# Generated by openapi-generator https://github.com/openapitools/openapi-generator + +# Use this file to prevent files from being overwritten by the generator. +# The patterns follow closely to .gitignore or .dockerignore. + +# As an example, the C# client generator defines ApiClient.cs. +# You can make changes and tell OpenAPI Generator to ignore just this file by uncommenting the following line: +#ApiClient.cs + +# You can match any string of characters against a directory, file or extension with a single asterisk (*): +#foo/*/qux +# The above matches foo/bar/qux and foo/baz/qux, but not foo/bar/baz/qux + +# You can recursively match patterns against a directory, file or extension with a double asterisk (**): +#foo/**/qux +# This matches foo/bar/qux, foo/baz/qux, and foo/bar/baz/qux + +# You can also negate patterns with an exclamation (!). +# For example, you can ignore all files in a docs folder with the file extension .md: +#docs/*.md +# Then explicitly reverse the ignore rule for a single file: +#!docs/README.md diff --git a/open-api/typescript-sdk/fetch-client/.openapi-generator/FILES b/open-api/typescript-sdk/fetch-client/.openapi-generator/FILES new file mode 100644 index 00000000000000..3f9fcad44ea8e4 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/.openapi-generator/FILES @@ -0,0 +1,182 @@ +apis/APIKeyApi.ts +apis/ActivityApi.ts +apis/AlbumApi.ts +apis/AssetApi.ts +apis/AuditApi.ts +apis/AuthenticationApi.ts +apis/DownloadApi.ts +apis/FaceApi.ts +apis/JobApi.ts +apis/LibraryApi.ts +apis/OAuthApi.ts +apis/PartnerApi.ts +apis/PersonApi.ts +apis/SearchApi.ts +apis/ServerInfoApi.ts +apis/SharedLinkApi.ts +apis/SystemConfigApi.ts +apis/TagApi.ts +apis/TrashApi.ts +apis/UserApi.ts +apis/index.ts +index.ts +models/APIKeyCreateDto.ts +models/APIKeyCreateResponseDto.ts +models/APIKeyResponseDto.ts +models/APIKeyUpdateDto.ts +models/ActivityCreateDto.ts +models/ActivityResponseDto.ts +models/ActivityStatisticsResponseDto.ts +models/AddUsersDto.ts +models/AlbumCountResponseDto.ts +models/AlbumResponseDto.ts +models/AllJobStatusResponseDto.ts +models/AssetBulkDeleteDto.ts +models/AssetBulkUpdateDto.ts +models/AssetBulkUploadCheckDto.ts +models/AssetBulkUploadCheckItem.ts +models/AssetBulkUploadCheckResponseDto.ts +models/AssetBulkUploadCheckResult.ts +models/AssetFaceResponseDto.ts +models/AssetFaceUpdateDto.ts +models/AssetFaceUpdateItem.ts +models/AssetFaceWithoutPersonResponseDto.ts +models/AssetFileUploadResponseDto.ts +models/AssetIdsDto.ts +models/AssetIdsResponseDto.ts +models/AssetJobName.ts +models/AssetJobsDto.ts +models/AssetOrder.ts +models/AssetResponseDto.ts +models/AssetStatsResponseDto.ts +models/AssetTypeEnum.ts +models/AudioCodec.ts +models/AuditDeletesResponseDto.ts +models/AuthDeviceResponseDto.ts +models/BulkIdResponseDto.ts +models/BulkIdsDto.ts +models/CLIPConfig.ts +models/CLIPMode.ts +models/CQMode.ts +models/ChangePasswordDto.ts +models/CheckExistingAssetsDto.ts +models/CheckExistingAssetsResponseDto.ts +models/Colorspace.ts +models/CreateAlbumDto.ts +models/CreateLibraryDto.ts +models/CreateProfileImageResponseDto.ts +models/CreateTagDto.ts +models/CreateUserDto.ts +models/CuratedLocationsResponseDto.ts +models/CuratedObjectsResponseDto.ts +models/DownloadArchiveInfo.ts +models/DownloadInfoDto.ts +models/DownloadResponseDto.ts +models/EntityType.ts +models/ExifResponseDto.ts +models/FaceDto.ts +models/FileChecksumDto.ts +models/FileChecksumResponseDto.ts +models/FileReportDto.ts +models/FileReportFixDto.ts +models/FileReportItemDto.ts +models/JobCommand.ts +models/JobCommandDto.ts +models/JobCountsDto.ts +models/JobName.ts +models/JobSettingsDto.ts +models/JobStatusDto.ts +models/LibraryResponseDto.ts +models/LibraryStatsResponseDto.ts +models/LibraryType.ts +models/LogLevel.ts +models/LoginCredentialDto.ts +models/LoginResponseDto.ts +models/LogoutResponseDto.ts +models/MapMarkerResponseDto.ts +models/MapTheme.ts +models/MemoryLaneResponseDto.ts +models/MergePersonDto.ts +models/ModelType.ts +models/OAuthAuthorizeResponseDto.ts +models/OAuthCallbackDto.ts +models/OAuthConfigDto.ts +models/OAuthConfigResponseDto.ts +models/PartnerResponseDto.ts +models/PathEntityType.ts +models/PathType.ts +models/PeopleResponseDto.ts +models/PeopleUpdateDto.ts +models/PeopleUpdateItem.ts +models/PersonResponseDto.ts +models/PersonStatisticsResponseDto.ts +models/PersonUpdateDto.ts +models/PersonWithFacesResponseDto.ts +models/QueueStatusDto.ts +models/ReactionLevel.ts +models/ReactionType.ts +models/RecognitionConfig.ts +models/ScanLibraryDto.ts +models/SearchAlbumResponseDto.ts +models/SearchAssetResponseDto.ts +models/SearchExploreItem.ts +models/SearchExploreResponseDto.ts +models/SearchFacetCountResponseDto.ts +models/SearchFacetResponseDto.ts +models/SearchResponseDto.ts +models/ServerConfigDto.ts +models/ServerFeaturesDto.ts +models/ServerInfoResponseDto.ts +models/ServerMediaTypesResponseDto.ts +models/ServerPingResponse.ts +models/ServerStatsResponseDto.ts +models/ServerThemeDto.ts +models/ServerVersionResponseDto.ts +models/SharedLinkCreateDto.ts +models/SharedLinkEditDto.ts +models/SharedLinkResponseDto.ts +models/SharedLinkType.ts +models/SignUpDto.ts +models/SmartInfoResponseDto.ts +models/SystemConfigDto.ts +models/SystemConfigFFmpegDto.ts +models/SystemConfigJobDto.ts +models/SystemConfigLibraryDto.ts +models/SystemConfigLibraryScanDto.ts +models/SystemConfigLibraryWatchDto.ts +models/SystemConfigLoggingDto.ts +models/SystemConfigMachineLearningDto.ts +models/SystemConfigMapDto.ts +models/SystemConfigNewVersionCheckDto.ts +models/SystemConfigOAuthDto.ts +models/SystemConfigPasswordLoginDto.ts +models/SystemConfigReverseGeocodingDto.ts +models/SystemConfigServerDto.ts +models/SystemConfigStorageTemplateDto.ts +models/SystemConfigTemplateStorageOptionDto.ts +models/SystemConfigThemeDto.ts +models/SystemConfigThumbnailDto.ts +models/SystemConfigTrashDto.ts +models/TagResponseDto.ts +models/TagTypeEnum.ts +models/ThumbnailFormat.ts +models/TimeBucketResponseDto.ts +models/TimeBucketSize.ts +models/ToneMapping.ts +models/TranscodeHWAccel.ts +models/TranscodePolicy.ts +models/UpdateAlbumDto.ts +models/UpdateAssetDto.ts +models/UpdateLibraryDto.ts +models/UpdatePartnerDto.ts +models/UpdateStackParentDto.ts +models/UpdateTagDto.ts +models/UpdateUserDto.ts +models/UsageByUserDto.ts +models/UserAvatarColor.ts +models/UserDto.ts +models/UserResponseDto.ts +models/ValidateAccessTokenResponseDto.ts +models/VideoCodec.ts +models/index.ts +runtime.ts diff --git a/open-api/typescript-sdk/fetch-client/.openapi-generator/VERSION b/open-api/typescript-sdk/fetch-client/.openapi-generator/VERSION new file mode 100644 index 00000000000000..4b49d9bb63eea4 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/.openapi-generator/VERSION @@ -0,0 +1 @@ +7.2.0 \ No newline at end of file diff --git a/open-api/typescript-sdk/fetch-client/apis/APIKeyApi.ts b/open-api/typescript-sdk/fetch-client/apis/APIKeyApi.ts new file mode 100644 index 00000000000000..2a7b51f395a07b --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/APIKeyApi.ts @@ -0,0 +1,261 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + APIKeyCreateDto, + APIKeyCreateResponseDto, + APIKeyResponseDto, + APIKeyUpdateDto, +} from '../models/index'; +import { + APIKeyCreateDtoFromJSON, + APIKeyCreateDtoToJSON, + APIKeyCreateResponseDtoFromJSON, + APIKeyCreateResponseDtoToJSON, + APIKeyResponseDtoFromJSON, + APIKeyResponseDtoToJSON, + APIKeyUpdateDtoFromJSON, + APIKeyUpdateDtoToJSON, +} from '../models/index'; + +export interface CreateApiKeyRequest { + aPIKeyCreateDto: APIKeyCreateDto; +} + +export interface DeleteApiKeyRequest { + id: string; +} + +export interface GetApiKeyRequest { + id: string; +} + +export interface UpdateApiKeyRequest { + id: string; + aPIKeyUpdateDto: APIKeyUpdateDto; +} + +/** + * + */ +export class APIKeyApi extends runtime.BaseAPI { + + /** + */ + async createApiKeyRaw(requestParameters: CreateApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.aPIKeyCreateDto === null || requestParameters.aPIKeyCreateDto === undefined) { + throw new runtime.RequiredError('aPIKeyCreateDto','Required parameter requestParameters.aPIKeyCreateDto was null or undefined when calling createApiKey.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/api-key`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: APIKeyCreateDtoToJSON(requestParameters.aPIKeyCreateDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => APIKeyCreateResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createApiKey(requestParameters: CreateApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createApiKeyRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async deleteApiKeyRaw(requestParameters: DeleteApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteApiKey.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/api-key/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async deleteApiKey(requestParameters: DeleteApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteApiKeyRaw(requestParameters, initOverrides); + } + + /** + */ + async getApiKeyRaw(requestParameters: GetApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getApiKey.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/api-key/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => APIKeyResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getApiKey(requestParameters: GetApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getApiKeyRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getApiKeysRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/api-key`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(APIKeyResponseDtoFromJSON)); + } + + /** + */ + async getApiKeys(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getApiKeysRaw(initOverrides); + return await response.value(); + } + + /** + */ + async updateApiKeyRaw(requestParameters: UpdateApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateApiKey.'); + } + + if (requestParameters.aPIKeyUpdateDto === null || requestParameters.aPIKeyUpdateDto === undefined) { + throw new runtime.RequiredError('aPIKeyUpdateDto','Required parameter requestParameters.aPIKeyUpdateDto was null or undefined when calling updateApiKey.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/api-key/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: APIKeyUpdateDtoToJSON(requestParameters.aPIKeyUpdateDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => APIKeyResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async updateApiKey(requestParameters: UpdateApiKeyRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updateApiKeyRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/ActivityApi.ts b/open-api/typescript-sdk/fetch-client/apis/ActivityApi.ts new file mode 100644 index 00000000000000..321f58ca9c4a17 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/ActivityApi.ts @@ -0,0 +1,253 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ActivityCreateDto, + ActivityResponseDto, + ActivityStatisticsResponseDto, + ReactionLevel, + ReactionType, +} from '../models/index'; +import { + ActivityCreateDtoFromJSON, + ActivityCreateDtoToJSON, + ActivityResponseDtoFromJSON, + ActivityResponseDtoToJSON, + ActivityStatisticsResponseDtoFromJSON, + ActivityStatisticsResponseDtoToJSON, + ReactionLevelFromJSON, + ReactionLevelToJSON, + ReactionTypeFromJSON, + ReactionTypeToJSON, +} from '../models/index'; + +export interface CreateActivityRequest { + activityCreateDto: ActivityCreateDto; +} + +export interface DeleteActivityRequest { + id: string; +} + +export interface GetActivitiesRequest { + albumId: string; + assetId?: string; + level?: ReactionLevel; + type?: ReactionType; + userId?: string; +} + +export interface GetActivityStatisticsRequest { + albumId: string; + assetId?: string; +} + +/** + * + */ +export class ActivityApi extends runtime.BaseAPI { + + /** + */ + async createActivityRaw(requestParameters: CreateActivityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.activityCreateDto === null || requestParameters.activityCreateDto === undefined) { + throw new runtime.RequiredError('activityCreateDto','Required parameter requestParameters.activityCreateDto was null or undefined when calling createActivity.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/activity`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ActivityCreateDtoToJSON(requestParameters.activityCreateDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ActivityResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createActivity(requestParameters: CreateActivityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createActivityRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async deleteActivityRaw(requestParameters: DeleteActivityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteActivity.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/activity/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async deleteActivity(requestParameters: DeleteActivityRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteActivityRaw(requestParameters, initOverrides); + } + + /** + */ + async getActivitiesRaw(requestParameters: GetActivitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.albumId === null || requestParameters.albumId === undefined) { + throw new runtime.RequiredError('albumId','Required parameter requestParameters.albumId was null or undefined when calling getActivities.'); + } + + const queryParameters: any = {}; + + if (requestParameters.albumId !== undefined) { + queryParameters['albumId'] = requestParameters.albumId; + } + + if (requestParameters.assetId !== undefined) { + queryParameters['assetId'] = requestParameters.assetId; + } + + if (requestParameters.level !== undefined) { + queryParameters['level'] = requestParameters.level; + } + + if (requestParameters.type !== undefined) { + queryParameters['type'] = requestParameters.type; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/activity`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ActivityResponseDtoFromJSON)); + } + + /** + */ + async getActivities(requestParameters: GetActivitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getActivitiesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getActivityStatisticsRaw(requestParameters: GetActivityStatisticsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.albumId === null || requestParameters.albumId === undefined) { + throw new runtime.RequiredError('albumId','Required parameter requestParameters.albumId was null or undefined when calling getActivityStatistics.'); + } + + const queryParameters: any = {}; + + if (requestParameters.albumId !== undefined) { + queryParameters['albumId'] = requestParameters.albumId; + } + + if (requestParameters.assetId !== undefined) { + queryParameters['assetId'] = requestParameters.assetId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/activity/statistics`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ActivityStatisticsResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getActivityStatistics(requestParameters: GetActivityStatisticsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getActivityStatisticsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/AlbumApi.ts b/open-api/typescript-sdk/fetch-client/apis/AlbumApi.ts new file mode 100644 index 00000000000000..de5b88f716e7af --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/AlbumApi.ts @@ -0,0 +1,538 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AddUsersDto, + AlbumCountResponseDto, + AlbumResponseDto, + BulkIdResponseDto, + BulkIdsDto, + CreateAlbumDto, + UpdateAlbumDto, +} from '../models/index'; +import { + AddUsersDtoFromJSON, + AddUsersDtoToJSON, + AlbumCountResponseDtoFromJSON, + AlbumCountResponseDtoToJSON, + AlbumResponseDtoFromJSON, + AlbumResponseDtoToJSON, + BulkIdResponseDtoFromJSON, + BulkIdResponseDtoToJSON, + BulkIdsDtoFromJSON, + BulkIdsDtoToJSON, + CreateAlbumDtoFromJSON, + CreateAlbumDtoToJSON, + UpdateAlbumDtoFromJSON, + UpdateAlbumDtoToJSON, +} from '../models/index'; + +export interface AddAssetsToAlbumRequest { + id: string; + bulkIdsDto: BulkIdsDto; + key?: string; +} + +export interface AddUsersToAlbumRequest { + id: string; + addUsersDto: AddUsersDto; +} + +export interface CreateAlbumRequest { + createAlbumDto: CreateAlbumDto; +} + +export interface DeleteAlbumRequest { + id: string; +} + +export interface GetAlbumInfoRequest { + id: string; + key?: string; + withoutAssets?: boolean; +} + +export interface GetAllAlbumsRequest { + assetId?: string; + shared?: boolean; +} + +export interface RemoveAssetFromAlbumRequest { + id: string; + bulkIdsDto: BulkIdsDto; +} + +export interface RemoveUserFromAlbumRequest { + id: string; + userId: string; +} + +export interface UpdateAlbumInfoRequest { + id: string; + updateAlbumDto: UpdateAlbumDto; +} + +/** + * + */ +export class AlbumApi extends runtime.BaseAPI { + + /** + */ + async addAssetsToAlbumRaw(requestParameters: AddAssetsToAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling addAssetsToAlbum.'); + } + + if (requestParameters.bulkIdsDto === null || requestParameters.bulkIdsDto === undefined) { + throw new runtime.RequiredError('bulkIdsDto','Required parameter requestParameters.bulkIdsDto was null or undefined when calling addAssetsToAlbum.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album/{id}/assets`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: BulkIdsDtoToJSON(requestParameters.bulkIdsDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BulkIdResponseDtoFromJSON)); + } + + /** + */ + async addAssetsToAlbum(requestParameters: AddAssetsToAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.addAssetsToAlbumRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async addUsersToAlbumRaw(requestParameters: AddUsersToAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling addUsersToAlbum.'); + } + + if (requestParameters.addUsersDto === null || requestParameters.addUsersDto === undefined) { + throw new runtime.RequiredError('addUsersDto','Required parameter requestParameters.addUsersDto was null or undefined when calling addUsersToAlbum.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album/{id}/users`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: AddUsersDtoToJSON(requestParameters.addUsersDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AlbumResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async addUsersToAlbum(requestParameters: AddUsersToAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.addUsersToAlbumRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async createAlbumRaw(requestParameters: CreateAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.createAlbumDto === null || requestParameters.createAlbumDto === undefined) { + throw new runtime.RequiredError('createAlbumDto','Required parameter requestParameters.createAlbumDto was null or undefined when calling createAlbum.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateAlbumDtoToJSON(requestParameters.createAlbumDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AlbumResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createAlbum(requestParameters: CreateAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createAlbumRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async deleteAlbumRaw(requestParameters: DeleteAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteAlbum.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async deleteAlbum(requestParameters: DeleteAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteAlbumRaw(requestParameters, initOverrides); + } + + /** + */ + async getAlbumCountRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album/count`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AlbumCountResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getAlbumCount(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAlbumCountRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getAlbumInfoRaw(requestParameters: GetAlbumInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getAlbumInfo.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + if (requestParameters.withoutAssets !== undefined) { + queryParameters['withoutAssets'] = requestParameters.withoutAssets; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AlbumResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getAlbumInfo(requestParameters: GetAlbumInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAlbumInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getAllAlbumsRaw(requestParameters: GetAllAlbumsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.assetId !== undefined) { + queryParameters['assetId'] = requestParameters.assetId; + } + + if (requestParameters.shared !== undefined) { + queryParameters['shared'] = requestParameters.shared; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AlbumResponseDtoFromJSON)); + } + + /** + */ + async getAllAlbums(requestParameters: GetAllAlbumsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAllAlbumsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async removeAssetFromAlbumRaw(requestParameters: RemoveAssetFromAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling removeAssetFromAlbum.'); + } + + if (requestParameters.bulkIdsDto === null || requestParameters.bulkIdsDto === undefined) { + throw new runtime.RequiredError('bulkIdsDto','Required parameter requestParameters.bulkIdsDto was null or undefined when calling removeAssetFromAlbum.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album/{id}/assets`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + body: BulkIdsDtoToJSON(requestParameters.bulkIdsDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BulkIdResponseDtoFromJSON)); + } + + /** + */ + async removeAssetFromAlbum(requestParameters: RemoveAssetFromAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.removeAssetFromAlbumRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async removeUserFromAlbumRaw(requestParameters: RemoveUserFromAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling removeUserFromAlbum.'); + } + + if (requestParameters.userId === null || requestParameters.userId === undefined) { + throw new runtime.RequiredError('userId','Required parameter requestParameters.userId was null or undefined when calling removeUserFromAlbum.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album/{id}/user/{userId}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))).replace(`{${"userId"}}`, encodeURIComponent(String(requestParameters.userId))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async removeUserFromAlbum(requestParameters: RemoveUserFromAlbumRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removeUserFromAlbumRaw(requestParameters, initOverrides); + } + + /** + */ + async updateAlbumInfoRaw(requestParameters: UpdateAlbumInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateAlbumInfo.'); + } + + if (requestParameters.updateAlbumDto === null || requestParameters.updateAlbumDto === undefined) { + throw new runtime.RequiredError('updateAlbumDto','Required parameter requestParameters.updateAlbumDto was null or undefined when calling updateAlbumInfo.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/album/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: UpdateAlbumDtoToJSON(requestParameters.updateAlbumDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AlbumResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async updateAlbumInfo(requestParameters: UpdateAlbumInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updateAlbumInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/AssetApi.ts b/open-api/typescript-sdk/fetch-client/apis/AssetApi.ts new file mode 100644 index 00000000000000..5d5ea1b170be20 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/AssetApi.ts @@ -0,0 +1,1963 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AssetBulkDeleteDto, + AssetBulkUpdateDto, + AssetBulkUploadCheckDto, + AssetBulkUploadCheckResponseDto, + AssetFileUploadResponseDto, + AssetIdsDto, + AssetJobsDto, + AssetOrder, + AssetResponseDto, + AssetStatsResponseDto, + AssetTypeEnum, + BulkIdsDto, + CheckExistingAssetsDto, + CheckExistingAssetsResponseDto, + CuratedLocationsResponseDto, + CuratedObjectsResponseDto, + DownloadInfoDto, + DownloadResponseDto, + MapMarkerResponseDto, + MemoryLaneResponseDto, + ThumbnailFormat, + TimeBucketResponseDto, + TimeBucketSize, + UpdateAssetDto, + UpdateStackParentDto, +} from '../models/index'; +import { + AssetBulkDeleteDtoFromJSON, + AssetBulkDeleteDtoToJSON, + AssetBulkUpdateDtoFromJSON, + AssetBulkUpdateDtoToJSON, + AssetBulkUploadCheckDtoFromJSON, + AssetBulkUploadCheckDtoToJSON, + AssetBulkUploadCheckResponseDtoFromJSON, + AssetBulkUploadCheckResponseDtoToJSON, + AssetFileUploadResponseDtoFromJSON, + AssetFileUploadResponseDtoToJSON, + AssetIdsDtoFromJSON, + AssetIdsDtoToJSON, + AssetJobsDtoFromJSON, + AssetJobsDtoToJSON, + AssetOrderFromJSON, + AssetOrderToJSON, + AssetResponseDtoFromJSON, + AssetResponseDtoToJSON, + AssetStatsResponseDtoFromJSON, + AssetStatsResponseDtoToJSON, + AssetTypeEnumFromJSON, + AssetTypeEnumToJSON, + BulkIdsDtoFromJSON, + BulkIdsDtoToJSON, + CheckExistingAssetsDtoFromJSON, + CheckExistingAssetsDtoToJSON, + CheckExistingAssetsResponseDtoFromJSON, + CheckExistingAssetsResponseDtoToJSON, + CuratedLocationsResponseDtoFromJSON, + CuratedLocationsResponseDtoToJSON, + CuratedObjectsResponseDtoFromJSON, + CuratedObjectsResponseDtoToJSON, + DownloadInfoDtoFromJSON, + DownloadInfoDtoToJSON, + DownloadResponseDtoFromJSON, + DownloadResponseDtoToJSON, + MapMarkerResponseDtoFromJSON, + MapMarkerResponseDtoToJSON, + MemoryLaneResponseDtoFromJSON, + MemoryLaneResponseDtoToJSON, + ThumbnailFormatFromJSON, + ThumbnailFormatToJSON, + TimeBucketResponseDtoFromJSON, + TimeBucketResponseDtoToJSON, + TimeBucketSizeFromJSON, + TimeBucketSizeToJSON, + UpdateAssetDtoFromJSON, + UpdateAssetDtoToJSON, + UpdateStackParentDtoFromJSON, + UpdateStackParentDtoToJSON, +} from '../models/index'; + +export interface CheckBulkUploadRequest { + assetBulkUploadCheckDto: AssetBulkUploadCheckDto; +} + +export interface CheckExistingAssetsRequest { + checkExistingAssetsDto: CheckExistingAssetsDto; +} + +export interface DeleteAssetsRequest { + assetBulkDeleteDto: AssetBulkDeleteDto; +} + +export interface DownloadArchiveOldRequest { + assetIdsDto: AssetIdsDto; + key?: string; +} + +export interface DownloadFileOldRequest { + id: string; + key?: string; +} + +export interface GetAllAssetsRequest { + ifNoneMatch?: string; + isArchived?: boolean; + isFavorite?: boolean; + skip?: number; + take?: number; + updatedAfter?: Date; + updatedBefore?: Date; + userId?: string; +} + +export interface GetAllUserAssetsByDeviceIdRequest { + deviceId: string; +} + +export interface GetAssetByIdRequest { + id: string; + key?: string; +} + +export interface GetAssetInfoRequest { + id: string; + key?: string; +} + +export interface GetAssetStatisticsRequest { + isArchived?: boolean; + isFavorite?: boolean; + isTrashed?: boolean; +} + +export interface GetAssetThumbnailRequest { + id: string; + format?: ThumbnailFormat; + key?: string; +} + +export interface GetDownloadInfoOldRequest { + downloadInfoDto: DownloadInfoDto; + key?: string; +} + +export interface GetMapMarkersRequest { + fileCreatedAfter?: Date; + fileCreatedBefore?: Date; + isArchived?: boolean; + isFavorite?: boolean; +} + +export interface GetMemoryLaneRequest { + day: number; + month: number; +} + +export interface GetRandomRequest { + count?: number; +} + +export interface GetTimeBucketRequest { + size: TimeBucketSize; + timeBucket: string; + albumId?: string; + isArchived?: boolean; + isFavorite?: boolean; + isTrashed?: boolean; + key?: string; + personId?: string; + userId?: string; + withPartners?: boolean; + withStacked?: boolean; +} + +export interface GetTimeBucketsRequest { + size: TimeBucketSize; + albumId?: string; + isArchived?: boolean; + isFavorite?: boolean; + isTrashed?: boolean; + key?: string; + personId?: string; + userId?: string; + withPartners?: boolean; + withStacked?: boolean; +} + +export interface RestoreAssetsOldRequest { + bulkIdsDto: BulkIdsDto; +} + +export interface RunAssetJobsRequest { + assetJobsDto: AssetJobsDto; +} + +export interface SearchAssetsRequest { + checksum?: string; + city?: string; + country?: string; + createdAfter?: Date; + createdBefore?: Date; + deviceAssetId?: string; + deviceId?: string; + encodedVideoPath?: string; + id?: string; + isArchived?: boolean; + isEncoded?: boolean; + isExternal?: boolean; + isFavorite?: boolean; + isMotion?: boolean; + isOffline?: boolean; + isReadOnly?: boolean; + isVisible?: boolean; + lensModel?: string; + libraryId?: string; + make?: string; + model?: string; + order?: AssetOrder; + originalFileName?: string; + originalPath?: string; + page?: number; + resizePath?: string; + size?: number; + state?: string; + takenAfter?: Date; + takenBefore?: Date; + trashedAfter?: Date; + trashedBefore?: Date; + type?: AssetTypeEnum; + updatedAfter?: Date; + updatedBefore?: Date; + webpPath?: string; + withDeleted?: boolean; + withExif?: boolean; + withPeople?: boolean; + withStacked?: boolean; +} + +export interface ServeFileRequest { + id: string; + isThumb?: boolean; + isWeb?: boolean; + key?: string; +} + +export interface UpdateAssetRequest { + id: string; + updateAssetDto: UpdateAssetDto; +} + +export interface UpdateAssetsRequest { + assetBulkUpdateDto: AssetBulkUpdateDto; +} + +export interface UpdateStackParentRequest { + updateStackParentDto: UpdateStackParentDto; +} + +export interface UploadFileRequest { + assetData: Blob; + deviceAssetId: string; + deviceId: string; + fileCreatedAt: Date; + fileModifiedAt: Date; + key?: string; + duration?: string; + isArchived?: boolean; + isExternal?: boolean; + isFavorite?: boolean; + isOffline?: boolean; + isReadOnly?: boolean; + isVisible?: boolean; + libraryId?: string; + livePhotoData?: Blob; + sidecarData?: Blob; +} + +/** + * + */ +export class AssetApi extends runtime.BaseAPI { + + /** + * Checks if assets exist by checksums + */ + async checkBulkUploadRaw(requestParameters: CheckBulkUploadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.assetBulkUploadCheckDto === null || requestParameters.assetBulkUploadCheckDto === undefined) { + throw new runtime.RequiredError('assetBulkUploadCheckDto','Required parameter requestParameters.assetBulkUploadCheckDto was null or undefined when calling checkBulkUpload.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/bulk-upload-check`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AssetBulkUploadCheckDtoToJSON(requestParameters.assetBulkUploadCheckDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AssetBulkUploadCheckResponseDtoFromJSON(jsonValue)); + } + + /** + * Checks if assets exist by checksums + */ + async checkBulkUpload(requestParameters: CheckBulkUploadRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.checkBulkUploadRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Checks if multiple assets exist on the server and returns all existing - used by background backup + */ + async checkExistingAssetsRaw(requestParameters: CheckExistingAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.checkExistingAssetsDto === null || requestParameters.checkExistingAssetsDto === undefined) { + throw new runtime.RequiredError('checkExistingAssetsDto','Required parameter requestParameters.checkExistingAssetsDto was null or undefined when calling checkExistingAssets.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/exist`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CheckExistingAssetsDtoToJSON(requestParameters.checkExistingAssetsDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CheckExistingAssetsResponseDtoFromJSON(jsonValue)); + } + + /** + * Checks if multiple assets exist on the server and returns all existing - used by background backup + */ + async checkExistingAssets(requestParameters: CheckExistingAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.checkExistingAssetsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async deleteAssetsRaw(requestParameters: DeleteAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.assetBulkDeleteDto === null || requestParameters.assetBulkDeleteDto === undefined) { + throw new runtime.RequiredError('assetBulkDeleteDto','Required parameter requestParameters.assetBulkDeleteDto was null or undefined when calling deleteAssets.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + body: AssetBulkDeleteDtoToJSON(requestParameters.assetBulkDeleteDto), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async deleteAssets(requestParameters: DeleteAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteAssetsRaw(requestParameters, initOverrides); + } + + /** + */ + async downloadArchiveOldRaw(requestParameters: DownloadArchiveOldRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.assetIdsDto === null || requestParameters.assetIdsDto === undefined) { + throw new runtime.RequiredError('assetIdsDto','Required parameter requestParameters.assetIdsDto was null or undefined when calling downloadArchiveOld.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/download/archive`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AssetIdsDtoToJSON(requestParameters.assetIdsDto), + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + */ + async downloadArchiveOld(requestParameters: DownloadArchiveOldRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.downloadArchiveOldRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async downloadFileOldRaw(requestParameters: DownloadFileOldRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling downloadFileOld.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/download/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + */ + async downloadFileOld(requestParameters: DownloadFileOldRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.downloadFileOldRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async emptyTrashOldRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/trash/empty`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async emptyTrashOld(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.emptyTrashOldRaw(initOverrides); + } + + /** + * Get all AssetEntity belong to the user + */ + async getAllAssetsRaw(requestParameters: GetAllAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.isArchived !== undefined) { + queryParameters['isArchived'] = requestParameters.isArchived; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.skip !== undefined) { + queryParameters['skip'] = requestParameters.skip; + } + + if (requestParameters.take !== undefined) { + queryParameters['take'] = requestParameters.take; + } + + if (requestParameters.updatedAfter !== undefined) { + queryParameters['updatedAfter'] = (requestParameters.updatedAfter as any).toISOString(); + } + + if (requestParameters.updatedBefore !== undefined) { + queryParameters['updatedBefore'] = (requestParameters.updatedBefore as any).toISOString(); + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (requestParameters.ifNoneMatch !== undefined && requestParameters.ifNoneMatch !== null) { + headerParameters['if-none-match'] = String(requestParameters.ifNoneMatch); + } + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetResponseDtoFromJSON)); + } + + /** + * Get all AssetEntity belong to the user + */ + async getAllAssets(requestParameters: GetAllAssetsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAllAssetsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get all asset of a device that are in the database, ID only. + */ + async getAllUserAssetsByDeviceIdRaw(requestParameters: GetAllUserAssetsByDeviceIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.deviceId === null || requestParameters.deviceId === undefined) { + throw new runtime.RequiredError('deviceId','Required parameter requestParameters.deviceId was null or undefined when calling getAllUserAssetsByDeviceId.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/device/{deviceId}`.replace(`{${"deviceId"}}`, encodeURIComponent(String(requestParameters.deviceId))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response); + } + + /** + * Get all asset of a device that are in the database, ID only. + */ + async getAllUserAssetsByDeviceId(requestParameters: GetAllUserAssetsByDeviceIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAllUserAssetsByDeviceIdRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * Get a single asset\'s information + * @deprecated + */ + async getAssetByIdRaw(requestParameters: GetAssetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getAssetById.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/assetById/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AssetResponseDtoFromJSON(jsonValue)); + } + + /** + * Get a single asset\'s information + * @deprecated + */ + async getAssetById(requestParameters: GetAssetByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAssetByIdRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getAssetInfoRaw(requestParameters: GetAssetInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getAssetInfo.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AssetResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getAssetInfo(requestParameters: GetAssetInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAssetInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getAssetSearchTermsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/search-terms`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response); + } + + /** + */ + async getAssetSearchTerms(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAssetSearchTermsRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getAssetStatisticsRaw(requestParameters: GetAssetStatisticsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.isArchived !== undefined) { + queryParameters['isArchived'] = requestParameters.isArchived; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.isTrashed !== undefined) { + queryParameters['isTrashed'] = requestParameters.isTrashed; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/statistics`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AssetStatsResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getAssetStatistics(requestParameters: GetAssetStatisticsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAssetStatisticsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getAssetThumbnailRaw(requestParameters: GetAssetThumbnailRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getAssetThumbnail.'); + } + + const queryParameters: any = {}; + + if (requestParameters.format !== undefined) { + queryParameters['format'] = requestParameters.format; + } + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/thumbnail/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + */ + async getAssetThumbnail(requestParameters: GetAssetThumbnailRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAssetThumbnailRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getCuratedLocationsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/curated-locations`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CuratedLocationsResponseDtoFromJSON)); + } + + /** + */ + async getCuratedLocations(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getCuratedLocationsRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getCuratedObjectsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/curated-objects`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(CuratedObjectsResponseDtoFromJSON)); + } + + /** + */ + async getCuratedObjects(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getCuratedObjectsRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getDownloadInfoOldRaw(requestParameters: GetDownloadInfoOldRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.downloadInfoDto === null || requestParameters.downloadInfoDto === undefined) { + throw new runtime.RequiredError('downloadInfoDto','Required parameter requestParameters.downloadInfoDto was null or undefined when calling getDownloadInfoOld.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/download/info`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: DownloadInfoDtoToJSON(requestParameters.downloadInfoDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DownloadResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getDownloadInfoOld(requestParameters: GetDownloadInfoOldRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDownloadInfoOldRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getMapMarkersRaw(requestParameters: GetMapMarkersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.fileCreatedAfter !== undefined) { + queryParameters['fileCreatedAfter'] = (requestParameters.fileCreatedAfter as any).toISOString(); + } + + if (requestParameters.fileCreatedBefore !== undefined) { + queryParameters['fileCreatedBefore'] = (requestParameters.fileCreatedBefore as any).toISOString(); + } + + if (requestParameters.isArchived !== undefined) { + queryParameters['isArchived'] = requestParameters.isArchived; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/map-marker`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(MapMarkerResponseDtoFromJSON)); + } + + /** + */ + async getMapMarkers(requestParameters: GetMapMarkersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getMapMarkersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getMemoryLaneRaw(requestParameters: GetMemoryLaneRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.day === null || requestParameters.day === undefined) { + throw new runtime.RequiredError('day','Required parameter requestParameters.day was null or undefined when calling getMemoryLane.'); + } + + if (requestParameters.month === null || requestParameters.month === undefined) { + throw new runtime.RequiredError('month','Required parameter requestParameters.month was null or undefined when calling getMemoryLane.'); + } + + const queryParameters: any = {}; + + if (requestParameters.day !== undefined) { + queryParameters['day'] = requestParameters.day; + } + + if (requestParameters.month !== undefined) { + queryParameters['month'] = requestParameters.month; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/memory-lane`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(MemoryLaneResponseDtoFromJSON)); + } + + /** + */ + async getMemoryLane(requestParameters: GetMemoryLaneRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getMemoryLaneRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getRandomRaw(requestParameters: GetRandomRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.count !== undefined) { + queryParameters['count'] = requestParameters.count; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/random`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetResponseDtoFromJSON)); + } + + /** + */ + async getRandom(requestParameters: GetRandomRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getRandomRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getTimeBucketRaw(requestParameters: GetTimeBucketRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.size === null || requestParameters.size === undefined) { + throw new runtime.RequiredError('size','Required parameter requestParameters.size was null or undefined when calling getTimeBucket.'); + } + + if (requestParameters.timeBucket === null || requestParameters.timeBucket === undefined) { + throw new runtime.RequiredError('timeBucket','Required parameter requestParameters.timeBucket was null or undefined when calling getTimeBucket.'); + } + + const queryParameters: any = {}; + + if (requestParameters.albumId !== undefined) { + queryParameters['albumId'] = requestParameters.albumId; + } + + if (requestParameters.isArchived !== undefined) { + queryParameters['isArchived'] = requestParameters.isArchived; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.isTrashed !== undefined) { + queryParameters['isTrashed'] = requestParameters.isTrashed; + } + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + if (requestParameters.personId !== undefined) { + queryParameters['personId'] = requestParameters.personId; + } + + if (requestParameters.size !== undefined) { + queryParameters['size'] = requestParameters.size; + } + + if (requestParameters.timeBucket !== undefined) { + queryParameters['timeBucket'] = requestParameters.timeBucket; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.withPartners !== undefined) { + queryParameters['withPartners'] = requestParameters.withPartners; + } + + if (requestParameters.withStacked !== undefined) { + queryParameters['withStacked'] = requestParameters.withStacked; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/time-bucket`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetResponseDtoFromJSON)); + } + + /** + */ + async getTimeBucket(requestParameters: GetTimeBucketRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getTimeBucketRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getTimeBucketsRaw(requestParameters: GetTimeBucketsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.size === null || requestParameters.size === undefined) { + throw new runtime.RequiredError('size','Required parameter requestParameters.size was null or undefined when calling getTimeBuckets.'); + } + + const queryParameters: any = {}; + + if (requestParameters.albumId !== undefined) { + queryParameters['albumId'] = requestParameters.albumId; + } + + if (requestParameters.isArchived !== undefined) { + queryParameters['isArchived'] = requestParameters.isArchived; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.isTrashed !== undefined) { + queryParameters['isTrashed'] = requestParameters.isTrashed; + } + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + if (requestParameters.personId !== undefined) { + queryParameters['personId'] = requestParameters.personId; + } + + if (requestParameters.size !== undefined) { + queryParameters['size'] = requestParameters.size; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + if (requestParameters.withPartners !== undefined) { + queryParameters['withPartners'] = requestParameters.withPartners; + } + + if (requestParameters.withStacked !== undefined) { + queryParameters['withStacked'] = requestParameters.withStacked; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/time-buckets`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(TimeBucketResponseDtoFromJSON)); + } + + /** + */ + async getTimeBuckets(requestParameters: GetTimeBucketsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getTimeBucketsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async restoreAssetsOldRaw(requestParameters: RestoreAssetsOldRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.bulkIdsDto === null || requestParameters.bulkIdsDto === undefined) { + throw new runtime.RequiredError('bulkIdsDto','Required parameter requestParameters.bulkIdsDto was null or undefined when calling restoreAssetsOld.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/restore`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: BulkIdsDtoToJSON(requestParameters.bulkIdsDto), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async restoreAssetsOld(requestParameters: RestoreAssetsOldRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.restoreAssetsOldRaw(requestParameters, initOverrides); + } + + /** + */ + async restoreTrashOldRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/trash/restore`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async restoreTrashOld(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.restoreTrashOldRaw(initOverrides); + } + + /** + */ + async runAssetJobsRaw(requestParameters: RunAssetJobsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.assetJobsDto === null || requestParameters.assetJobsDto === undefined) { + throw new runtime.RequiredError('assetJobsDto','Required parameter requestParameters.assetJobsDto was null or undefined when calling runAssetJobs.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/jobs`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AssetJobsDtoToJSON(requestParameters.assetJobsDto), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async runAssetJobs(requestParameters: RunAssetJobsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.runAssetJobsRaw(requestParameters, initOverrides); + } + + /** + */ + async searchAssetsRaw(requestParameters: SearchAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + if (requestParameters.checksum !== undefined) { + queryParameters['checksum'] = requestParameters.checksum; + } + + if (requestParameters.city !== undefined) { + queryParameters['city'] = requestParameters.city; + } + + if (requestParameters.country !== undefined) { + queryParameters['country'] = requestParameters.country; + } + + if (requestParameters.createdAfter !== undefined) { + queryParameters['createdAfter'] = (requestParameters.createdAfter as any).toISOString(); + } + + if (requestParameters.createdBefore !== undefined) { + queryParameters['createdBefore'] = (requestParameters.createdBefore as any).toISOString(); + } + + if (requestParameters.deviceAssetId !== undefined) { + queryParameters['deviceAssetId'] = requestParameters.deviceAssetId; + } + + if (requestParameters.deviceId !== undefined) { + queryParameters['deviceId'] = requestParameters.deviceId; + } + + if (requestParameters.encodedVideoPath !== undefined) { + queryParameters['encodedVideoPath'] = requestParameters.encodedVideoPath; + } + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + if (requestParameters.isArchived !== undefined) { + queryParameters['isArchived'] = requestParameters.isArchived; + } + + if (requestParameters.isEncoded !== undefined) { + queryParameters['isEncoded'] = requestParameters.isEncoded; + } + + if (requestParameters.isExternal !== undefined) { + queryParameters['isExternal'] = requestParameters.isExternal; + } + + if (requestParameters.isFavorite !== undefined) { + queryParameters['isFavorite'] = requestParameters.isFavorite; + } + + if (requestParameters.isMotion !== undefined) { + queryParameters['isMotion'] = requestParameters.isMotion; + } + + if (requestParameters.isOffline !== undefined) { + queryParameters['isOffline'] = requestParameters.isOffline; + } + + if (requestParameters.isReadOnly !== undefined) { + queryParameters['isReadOnly'] = requestParameters.isReadOnly; + } + + if (requestParameters.isVisible !== undefined) { + queryParameters['isVisible'] = requestParameters.isVisible; + } + + if (requestParameters.lensModel !== undefined) { + queryParameters['lensModel'] = requestParameters.lensModel; + } + + if (requestParameters.libraryId !== undefined) { + queryParameters['libraryId'] = requestParameters.libraryId; + } + + if (requestParameters.make !== undefined) { + queryParameters['make'] = requestParameters.make; + } + + if (requestParameters.model !== undefined) { + queryParameters['model'] = requestParameters.model; + } + + if (requestParameters.order !== undefined) { + queryParameters['order'] = requestParameters.order; + } + + if (requestParameters.originalFileName !== undefined) { + queryParameters['originalFileName'] = requestParameters.originalFileName; + } + + if (requestParameters.originalPath !== undefined) { + queryParameters['originalPath'] = requestParameters.originalPath; + } + + if (requestParameters.page !== undefined) { + queryParameters['page'] = requestParameters.page; + } + + if (requestParameters.resizePath !== undefined) { + queryParameters['resizePath'] = requestParameters.resizePath; + } + + if (requestParameters.size !== undefined) { + queryParameters['size'] = requestParameters.size; + } + + if (requestParameters.state !== undefined) { + queryParameters['state'] = requestParameters.state; + } + + if (requestParameters.takenAfter !== undefined) { + queryParameters['takenAfter'] = (requestParameters.takenAfter as any).toISOString(); + } + + if (requestParameters.takenBefore !== undefined) { + queryParameters['takenBefore'] = (requestParameters.takenBefore as any).toISOString(); + } + + if (requestParameters.trashedAfter !== undefined) { + queryParameters['trashedAfter'] = (requestParameters.trashedAfter as any).toISOString(); + } + + if (requestParameters.trashedBefore !== undefined) { + queryParameters['trashedBefore'] = (requestParameters.trashedBefore as any).toISOString(); + } + + if (requestParameters.type !== undefined) { + queryParameters['type'] = requestParameters.type; + } + + if (requestParameters.updatedAfter !== undefined) { + queryParameters['updatedAfter'] = (requestParameters.updatedAfter as any).toISOString(); + } + + if (requestParameters.updatedBefore !== undefined) { + queryParameters['updatedBefore'] = (requestParameters.updatedBefore as any).toISOString(); + } + + if (requestParameters.webpPath !== undefined) { + queryParameters['webpPath'] = requestParameters.webpPath; + } + + if (requestParameters.withDeleted !== undefined) { + queryParameters['withDeleted'] = requestParameters.withDeleted; + } + + if (requestParameters.withExif !== undefined) { + queryParameters['withExif'] = requestParameters.withExif; + } + + if (requestParameters.withPeople !== undefined) { + queryParameters['withPeople'] = requestParameters.withPeople; + } + + if (requestParameters.withStacked !== undefined) { + queryParameters['withStacked'] = requestParameters.withStacked; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/assets`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetResponseDtoFromJSON)); + } + + /** + */ + async searchAssets(requestParameters: SearchAssetsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.searchAssetsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async serveFileRaw(requestParameters: ServeFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling serveFile.'); + } + + const queryParameters: any = {}; + + if (requestParameters.isThumb !== undefined) { + queryParameters['isThumb'] = requestParameters.isThumb; + } + + if (requestParameters.isWeb !== undefined) { + queryParameters['isWeb'] = requestParameters.isWeb; + } + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/file/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + */ + async serveFile(requestParameters: ServeFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.serveFileRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async updateAssetRaw(requestParameters: UpdateAssetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateAsset.'); + } + + if (requestParameters.updateAssetDto === null || requestParameters.updateAssetDto === undefined) { + throw new runtime.RequiredError('updateAssetDto','Required parameter requestParameters.updateAssetDto was null or undefined when calling updateAsset.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: UpdateAssetDtoToJSON(requestParameters.updateAssetDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AssetResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async updateAsset(requestParameters: UpdateAssetRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updateAssetRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async updateAssetsRaw(requestParameters: UpdateAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.assetBulkUpdateDto === null || requestParameters.assetBulkUpdateDto === undefined) { + throw new runtime.RequiredError('assetBulkUpdateDto','Required parameter requestParameters.assetBulkUpdateDto was null or undefined when calling updateAssets.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset`, + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: AssetBulkUpdateDtoToJSON(requestParameters.assetBulkUpdateDto), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async updateAssets(requestParameters: UpdateAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateAssetsRaw(requestParameters, initOverrides); + } + + /** + */ + async updateStackParentRaw(requestParameters: UpdateStackParentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.updateStackParentDto === null || requestParameters.updateStackParentDto === undefined) { + throw new runtime.RequiredError('updateStackParentDto','Required parameter requestParameters.updateStackParentDto was null or undefined when calling updateStackParent.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/asset/stack/parent`, + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: UpdateStackParentDtoToJSON(requestParameters.updateStackParentDto), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async updateStackParent(requestParameters: UpdateStackParentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.updateStackParentRaw(requestParameters, initOverrides); + } + + /** + */ + async uploadFileRaw(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.assetData === null || requestParameters.assetData === undefined) { + throw new runtime.RequiredError('assetData','Required parameter requestParameters.assetData was null or undefined when calling uploadFile.'); + } + + if (requestParameters.deviceAssetId === null || requestParameters.deviceAssetId === undefined) { + throw new runtime.RequiredError('deviceAssetId','Required parameter requestParameters.deviceAssetId was null or undefined when calling uploadFile.'); + } + + if (requestParameters.deviceId === null || requestParameters.deviceId === undefined) { + throw new runtime.RequiredError('deviceId','Required parameter requestParameters.deviceId was null or undefined when calling uploadFile.'); + } + + if (requestParameters.fileCreatedAt === null || requestParameters.fileCreatedAt === undefined) { + throw new runtime.RequiredError('fileCreatedAt','Required parameter requestParameters.fileCreatedAt was null or undefined when calling uploadFile.'); + } + + if (requestParameters.fileModifiedAt === null || requestParameters.fileModifiedAt === undefined) { + throw new runtime.RequiredError('fileModifiedAt','Required parameter requestParameters.fileModifiedAt was null or undefined when calling uploadFile.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const consumes: runtime.Consume[] = [ + { contentType: 'multipart/form-data' }, + ]; + // @ts-ignore: canConsumeForm may be unused + const canConsumeForm = runtime.canConsumeForm(consumes); + + let formParams: { append(param: string, value: any): any }; + let useForm = false; + // use FormData to transmit files using content-type "multipart/form-data" + useForm = canConsumeForm; + // use FormData to transmit files using content-type "multipart/form-data" + useForm = canConsumeForm; + // use FormData to transmit files using content-type "multipart/form-data" + useForm = canConsumeForm; + if (useForm) { + formParams = new FormData(); + } else { + formParams = new URLSearchParams(); + } + + if (requestParameters.assetData !== undefined) { + formParams.append('assetData', requestParameters.assetData as any); + } + + if (requestParameters.deviceAssetId !== undefined) { + formParams.append('deviceAssetId', requestParameters.deviceAssetId as any); + } + + if (requestParameters.deviceId !== undefined) { + formParams.append('deviceId', requestParameters.deviceId as any); + } + + if (requestParameters.duration !== undefined) { + formParams.append('duration', requestParameters.duration as any); + } + + if (requestParameters.fileCreatedAt !== undefined) { + formParams.append('fileCreatedAt', requestParameters.fileCreatedAt as any); + } + + if (requestParameters.fileModifiedAt !== undefined) { + formParams.append('fileModifiedAt', requestParameters.fileModifiedAt as any); + } + + if (requestParameters.isArchived !== undefined) { + formParams.append('isArchived', requestParameters.isArchived as any); + } + + if (requestParameters.isExternal !== undefined) { + formParams.append('isExternal', requestParameters.isExternal as any); + } + + if (requestParameters.isFavorite !== undefined) { + formParams.append('isFavorite', requestParameters.isFavorite as any); + } + + if (requestParameters.isOffline !== undefined) { + formParams.append('isOffline', requestParameters.isOffline as any); + } + + if (requestParameters.isReadOnly !== undefined) { + formParams.append('isReadOnly', requestParameters.isReadOnly as any); + } + + if (requestParameters.isVisible !== undefined) { + formParams.append('isVisible', requestParameters.isVisible as any); + } + + if (requestParameters.libraryId !== undefined) { + formParams.append('libraryId', requestParameters.libraryId as any); + } + + if (requestParameters.livePhotoData !== undefined) { + formParams.append('livePhotoData', requestParameters.livePhotoData as any); + } + + if (requestParameters.sidecarData !== undefined) { + formParams.append('sidecarData', requestParameters.sidecarData as any); + } + + const response = await this.request({ + path: `/asset/upload`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: formParams, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AssetFileUploadResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async uploadFile(requestParameters: UploadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.uploadFileRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/AuditApi.ts b/open-api/typescript-sdk/fetch-client/apis/AuditApi.ts new file mode 100644 index 00000000000000..5c8fd0f4a3ab27 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/AuditApi.ts @@ -0,0 +1,236 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AuditDeletesResponseDto, + EntityType, + FileChecksumDto, + FileChecksumResponseDto, + FileReportDto, + FileReportFixDto, +} from '../models/index'; +import { + AuditDeletesResponseDtoFromJSON, + AuditDeletesResponseDtoToJSON, + EntityTypeFromJSON, + EntityTypeToJSON, + FileChecksumDtoFromJSON, + FileChecksumDtoToJSON, + FileChecksumResponseDtoFromJSON, + FileChecksumResponseDtoToJSON, + FileReportDtoFromJSON, + FileReportDtoToJSON, + FileReportFixDtoFromJSON, + FileReportFixDtoToJSON, +} from '../models/index'; + +export interface FixAuditFilesRequest { + fileReportFixDto: FileReportFixDto; +} + +export interface GetAuditDeletesRequest { + after: Date; + entityType: EntityType; + userId?: string; +} + +export interface GetFileChecksumsRequest { + fileChecksumDto: FileChecksumDto; +} + +/** + * + */ +export class AuditApi extends runtime.BaseAPI { + + /** + */ + async fixAuditFilesRaw(requestParameters: FixAuditFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.fileReportFixDto === null || requestParameters.fileReportFixDto === undefined) { + throw new runtime.RequiredError('fileReportFixDto','Required parameter requestParameters.fileReportFixDto was null or undefined when calling fixAuditFiles.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/audit/file-report/fix`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: FileReportFixDtoToJSON(requestParameters.fileReportFixDto), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async fixAuditFiles(requestParameters: FixAuditFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.fixAuditFilesRaw(requestParameters, initOverrides); + } + + /** + */ + async getAuditDeletesRaw(requestParameters: GetAuditDeletesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.after === null || requestParameters.after === undefined) { + throw new runtime.RequiredError('after','Required parameter requestParameters.after was null or undefined when calling getAuditDeletes.'); + } + + if (requestParameters.entityType === null || requestParameters.entityType === undefined) { + throw new runtime.RequiredError('entityType','Required parameter requestParameters.entityType was null or undefined when calling getAuditDeletes.'); + } + + const queryParameters: any = {}; + + if (requestParameters.after !== undefined) { + queryParameters['after'] = (requestParameters.after as any).toISOString(); + } + + if (requestParameters.entityType !== undefined) { + queryParameters['entityType'] = requestParameters.entityType; + } + + if (requestParameters.userId !== undefined) { + queryParameters['userId'] = requestParameters.userId; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/audit/deletes`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AuditDeletesResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getAuditDeletes(requestParameters: GetAuditDeletesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAuditDeletesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getAuditFilesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/audit/file-report`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => FileReportDtoFromJSON(jsonValue)); + } + + /** + */ + async getAuditFiles(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAuditFilesRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getFileChecksumsRaw(requestParameters: GetFileChecksumsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.fileChecksumDto === null || requestParameters.fileChecksumDto === undefined) { + throw new runtime.RequiredError('fileChecksumDto','Required parameter requestParameters.fileChecksumDto was null or undefined when calling getFileChecksums.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/audit/file-report/checksum`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: FileChecksumDtoToJSON(requestParameters.fileChecksumDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(FileChecksumResponseDtoFromJSON)); + } + + /** + */ + async getFileChecksums(requestParameters: GetFileChecksumsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getFileChecksumsRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/AuthenticationApi.ts b/open-api/typescript-sdk/fetch-client/apis/AuthenticationApi.ts new file mode 100644 index 00000000000000..3580a35a59e5f2 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/AuthenticationApi.ts @@ -0,0 +1,354 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AuthDeviceResponseDto, + ChangePasswordDto, + LoginCredentialDto, + LoginResponseDto, + LogoutResponseDto, + SignUpDto, + UserResponseDto, + ValidateAccessTokenResponseDto, +} from '../models/index'; +import { + AuthDeviceResponseDtoFromJSON, + AuthDeviceResponseDtoToJSON, + ChangePasswordDtoFromJSON, + ChangePasswordDtoToJSON, + LoginCredentialDtoFromJSON, + LoginCredentialDtoToJSON, + LoginResponseDtoFromJSON, + LoginResponseDtoToJSON, + LogoutResponseDtoFromJSON, + LogoutResponseDtoToJSON, + SignUpDtoFromJSON, + SignUpDtoToJSON, + UserResponseDtoFromJSON, + UserResponseDtoToJSON, + ValidateAccessTokenResponseDtoFromJSON, + ValidateAccessTokenResponseDtoToJSON, +} from '../models/index'; + +export interface ChangePasswordRequest { + changePasswordDto: ChangePasswordDto; +} + +export interface LoginRequest { + loginCredentialDto: LoginCredentialDto; +} + +export interface LogoutAuthDeviceRequest { + id: string; +} + +export interface SignUpAdminRequest { + signUpDto: SignUpDto; +} + +/** + * + */ +export class AuthenticationApi extends runtime.BaseAPI { + + /** + */ + async changePasswordRaw(requestParameters: ChangePasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.changePasswordDto === null || requestParameters.changePasswordDto === undefined) { + throw new runtime.RequiredError('changePasswordDto','Required parameter requestParameters.changePasswordDto was null or undefined when calling changePassword.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/auth/change-password`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ChangePasswordDtoToJSON(requestParameters.changePasswordDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async changePassword(requestParameters: ChangePasswordRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.changePasswordRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getAuthDevicesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/auth/devices`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AuthDeviceResponseDtoFromJSON)); + } + + /** + */ + async getAuthDevices(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAuthDevicesRaw(initOverrides); + return await response.value(); + } + + /** + */ + async loginRaw(requestParameters: LoginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.loginCredentialDto === null || requestParameters.loginCredentialDto === undefined) { + throw new runtime.RequiredError('loginCredentialDto','Required parameter requestParameters.loginCredentialDto was null or undefined when calling login.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/auth/login`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: LoginCredentialDtoToJSON(requestParameters.loginCredentialDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LoginResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async login(requestParameters: LoginRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.loginRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async logoutRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/auth/logout`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LogoutResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async logout(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.logoutRaw(initOverrides); + return await response.value(); + } + + /** + */ + async logoutAuthDeviceRaw(requestParameters: LogoutAuthDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling logoutAuthDevice.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/auth/devices/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async logoutAuthDevice(requestParameters: LogoutAuthDeviceRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.logoutAuthDeviceRaw(requestParameters, initOverrides); + } + + /** + */ + async logoutAuthDevicesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/auth/devices`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async logoutAuthDevices(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.logoutAuthDevicesRaw(initOverrides); + } + + /** + */ + async signUpAdminRaw(requestParameters: SignUpAdminRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.signUpDto === null || requestParameters.signUpDto === undefined) { + throw new runtime.RequiredError('signUpDto','Required parameter requestParameters.signUpDto was null or undefined when calling signUpAdmin.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/auth/admin-sign-up`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SignUpDtoToJSON(requestParameters.signUpDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async signUpAdmin(requestParameters: SignUpAdminRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.signUpAdminRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async validateAccessTokenRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/auth/validateToken`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ValidateAccessTokenResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async validateAccessToken(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.validateAccessTokenRaw(initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/DownloadApi.ts b/open-api/typescript-sdk/fetch-client/apis/DownloadApi.ts new file mode 100644 index 00000000000000..7884b9848f16b7 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/DownloadApi.ts @@ -0,0 +1,189 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AssetIdsDto, + DownloadInfoDto, + DownloadResponseDto, +} from '../models/index'; +import { + AssetIdsDtoFromJSON, + AssetIdsDtoToJSON, + DownloadInfoDtoFromJSON, + DownloadInfoDtoToJSON, + DownloadResponseDtoFromJSON, + DownloadResponseDtoToJSON, +} from '../models/index'; + +export interface DownloadArchiveRequest { + assetIdsDto: AssetIdsDto; + key?: string; +} + +export interface DownloadFileRequest { + id: string; + key?: string; +} + +export interface GetDownloadInfoRequest { + downloadInfoDto: DownloadInfoDto; + key?: string; +} + +/** + * + */ +export class DownloadApi extends runtime.BaseAPI { + + /** + */ + async downloadArchiveRaw(requestParameters: DownloadArchiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.assetIdsDto === null || requestParameters.assetIdsDto === undefined) { + throw new runtime.RequiredError('assetIdsDto','Required parameter requestParameters.assetIdsDto was null or undefined when calling downloadArchive.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/download/archive`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: AssetIdsDtoToJSON(requestParameters.assetIdsDto), + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + */ + async downloadArchive(requestParameters: DownloadArchiveRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.downloadArchiveRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async downloadFileRaw(requestParameters: DownloadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling downloadFile.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/download/asset/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + */ + async downloadFile(requestParameters: DownloadFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.downloadFileRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getDownloadInfoRaw(requestParameters: GetDownloadInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.downloadInfoDto === null || requestParameters.downloadInfoDto === undefined) { + throw new runtime.RequiredError('downloadInfoDto','Required parameter requestParameters.downloadInfoDto was null or undefined when calling getDownloadInfo.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/download/info`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: DownloadInfoDtoToJSON(requestParameters.downloadInfoDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => DownloadResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getDownloadInfo(requestParameters: GetDownloadInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getDownloadInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/FaceApi.ts b/open-api/typescript-sdk/fetch-client/apis/FaceApi.ts new file mode 100644 index 00000000000000..2f86896b6682a6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/FaceApi.ts @@ -0,0 +1,136 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AssetFaceResponseDto, + FaceDto, + PersonResponseDto, +} from '../models/index'; +import { + AssetFaceResponseDtoFromJSON, + AssetFaceResponseDtoToJSON, + FaceDtoFromJSON, + FaceDtoToJSON, + PersonResponseDtoFromJSON, + PersonResponseDtoToJSON, +} from '../models/index'; + +export interface GetFacesRequest { + id: string; +} + +export interface ReassignFacesByIdRequest { + id: string; + faceDto: FaceDto; +} + +/** + * + */ +export class FaceApi extends runtime.BaseAPI { + + /** + */ + async getFacesRaw(requestParameters: GetFacesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getFaces.'); + } + + const queryParameters: any = {}; + + if (requestParameters.id !== undefined) { + queryParameters['id'] = requestParameters.id; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/face`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetFaceResponseDtoFromJSON)); + } + + /** + */ + async getFaces(requestParameters: GetFacesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getFacesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async reassignFacesByIdRaw(requestParameters: ReassignFacesByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling reassignFacesById.'); + } + + if (requestParameters.faceDto === null || requestParameters.faceDto === undefined) { + throw new runtime.RequiredError('faceDto','Required parameter requestParameters.faceDto was null or undefined when calling reassignFacesById.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/face/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: FaceDtoToJSON(requestParameters.faceDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PersonResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async reassignFacesById(requestParameters: ReassignFacesByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.reassignFacesByIdRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/JobApi.ts b/open-api/typescript-sdk/fetch-client/apis/JobApi.ts new file mode 100644 index 00000000000000..3ec0b2f4e6bb52 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/JobApi.ts @@ -0,0 +1,127 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AllJobStatusResponseDto, + JobCommandDto, + JobName, + JobStatusDto, +} from '../models/index'; +import { + AllJobStatusResponseDtoFromJSON, + AllJobStatusResponseDtoToJSON, + JobCommandDtoFromJSON, + JobCommandDtoToJSON, + JobNameFromJSON, + JobNameToJSON, + JobStatusDtoFromJSON, + JobStatusDtoToJSON, +} from '../models/index'; + +export interface SendJobCommandRequest { + id: JobName; + jobCommandDto: JobCommandDto; +} + +/** + * + */ +export class JobApi extends runtime.BaseAPI { + + /** + */ + async getAllJobsStatusRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/jobs`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => AllJobStatusResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getAllJobsStatus(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAllJobsStatusRaw(initOverrides); + return await response.value(); + } + + /** + */ + async sendJobCommandRaw(requestParameters: SendJobCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling sendJobCommand.'); + } + + if (requestParameters.jobCommandDto === null || requestParameters.jobCommandDto === undefined) { + throw new runtime.RequiredError('jobCommandDto','Required parameter requestParameters.jobCommandDto was null or undefined when calling sendJobCommand.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/jobs/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: JobCommandDtoToJSON(requestParameters.jobCommandDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => JobStatusDtoFromJSON(jsonValue)); + } + + /** + */ + async sendJobCommand(requestParameters: SendJobCommandRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.sendJobCommandRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/LibraryApi.ts b/open-api/typescript-sdk/fetch-client/apis/LibraryApi.ts new file mode 100644 index 00000000000000..7a3f06b680f0ee --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/LibraryApi.ts @@ -0,0 +1,402 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + CreateLibraryDto, + LibraryResponseDto, + LibraryStatsResponseDto, + ScanLibraryDto, + UpdateLibraryDto, +} from '../models/index'; +import { + CreateLibraryDtoFromJSON, + CreateLibraryDtoToJSON, + LibraryResponseDtoFromJSON, + LibraryResponseDtoToJSON, + LibraryStatsResponseDtoFromJSON, + LibraryStatsResponseDtoToJSON, + ScanLibraryDtoFromJSON, + ScanLibraryDtoToJSON, + UpdateLibraryDtoFromJSON, + UpdateLibraryDtoToJSON, +} from '../models/index'; + +export interface CreateLibraryRequest { + createLibraryDto: CreateLibraryDto; +} + +export interface DeleteLibraryRequest { + id: string; +} + +export interface GetLibraryInfoRequest { + id: string; +} + +export interface GetLibraryStatisticsRequest { + id: string; +} + +export interface RemoveOfflineFilesRequest { + id: string; +} + +export interface ScanLibraryRequest { + id: string; + scanLibraryDto: ScanLibraryDto; +} + +export interface UpdateLibraryRequest { + id: string; + updateLibraryDto: UpdateLibraryDto; +} + +/** + * + */ +export class LibraryApi extends runtime.BaseAPI { + + /** + */ + async createLibraryRaw(requestParameters: CreateLibraryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.createLibraryDto === null || requestParameters.createLibraryDto === undefined) { + throw new runtime.RequiredError('createLibraryDto','Required parameter requestParameters.createLibraryDto was null or undefined when calling createLibrary.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/library`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateLibraryDtoToJSON(requestParameters.createLibraryDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LibraryResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createLibrary(requestParameters: CreateLibraryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createLibraryRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async deleteLibraryRaw(requestParameters: DeleteLibraryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteLibrary.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/library/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async deleteLibrary(requestParameters: DeleteLibraryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteLibraryRaw(requestParameters, initOverrides); + } + + /** + */ + async getLibrariesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/library`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(LibraryResponseDtoFromJSON)); + } + + /** + */ + async getLibraries(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getLibrariesRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getLibraryInfoRaw(requestParameters: GetLibraryInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getLibraryInfo.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/library/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LibraryResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getLibraryInfo(requestParameters: GetLibraryInfoRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLibraryInfoRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getLibraryStatisticsRaw(requestParameters: GetLibraryStatisticsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getLibraryStatistics.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/library/{id}/statistics`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LibraryStatsResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getLibraryStatistics(requestParameters: GetLibraryStatisticsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getLibraryStatisticsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async removeOfflineFilesRaw(requestParameters: RemoveOfflineFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling removeOfflineFiles.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/library/{id}/removeOffline`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async removeOfflineFiles(requestParameters: RemoveOfflineFilesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removeOfflineFilesRaw(requestParameters, initOverrides); + } + + /** + */ + async scanLibraryRaw(requestParameters: ScanLibraryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling scanLibrary.'); + } + + if (requestParameters.scanLibraryDto === null || requestParameters.scanLibraryDto === undefined) { + throw new runtime.RequiredError('scanLibraryDto','Required parameter requestParameters.scanLibraryDto was null or undefined when calling scanLibrary.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/library/{id}/scan`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: ScanLibraryDtoToJSON(requestParameters.scanLibraryDto), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async scanLibrary(requestParameters: ScanLibraryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.scanLibraryRaw(requestParameters, initOverrides); + } + + /** + */ + async updateLibraryRaw(requestParameters: UpdateLibraryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateLibrary.'); + } + + if (requestParameters.updateLibraryDto === null || requestParameters.updateLibraryDto === undefined) { + throw new runtime.RequiredError('updateLibraryDto','Required parameter requestParameters.updateLibraryDto was null or undefined when calling updateLibrary.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/library/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: UpdateLibraryDtoToJSON(requestParameters.updateLibraryDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LibraryResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async updateLibrary(requestParameters: UpdateLibraryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updateLibraryRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/OAuthApi.ts b/open-api/typescript-sdk/fetch-client/apis/OAuthApi.ts new file mode 100644 index 00000000000000..60e30d4e0c27c6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/OAuthApi.ts @@ -0,0 +1,260 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + LoginResponseDto, + OAuthAuthorizeResponseDto, + OAuthCallbackDto, + OAuthConfigDto, + OAuthConfigResponseDto, + UserResponseDto, +} from '../models/index'; +import { + LoginResponseDtoFromJSON, + LoginResponseDtoToJSON, + OAuthAuthorizeResponseDtoFromJSON, + OAuthAuthorizeResponseDtoToJSON, + OAuthCallbackDtoFromJSON, + OAuthCallbackDtoToJSON, + OAuthConfigDtoFromJSON, + OAuthConfigDtoToJSON, + OAuthConfigResponseDtoFromJSON, + OAuthConfigResponseDtoToJSON, + UserResponseDtoFromJSON, + UserResponseDtoToJSON, +} from '../models/index'; + +export interface FinishOAuthRequest { + oAuthCallbackDto: OAuthCallbackDto; +} + +export interface GenerateOAuthConfigRequest { + oAuthConfigDto: OAuthConfigDto; +} + +export interface LinkOAuthAccountRequest { + oAuthCallbackDto: OAuthCallbackDto; +} + +export interface StartOAuthRequest { + oAuthConfigDto: OAuthConfigDto; +} + +/** + * + */ +export class OAuthApi extends runtime.BaseAPI { + + /** + */ + async finishOAuthRaw(requestParameters: FinishOAuthRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.oAuthCallbackDto === null || requestParameters.oAuthCallbackDto === undefined) { + throw new runtime.RequiredError('oAuthCallbackDto','Required parameter requestParameters.oAuthCallbackDto was null or undefined when calling finishOAuth.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/oauth/callback`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: OAuthCallbackDtoToJSON(requestParameters.oAuthCallbackDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => LoginResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async finishOAuth(requestParameters: FinishOAuthRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.finishOAuthRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + * @deprecated use feature flags and /oauth/authorize + * @deprecated + */ + async generateOAuthConfigRaw(requestParameters: GenerateOAuthConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.oAuthConfigDto === null || requestParameters.oAuthConfigDto === undefined) { + throw new runtime.RequiredError('oAuthConfigDto','Required parameter requestParameters.oAuthConfigDto was null or undefined when calling generateOAuthConfig.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/oauth/config`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: OAuthConfigDtoToJSON(requestParameters.oAuthConfigDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => OAuthConfigResponseDtoFromJSON(jsonValue)); + } + + /** + * @deprecated use feature flags and /oauth/authorize + * @deprecated + */ + async generateOAuthConfig(requestParameters: GenerateOAuthConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.generateOAuthConfigRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async linkOAuthAccountRaw(requestParameters: LinkOAuthAccountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.oAuthCallbackDto === null || requestParameters.oAuthCallbackDto === undefined) { + throw new runtime.RequiredError('oAuthCallbackDto','Required parameter requestParameters.oAuthCallbackDto was null or undefined when calling linkOAuthAccount.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/oauth/link`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: OAuthCallbackDtoToJSON(requestParameters.oAuthCallbackDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async linkOAuthAccount(requestParameters: LinkOAuthAccountRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.linkOAuthAccountRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async redirectOAuthToMobileRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/oauth/mobile-redirect`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async redirectOAuthToMobile(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.redirectOAuthToMobileRaw(initOverrides); + } + + /** + */ + async startOAuthRaw(requestParameters: StartOAuthRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.oAuthConfigDto === null || requestParameters.oAuthConfigDto === undefined) { + throw new runtime.RequiredError('oAuthConfigDto','Required parameter requestParameters.oAuthConfigDto was null or undefined when calling startOAuth.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + const response = await this.request({ + path: `/oauth/authorize`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: OAuthConfigDtoToJSON(requestParameters.oAuthConfigDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => OAuthAuthorizeResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async startOAuth(requestParameters: StartOAuthRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.startOAuthRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async unlinkOAuthAccountRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/oauth/unlink`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async unlinkOAuthAccount(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.unlinkOAuthAccountRaw(initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/PartnerApi.ts b/open-api/typescript-sdk/fetch-client/apis/PartnerApi.ts new file mode 100644 index 00000000000000..8dc49f5d7a2f8a --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/PartnerApi.ts @@ -0,0 +1,229 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + PartnerResponseDto, + UpdatePartnerDto, +} from '../models/index'; +import { + PartnerResponseDtoFromJSON, + PartnerResponseDtoToJSON, + UpdatePartnerDtoFromJSON, + UpdatePartnerDtoToJSON, +} from '../models/index'; + +export interface CreatePartnerRequest { + id: string; +} + +export interface GetPartnersRequest { + direction: GetPartnersDirectionEnum; +} + +export interface RemovePartnerRequest { + id: string; +} + +export interface UpdatePartnerRequest { + id: string; + updatePartnerDto: UpdatePartnerDto; +} + +/** + * + */ +export class PartnerApi extends runtime.BaseAPI { + + /** + */ + async createPartnerRaw(requestParameters: CreatePartnerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling createPartner.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/partner/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PartnerResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createPartner(requestParameters: CreatePartnerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createPartnerRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getPartnersRaw(requestParameters: GetPartnersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.direction === null || requestParameters.direction === undefined) { + throw new runtime.RequiredError('direction','Required parameter requestParameters.direction was null or undefined when calling getPartners.'); + } + + const queryParameters: any = {}; + + if (requestParameters.direction !== undefined) { + queryParameters['direction'] = requestParameters.direction; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/partner`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(PartnerResponseDtoFromJSON)); + } + + /** + */ + async getPartners(requestParameters: GetPartnersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getPartnersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async removePartnerRaw(requestParameters: RemovePartnerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling removePartner.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/partner/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async removePartner(requestParameters: RemovePartnerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removePartnerRaw(requestParameters, initOverrides); + } + + /** + */ + async updatePartnerRaw(requestParameters: UpdatePartnerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updatePartner.'); + } + + if (requestParameters.updatePartnerDto === null || requestParameters.updatePartnerDto === undefined) { + throw new runtime.RequiredError('updatePartnerDto','Required parameter requestParameters.updatePartnerDto was null or undefined when calling updatePartner.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/partner/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: UpdatePartnerDtoToJSON(requestParameters.updatePartnerDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PartnerResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async updatePartner(requestParameters: UpdatePartnerRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updatePartnerRaw(requestParameters, initOverrides); + return await response.value(); + } + +} + +/** + * @export + */ +export const GetPartnersDirectionEnum = { + By: 'shared-by', + With: 'shared-with' +} as const; +export type GetPartnersDirectionEnum = typeof GetPartnersDirectionEnum[keyof typeof GetPartnersDirectionEnum]; diff --git a/open-api/typescript-sdk/fetch-client/apis/PersonApi.ts b/open-api/typescript-sdk/fetch-client/apis/PersonApi.ts new file mode 100644 index 00000000000000..d56b6396395d09 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/PersonApi.ts @@ -0,0 +1,513 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AssetFaceUpdateDto, + AssetResponseDto, + BulkIdResponseDto, + MergePersonDto, + PeopleResponseDto, + PeopleUpdateDto, + PersonResponseDto, + PersonStatisticsResponseDto, + PersonUpdateDto, +} from '../models/index'; +import { + AssetFaceUpdateDtoFromJSON, + AssetFaceUpdateDtoToJSON, + AssetResponseDtoFromJSON, + AssetResponseDtoToJSON, + BulkIdResponseDtoFromJSON, + BulkIdResponseDtoToJSON, + MergePersonDtoFromJSON, + MergePersonDtoToJSON, + PeopleResponseDtoFromJSON, + PeopleResponseDtoToJSON, + PeopleUpdateDtoFromJSON, + PeopleUpdateDtoToJSON, + PersonResponseDtoFromJSON, + PersonResponseDtoToJSON, + PersonStatisticsResponseDtoFromJSON, + PersonStatisticsResponseDtoToJSON, + PersonUpdateDtoFromJSON, + PersonUpdateDtoToJSON, +} from '../models/index'; + +export interface GetAllPeopleRequest { + withHidden?: boolean; +} + +export interface GetPersonRequest { + id: string; +} + +export interface GetPersonAssetsRequest { + id: string; +} + +export interface GetPersonStatisticsRequest { + id: string; +} + +export interface GetPersonThumbnailRequest { + id: string; +} + +export interface MergePersonRequest { + id: string; + mergePersonDto: MergePersonDto; +} + +export interface ReassignFacesRequest { + id: string; + assetFaceUpdateDto: AssetFaceUpdateDto; +} + +export interface UpdatePeopleRequest { + peopleUpdateDto: PeopleUpdateDto; +} + +export interface UpdatePersonRequest { + id: string; + personUpdateDto: PersonUpdateDto; +} + +/** + * + */ +export class PersonApi extends runtime.BaseAPI { + + /** + */ + async createPersonRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PersonResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createPerson(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createPersonRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getAllPeopleRaw(requestParameters: GetAllPeopleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.withHidden !== undefined) { + queryParameters['withHidden'] = requestParameters.withHidden; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PeopleResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getAllPeople(requestParameters: GetAllPeopleRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getAllPeopleRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getPersonRaw(requestParameters: GetPersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getPerson.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PersonResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getPerson(requestParameters: GetPersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPersonRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getPersonAssetsRaw(requestParameters: GetPersonAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getPersonAssets.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person/{id}/assets`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetResponseDtoFromJSON)); + } + + /** + */ + async getPersonAssets(requestParameters: GetPersonAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getPersonAssetsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getPersonStatisticsRaw(requestParameters: GetPersonStatisticsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getPersonStatistics.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person/{id}/statistics`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PersonStatisticsResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getPersonStatistics(requestParameters: GetPersonStatisticsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPersonStatisticsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getPersonThumbnailRaw(requestParameters: GetPersonThumbnailRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getPersonThumbnail.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person/{id}/thumbnail`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + */ + async getPersonThumbnail(requestParameters: GetPersonThumbnailRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getPersonThumbnailRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async mergePersonRaw(requestParameters: MergePersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling mergePerson.'); + } + + if (requestParameters.mergePersonDto === null || requestParameters.mergePersonDto === undefined) { + throw new runtime.RequiredError('mergePersonDto','Required parameter requestParameters.mergePersonDto was null or undefined when calling mergePerson.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person/{id}/merge`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: MergePersonDtoToJSON(requestParameters.mergePersonDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BulkIdResponseDtoFromJSON)); + } + + /** + */ + async mergePerson(requestParameters: MergePersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.mergePersonRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async reassignFacesRaw(requestParameters: ReassignFacesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling reassignFaces.'); + } + + if (requestParameters.assetFaceUpdateDto === null || requestParameters.assetFaceUpdateDto === undefined) { + throw new runtime.RequiredError('assetFaceUpdateDto','Required parameter requestParameters.assetFaceUpdateDto was null or undefined when calling reassignFaces.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person/{id}/reassign`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: AssetFaceUpdateDtoToJSON(requestParameters.assetFaceUpdateDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(PersonResponseDtoFromJSON)); + } + + /** + */ + async reassignFaces(requestParameters: ReassignFacesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.reassignFacesRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async updatePeopleRaw(requestParameters: UpdatePeopleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.peopleUpdateDto === null || requestParameters.peopleUpdateDto === undefined) { + throw new runtime.RequiredError('peopleUpdateDto','Required parameter requestParameters.peopleUpdateDto was null or undefined when calling updatePeople.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person`, + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: PeopleUpdateDtoToJSON(requestParameters.peopleUpdateDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(BulkIdResponseDtoFromJSON)); + } + + /** + */ + async updatePeople(requestParameters: UpdatePeopleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.updatePeopleRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async updatePersonRaw(requestParameters: UpdatePersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updatePerson.'); + } + + if (requestParameters.personUpdateDto === null || requestParameters.personUpdateDto === undefined) { + throw new runtime.RequiredError('personUpdateDto','Required parameter requestParameters.personUpdateDto was null or undefined when calling updatePerson.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/person/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: PersonUpdateDtoToJSON(requestParameters.personUpdateDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => PersonResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async updatePerson(requestParameters: UpdatePersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updatePersonRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/SearchApi.ts b/open-api/typescript-sdk/fetch-client/apis/SearchApi.ts new file mode 100644 index 00000000000000..616501b08f95e5 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/SearchApi.ts @@ -0,0 +1,215 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + PersonResponseDto, + SearchExploreResponseDto, + SearchResponseDto, +} from '../models/index'; +import { + PersonResponseDtoFromJSON, + PersonResponseDtoToJSON, + SearchExploreResponseDtoFromJSON, + SearchExploreResponseDtoToJSON, + SearchResponseDtoFromJSON, + SearchResponseDtoToJSON, +} from '../models/index'; + +export interface SearchRequest { + clip?: boolean; + motion?: boolean; + q?: string; + query?: string; + recent?: boolean; + smart?: boolean; + type?: SearchTypeEnum; + withArchived?: boolean; +} + +export interface SearchPersonRequest { + name: string; + withHidden?: boolean; +} + +/** + * + */ +export class SearchApi extends runtime.BaseAPI { + + /** + */ + async getExploreDataRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/search/explore`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(SearchExploreResponseDtoFromJSON)); + } + + /** + */ + async getExploreData(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getExploreDataRaw(initOverrides); + return await response.value(); + } + + /** + */ + async searchRaw(requestParameters: SearchRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.clip !== undefined) { + queryParameters['clip'] = requestParameters.clip; + } + + if (requestParameters.motion !== undefined) { + queryParameters['motion'] = requestParameters.motion; + } + + if (requestParameters.q !== undefined) { + queryParameters['q'] = requestParameters.q; + } + + if (requestParameters.query !== undefined) { + queryParameters['query'] = requestParameters.query; + } + + if (requestParameters.recent !== undefined) { + queryParameters['recent'] = requestParameters.recent; + } + + if (requestParameters.smart !== undefined) { + queryParameters['smart'] = requestParameters.smart; + } + + if (requestParameters.type !== undefined) { + queryParameters['type'] = requestParameters.type; + } + + if (requestParameters.withArchived !== undefined) { + queryParameters['withArchived'] = requestParameters.withArchived; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/search`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SearchResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async search(requestParameters: SearchRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.searchRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async searchPersonRaw(requestParameters: SearchPersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.name === null || requestParameters.name === undefined) { + throw new runtime.RequiredError('name','Required parameter requestParameters.name was null or undefined when calling searchPerson.'); + } + + const queryParameters: any = {}; + + if (requestParameters.name !== undefined) { + queryParameters['name'] = requestParameters.name; + } + + if (requestParameters.withHidden !== undefined) { + queryParameters['withHidden'] = requestParameters.withHidden; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/search/person`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(PersonResponseDtoFromJSON)); + } + + /** + */ + async searchPerson(requestParameters: SearchPersonRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.searchPersonRaw(requestParameters, initOverrides); + return await response.value(); + } + +} + +/** + * @export + */ +export const SearchTypeEnum = { + Image: 'IMAGE', + Video: 'VIDEO', + Audio: 'AUDIO', + Other: 'OTHER' +} as const; +export type SearchTypeEnum = typeof SearchTypeEnum[keyof typeof SearchTypeEnum]; diff --git a/open-api/typescript-sdk/fetch-client/apis/ServerInfoApi.ts b/open-api/typescript-sdk/fetch-client/apis/ServerInfoApi.ts new file mode 100644 index 00000000000000..2cff067147e177 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/ServerInfoApi.ts @@ -0,0 +1,302 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + ServerConfigDto, + ServerFeaturesDto, + ServerInfoResponseDto, + ServerMediaTypesResponseDto, + ServerPingResponse, + ServerStatsResponseDto, + ServerThemeDto, + ServerVersionResponseDto, +} from '../models/index'; +import { + ServerConfigDtoFromJSON, + ServerConfigDtoToJSON, + ServerFeaturesDtoFromJSON, + ServerFeaturesDtoToJSON, + ServerInfoResponseDtoFromJSON, + ServerInfoResponseDtoToJSON, + ServerMediaTypesResponseDtoFromJSON, + ServerMediaTypesResponseDtoToJSON, + ServerPingResponseFromJSON, + ServerPingResponseToJSON, + ServerStatsResponseDtoFromJSON, + ServerStatsResponseDtoToJSON, + ServerThemeDtoFromJSON, + ServerThemeDtoToJSON, + ServerVersionResponseDtoFromJSON, + ServerVersionResponseDtoToJSON, +} from '../models/index'; + +/** + * + */ +export class ServerInfoApi extends runtime.BaseAPI { + + /** + */ + async getServerConfigRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/server-info/config`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ServerConfigDtoFromJSON(jsonValue)); + } + + /** + */ + async getServerConfig(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getServerConfigRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getServerFeaturesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/server-info/features`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ServerFeaturesDtoFromJSON(jsonValue)); + } + + /** + */ + async getServerFeatures(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getServerFeaturesRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getServerInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/server-info`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ServerInfoResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getServerInfo(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getServerInfoRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getServerStatisticsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/server-info/statistics`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ServerStatsResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getServerStatistics(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getServerStatisticsRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getServerVersionRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/server-info/version`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ServerVersionResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getServerVersion(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getServerVersionRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getSupportedMediaTypesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/server-info/media-types`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ServerMediaTypesResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getSupportedMediaTypes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSupportedMediaTypesRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getThemeRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/server-info/theme`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ServerThemeDtoFromJSON(jsonValue)); + } + + /** + */ + async getTheme(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getThemeRaw(initOverrides); + return await response.value(); + } + + /** + */ + async pingServerRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + const response = await this.request({ + path: `/server-info/ping`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => ServerPingResponseFromJSON(jsonValue)); + } + + /** + */ + async pingServer(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.pingServerRaw(initOverrides); + return await response.value(); + } + + /** + */ + async setAdminOnboardingRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/server-info/admin-onboarding`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async setAdminOnboarding(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.setAdminOnboardingRaw(initOverrides); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/SharedLinkApi.ts b/open-api/typescript-sdk/fetch-client/apis/SharedLinkApi.ts new file mode 100644 index 00000000000000..c3ba1388a9751f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/SharedLinkApi.ts @@ -0,0 +1,432 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AssetIdsDto, + AssetIdsResponseDto, + SharedLinkCreateDto, + SharedLinkEditDto, + SharedLinkResponseDto, +} from '../models/index'; +import { + AssetIdsDtoFromJSON, + AssetIdsDtoToJSON, + AssetIdsResponseDtoFromJSON, + AssetIdsResponseDtoToJSON, + SharedLinkCreateDtoFromJSON, + SharedLinkCreateDtoToJSON, + SharedLinkEditDtoFromJSON, + SharedLinkEditDtoToJSON, + SharedLinkResponseDtoFromJSON, + SharedLinkResponseDtoToJSON, +} from '../models/index'; + +export interface AddSharedLinkAssetsRequest { + id: string; + assetIdsDto: AssetIdsDto; + key?: string; +} + +export interface CreateSharedLinkRequest { + sharedLinkCreateDto: SharedLinkCreateDto; +} + +export interface GetMySharedLinkRequest { + key?: string; + password?: string; + token?: string; +} + +export interface GetSharedLinkByIdRequest { + id: string; +} + +export interface RemoveSharedLinkRequest { + id: string; +} + +export interface RemoveSharedLinkAssetsRequest { + id: string; + assetIdsDto: AssetIdsDto; + key?: string; +} + +export interface UpdateSharedLinkRequest { + id: string; + sharedLinkEditDto: SharedLinkEditDto; +} + +/** + * + */ +export class SharedLinkApi extends runtime.BaseAPI { + + /** + */ + async addSharedLinkAssetsRaw(requestParameters: AddSharedLinkAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling addSharedLinkAssets.'); + } + + if (requestParameters.assetIdsDto === null || requestParameters.assetIdsDto === undefined) { + throw new runtime.RequiredError('assetIdsDto','Required parameter requestParameters.assetIdsDto was null or undefined when calling addSharedLinkAssets.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/shared-link/{id}/assets`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: AssetIdsDtoToJSON(requestParameters.assetIdsDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetIdsResponseDtoFromJSON)); + } + + /** + */ + async addSharedLinkAssets(requestParameters: AddSharedLinkAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.addSharedLinkAssetsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async createSharedLinkRaw(requestParameters: CreateSharedLinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.sharedLinkCreateDto === null || requestParameters.sharedLinkCreateDto === undefined) { + throw new runtime.RequiredError('sharedLinkCreateDto','Required parameter requestParameters.sharedLinkCreateDto was null or undefined when calling createSharedLink.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/shared-link`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: SharedLinkCreateDtoToJSON(requestParameters.sharedLinkCreateDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SharedLinkResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createSharedLink(requestParameters: CreateSharedLinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createSharedLinkRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getAllSharedLinksRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/shared-link`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(SharedLinkResponseDtoFromJSON)); + } + + /** + */ + async getAllSharedLinks(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAllSharedLinksRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getMySharedLinkRaw(requestParameters: GetMySharedLinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + if (requestParameters.password !== undefined) { + queryParameters['password'] = requestParameters.password; + } + + if (requestParameters.token !== undefined) { + queryParameters['token'] = requestParameters.token; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/shared-link/me`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SharedLinkResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getMySharedLink(requestParameters: GetMySharedLinkRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMySharedLinkRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getSharedLinkByIdRaw(requestParameters: GetSharedLinkByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getSharedLinkById.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/shared-link/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SharedLinkResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getSharedLinkById(requestParameters: GetSharedLinkByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getSharedLinkByIdRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async removeSharedLinkRaw(requestParameters: RemoveSharedLinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling removeSharedLink.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/shared-link/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async removeSharedLink(requestParameters: RemoveSharedLinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.removeSharedLinkRaw(requestParameters, initOverrides); + } + + /** + */ + async removeSharedLinkAssetsRaw(requestParameters: RemoveSharedLinkAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling removeSharedLinkAssets.'); + } + + if (requestParameters.assetIdsDto === null || requestParameters.assetIdsDto === undefined) { + throw new runtime.RequiredError('assetIdsDto','Required parameter requestParameters.assetIdsDto was null or undefined when calling removeSharedLinkAssets.'); + } + + const queryParameters: any = {}; + + if (requestParameters.key !== undefined) { + queryParameters['key'] = requestParameters.key; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/shared-link/{id}/assets`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + body: AssetIdsDtoToJSON(requestParameters.assetIdsDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetIdsResponseDtoFromJSON)); + } + + /** + */ + async removeSharedLinkAssets(requestParameters: RemoveSharedLinkAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.removeSharedLinkAssetsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async updateSharedLinkRaw(requestParameters: UpdateSharedLinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateSharedLink.'); + } + + if (requestParameters.sharedLinkEditDto === null || requestParameters.sharedLinkEditDto === undefined) { + throw new runtime.RequiredError('sharedLinkEditDto','Required parameter requestParameters.sharedLinkEditDto was null or undefined when calling updateSharedLink.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/shared-link/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: SharedLinkEditDtoToJSON(requestParameters.sharedLinkEditDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SharedLinkResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async updateSharedLink(requestParameters: UpdateSharedLinkRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updateSharedLinkRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/SystemConfigApi.ts b/open-api/typescript-sdk/fetch-client/apis/SystemConfigApi.ts new file mode 100644 index 00000000000000..adafb3de95184f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/SystemConfigApi.ts @@ -0,0 +1,239 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + MapTheme, + SystemConfigDto, + SystemConfigTemplateStorageOptionDto, +} from '../models/index'; +import { + MapThemeFromJSON, + MapThemeToJSON, + SystemConfigDtoFromJSON, + SystemConfigDtoToJSON, + SystemConfigTemplateStorageOptionDtoFromJSON, + SystemConfigTemplateStorageOptionDtoToJSON, +} from '../models/index'; + +export interface GetMapStyleRequest { + theme: MapTheme; +} + +export interface UpdateConfigRequest { + systemConfigDto: SystemConfigDto; +} + +/** + * + */ +export class SystemConfigApi extends runtime.BaseAPI { + + /** + */ + async getConfigRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/system-config`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SystemConfigDtoFromJSON(jsonValue)); + } + + /** + */ + async getConfig(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getConfigRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getConfigDefaultsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/system-config/defaults`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SystemConfigDtoFromJSON(jsonValue)); + } + + /** + */ + async getConfigDefaults(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getConfigDefaultsRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getMapStyleRaw(requestParameters: GetMapStyleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.theme === null || requestParameters.theme === undefined) { + throw new runtime.RequiredError('theme','Required parameter requestParameters.theme was null or undefined when calling getMapStyle.'); + } + + const queryParameters: any = {}; + + if (requestParameters.theme !== undefined) { + queryParameters['theme'] = requestParameters.theme; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/system-config/map/style.json`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response); + } + + /** + */ + async getMapStyle(requestParameters: GetMapStyleRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMapStyleRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getStorageTemplateOptionsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/system-config/storage-template-options`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SystemConfigTemplateStorageOptionDtoFromJSON(jsonValue)); + } + + /** + */ + async getStorageTemplateOptions(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getStorageTemplateOptionsRaw(initOverrides); + return await response.value(); + } + + /** + */ + async updateConfigRaw(requestParameters: UpdateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.systemConfigDto === null || requestParameters.systemConfigDto === undefined) { + throw new runtime.RequiredError('systemConfigDto','Required parameter requestParameters.systemConfigDto was null or undefined when calling updateConfig.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/system-config`, + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: SystemConfigDtoToJSON(requestParameters.systemConfigDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => SystemConfigDtoFromJSON(jsonValue)); + } + + /** + */ + async updateConfig(requestParameters: UpdateConfigRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updateConfigRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/TagApi.ts b/open-api/typescript-sdk/fetch-client/apis/TagApi.ts new file mode 100644 index 00000000000000..9fdeecd7e7732f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/TagApi.ts @@ -0,0 +1,415 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + AssetIdsDto, + AssetIdsResponseDto, + AssetResponseDto, + CreateTagDto, + TagResponseDto, + UpdateTagDto, +} from '../models/index'; +import { + AssetIdsDtoFromJSON, + AssetIdsDtoToJSON, + AssetIdsResponseDtoFromJSON, + AssetIdsResponseDtoToJSON, + AssetResponseDtoFromJSON, + AssetResponseDtoToJSON, + CreateTagDtoFromJSON, + CreateTagDtoToJSON, + TagResponseDtoFromJSON, + TagResponseDtoToJSON, + UpdateTagDtoFromJSON, + UpdateTagDtoToJSON, +} from '../models/index'; + +export interface CreateTagRequest { + createTagDto: CreateTagDto; +} + +export interface DeleteTagRequest { + id: string; +} + +export interface GetTagAssetsRequest { + id: string; +} + +export interface GetTagByIdRequest { + id: string; +} + +export interface TagAssetsRequest { + id: string; + assetIdsDto: AssetIdsDto; +} + +export interface UntagAssetsRequest { + id: string; + assetIdsDto: AssetIdsDto; +} + +export interface UpdateTagRequest { + id: string; + updateTagDto: UpdateTagDto; +} + +/** + * + */ +export class TagApi extends runtime.BaseAPI { + + /** + */ + async createTagRaw(requestParameters: CreateTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.createTagDto === null || requestParameters.createTagDto === undefined) { + throw new runtime.RequiredError('createTagDto','Required parameter requestParameters.createTagDto was null or undefined when calling createTag.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/tag`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateTagDtoToJSON(requestParameters.createTagDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TagResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createTag(requestParameters: CreateTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createTagRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async deleteTagRaw(requestParameters: DeleteTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteTag.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/tag/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async deleteTag(requestParameters: DeleteTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteTagRaw(requestParameters, initOverrides); + } + + /** + */ + async getAllTagsRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/tag`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(TagResponseDtoFromJSON)); + } + + /** + */ + async getAllTags(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAllTagsRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getTagAssetsRaw(requestParameters: GetTagAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getTagAssets.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/tag/{id}/assets`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetResponseDtoFromJSON)); + } + + /** + */ + async getTagAssets(requestParameters: GetTagAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getTagAssetsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getTagByIdRaw(requestParameters: GetTagByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getTagById.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/tag/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TagResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getTagById(requestParameters: GetTagByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getTagByIdRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async tagAssetsRaw(requestParameters: TagAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling tagAssets.'); + } + + if (requestParameters.assetIdsDto === null || requestParameters.assetIdsDto === undefined) { + throw new runtime.RequiredError('assetIdsDto','Required parameter requestParameters.assetIdsDto was null or undefined when calling tagAssets.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/tag/{id}/assets`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: AssetIdsDtoToJSON(requestParameters.assetIdsDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetIdsResponseDtoFromJSON)); + } + + /** + */ + async tagAssets(requestParameters: TagAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.tagAssetsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async untagAssetsRaw(requestParameters: UntagAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling untagAssets.'); + } + + if (requestParameters.assetIdsDto === null || requestParameters.assetIdsDto === undefined) { + throw new runtime.RequiredError('assetIdsDto','Required parameter requestParameters.assetIdsDto was null or undefined when calling untagAssets.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/tag/{id}/assets`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + body: AssetIdsDtoToJSON(requestParameters.assetIdsDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(AssetIdsResponseDtoFromJSON)); + } + + /** + */ + async untagAssets(requestParameters: UntagAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.untagAssetsRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async updateTagRaw(requestParameters: UpdateTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling updateTag.'); + } + + if (requestParameters.updateTagDto === null || requestParameters.updateTagDto === undefined) { + throw new runtime.RequiredError('updateTagDto','Required parameter requestParameters.updateTagDto was null or undefined when calling updateTag.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/tag/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'PATCH', + headers: headerParameters, + query: queryParameters, + body: UpdateTagDtoToJSON(requestParameters.updateTagDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => TagResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async updateTag(requestParameters: UpdateTagRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updateTagRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/TrashApi.ts b/open-api/typescript-sdk/fetch-client/apis/TrashApi.ts new file mode 100644 index 00000000000000..d0f068be499734 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/TrashApi.ts @@ -0,0 +1,146 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + BulkIdsDto, +} from '../models/index'; +import { + BulkIdsDtoFromJSON, + BulkIdsDtoToJSON, +} from '../models/index'; + +export interface RestoreAssetsRequest { + bulkIdsDto: BulkIdsDto; +} + +/** + * + */ +export class TrashApi extends runtime.BaseAPI { + + /** + */ + async emptyTrashRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/trash/empty`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async emptyTrash(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.emptyTrashRaw(initOverrides); + } + + /** + */ + async restoreAssetsRaw(requestParameters: RestoreAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.bulkIdsDto === null || requestParameters.bulkIdsDto === undefined) { + throw new runtime.RequiredError('bulkIdsDto','Required parameter requestParameters.bulkIdsDto was null or undefined when calling restoreAssets.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/trash/restore/assets`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: BulkIdsDtoToJSON(requestParameters.bulkIdsDto), + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async restoreAssets(requestParameters: RestoreAssetsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.restoreAssetsRaw(requestParameters, initOverrides); + } + + /** + */ + async restoreTrashRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/trash/restore`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async restoreTrash(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.restoreTrashRaw(initOverrides); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/UserApi.ts b/open-api/typescript-sdk/fetch-client/apis/UserApi.ts new file mode 100644 index 00000000000000..d2af7f3edda331 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/UserApi.ts @@ -0,0 +1,493 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +import * as runtime from '../runtime'; +import type { + CreateProfileImageResponseDto, + CreateUserDto, + UpdateUserDto, + UserResponseDto, +} from '../models/index'; +import { + CreateProfileImageResponseDtoFromJSON, + CreateProfileImageResponseDtoToJSON, + CreateUserDtoFromJSON, + CreateUserDtoToJSON, + UpdateUserDtoFromJSON, + UpdateUserDtoToJSON, + UserResponseDtoFromJSON, + UserResponseDtoToJSON, +} from '../models/index'; + +export interface CreateProfileImageRequest { + file: Blob; +} + +export interface CreateUserRequest { + createUserDto: CreateUserDto; +} + +export interface DeleteUserRequest { + id: string; +} + +export interface GetAllUsersRequest { + isAll: boolean; +} + +export interface GetProfileImageRequest { + id: string; +} + +export interface GetUserByIdRequest { + id: string; +} + +export interface RestoreUserRequest { + id: string; +} + +export interface UpdateUserRequest { + updateUserDto: UpdateUserDto; +} + +/** + * + */ +export class UserApi extends runtime.BaseAPI { + + /** + */ + async createProfileImageRaw(requestParameters: CreateProfileImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.file === null || requestParameters.file === undefined) { + throw new runtime.RequiredError('file','Required parameter requestParameters.file was null or undefined when calling createProfileImage.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const consumes: runtime.Consume[] = [ + { contentType: 'multipart/form-data' }, + ]; + // @ts-ignore: canConsumeForm may be unused + const canConsumeForm = runtime.canConsumeForm(consumes); + + let formParams: { append(param: string, value: any): any }; + let useForm = false; + // use FormData to transmit files using content-type "multipart/form-data" + useForm = canConsumeForm; + if (useForm) { + formParams = new FormData(); + } else { + formParams = new URLSearchParams(); + } + + if (requestParameters.file !== undefined) { + formParams.append('file', requestParameters.file as any); + } + + const response = await this.request({ + path: `/user/profile-image`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: formParams, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => CreateProfileImageResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createProfileImage(requestParameters: CreateProfileImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createProfileImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async createUserRaw(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.createUserDto === null || requestParameters.createUserDto === undefined) { + throw new runtime.RequiredError('createUserDto','Required parameter requestParameters.createUserDto was null or undefined when calling createUser.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/user`, + method: 'POST', + headers: headerParameters, + query: queryParameters, + body: CreateUserDtoToJSON(requestParameters.createUserDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async createUser(requestParameters: CreateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.createUserRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async deleteProfileImageRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/user/profile-image`, + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.VoidApiResponse(response); + } + + /** + */ + async deleteProfileImage(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + await this.deleteProfileImageRaw(initOverrides); + } + + /** + */ + async deleteUserRaw(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling deleteUser.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/user/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'DELETE', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async deleteUser(requestParameters: DeleteUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.deleteUserRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getAllUsersRaw(requestParameters: GetAllUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise>> { + if (requestParameters.isAll === null || requestParameters.isAll === undefined) { + throw new runtime.RequiredError('isAll','Required parameter requestParameters.isAll was null or undefined when calling getAllUsers.'); + } + + const queryParameters: any = {}; + + if (requestParameters.isAll !== undefined) { + queryParameters['isAll'] = requestParameters.isAll; + } + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/user`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(UserResponseDtoFromJSON)); + } + + /** + */ + async getAllUsers(requestParameters: GetAllUsersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const response = await this.getAllUsersRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getMyUserInfoRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/user/me`, + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getMyUserInfo(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getMyUserInfoRaw(initOverrides); + return await response.value(); + } + + /** + */ + async getProfileImageRaw(requestParameters: GetProfileImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getProfileImage.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/user/profile-image/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.BlobApiResponse(response); + } + + /** + */ + async getProfileImage(requestParameters: GetProfileImageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getProfileImageRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async getUserByIdRaw(requestParameters: GetUserByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling getUserById.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/user/info/{id}`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'GET', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async getUserById(requestParameters: GetUserByIdRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.getUserByIdRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async restoreUserRaw(requestParameters: RestoreUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.id === null || requestParameters.id === undefined) { + throw new runtime.RequiredError('id','Required parameter requestParameters.id was null or undefined when calling restoreUser.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/user/{id}/restore`.replace(`{${"id"}}`, encodeURIComponent(String(requestParameters.id))), + method: 'POST', + headers: headerParameters, + query: queryParameters, + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async restoreUser(requestParameters: RestoreUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.restoreUserRaw(requestParameters, initOverrides); + return await response.value(); + } + + /** + */ + async updateUserRaw(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise> { + if (requestParameters.updateUserDto === null || requestParameters.updateUserDto === undefined) { + throw new runtime.RequiredError('updateUserDto','Required parameter requestParameters.updateUserDto was null or undefined when calling updateUser.'); + } + + const queryParameters: any = {}; + + const headerParameters: runtime.HTTPHeaders = {}; + + headerParameters['Content-Type'] = 'application/json'; + + if (this.configuration && this.configuration.apiKey) { + headerParameters["x-api-key"] = this.configuration.apiKey("x-api-key"); // api_key authentication + } + + if (this.configuration && this.configuration.accessToken) { + const token = this.configuration.accessToken; + const tokenString = await token("bearer", []); + + if (tokenString) { + headerParameters["Authorization"] = `Bearer ${tokenString}`; + } + } + const response = await this.request({ + path: `/user`, + method: 'PUT', + headers: headerParameters, + query: queryParameters, + body: UpdateUserDtoToJSON(requestParameters.updateUserDto), + }, initOverrides); + + return new runtime.JSONApiResponse(response, (jsonValue) => UserResponseDtoFromJSON(jsonValue)); + } + + /** + */ + async updateUser(requestParameters: UpdateUserRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise { + const response = await this.updateUserRaw(requestParameters, initOverrides); + return await response.value(); + } + +} diff --git a/open-api/typescript-sdk/fetch-client/apis/index.ts b/open-api/typescript-sdk/fetch-client/apis/index.ts new file mode 100644 index 00000000000000..465777a56282f0 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/apis/index.ts @@ -0,0 +1,22 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './APIKeyApi'; +export * from './ActivityApi'; +export * from './AlbumApi'; +export * from './AssetApi'; +export * from './AuditApi'; +export * from './AuthenticationApi'; +export * from './DownloadApi'; +export * from './FaceApi'; +export * from './JobApi'; +export * from './LibraryApi'; +export * from './OAuthApi'; +export * from './PartnerApi'; +export * from './PersonApi'; +export * from './SearchApi'; +export * from './ServerInfoApi'; +export * from './SharedLinkApi'; +export * from './SystemConfigApi'; +export * from './TagApi'; +export * from './TrashApi'; +export * from './UserApi'; diff --git a/open-api/typescript-sdk/fetch-client/index.ts b/open-api/typescript-sdk/fetch-client/index.ts new file mode 100644 index 00000000000000..bebe8bbbe2066c --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/index.ts @@ -0,0 +1,5 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './runtime'; +export * from './apis/index'; +export * from './models/index'; diff --git a/open-api/typescript-sdk/fetch-client/models/APIKeyCreateDto.ts b/open-api/typescript-sdk/fetch-client/models/APIKeyCreateDto.ts new file mode 100644 index 00000000000000..ed88f1d622c18b --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/APIKeyCreateDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface APIKeyCreateDto + */ +export interface APIKeyCreateDto { + /** + * + * @type {string} + * @memberof APIKeyCreateDto + */ + name?: string; +} + +/** + * Check if a given object implements the APIKeyCreateDto interface. + */ +export function instanceOfAPIKeyCreateDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function APIKeyCreateDtoFromJSON(json: any): APIKeyCreateDto { + return APIKeyCreateDtoFromJSONTyped(json, false); +} + +export function APIKeyCreateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): APIKeyCreateDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'name') ? undefined : json['name'], + }; +} + +export function APIKeyCreateDtoToJSON(value?: APIKeyCreateDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/APIKeyCreateResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/APIKeyCreateResponseDto.ts new file mode 100644 index 00000000000000..d0c0bd34266198 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/APIKeyCreateResponseDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { APIKeyResponseDto } from './APIKeyResponseDto'; +import { + APIKeyResponseDtoFromJSON, + APIKeyResponseDtoFromJSONTyped, + APIKeyResponseDtoToJSON, +} from './APIKeyResponseDto'; + +/** + * + * @export + * @interface APIKeyCreateResponseDto + */ +export interface APIKeyCreateResponseDto { + /** + * + * @type {APIKeyResponseDto} + * @memberof APIKeyCreateResponseDto + */ + apiKey: APIKeyResponseDto; + /** + * + * @type {string} + * @memberof APIKeyCreateResponseDto + */ + secret: string; +} + +/** + * Check if a given object implements the APIKeyCreateResponseDto interface. + */ +export function instanceOfAPIKeyCreateResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "apiKey" in value; + isInstance = isInstance && "secret" in value; + + return isInstance; +} + +export function APIKeyCreateResponseDtoFromJSON(json: any): APIKeyCreateResponseDto { + return APIKeyCreateResponseDtoFromJSONTyped(json, false); +} + +export function APIKeyCreateResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): APIKeyCreateResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'apiKey': APIKeyResponseDtoFromJSON(json['apiKey']), + 'secret': json['secret'], + }; +} + +export function APIKeyCreateResponseDtoToJSON(value?: APIKeyCreateResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'apiKey': APIKeyResponseDtoToJSON(value.apiKey), + 'secret': value.secret, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/APIKeyResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/APIKeyResponseDto.ts new file mode 100644 index 00000000000000..72ed62793c16a3 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/APIKeyResponseDto.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface APIKeyResponseDto + */ +export interface APIKeyResponseDto { + /** + * + * @type {Date} + * @memberof APIKeyResponseDto + */ + createdAt: Date; + /** + * + * @type {string} + * @memberof APIKeyResponseDto + */ + id: string; + /** + * + * @type {string} + * @memberof APIKeyResponseDto + */ + name: string; + /** + * + * @type {Date} + * @memberof APIKeyResponseDto + */ + updatedAt: Date; +} + +/** + * Check if a given object implements the APIKeyResponseDto interface. + */ +export function instanceOfAPIKeyResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function APIKeyResponseDtoFromJSON(json: any): APIKeyResponseDto { + return APIKeyResponseDtoFromJSONTyped(json, false); +} + +export function APIKeyResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): APIKeyResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'createdAt': (new Date(json['createdAt'])), + 'id': json['id'], + 'name': json['name'], + 'updatedAt': (new Date(json['updatedAt'])), + }; +} + +export function APIKeyResponseDtoToJSON(value?: APIKeyResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'createdAt': (value.createdAt.toISOString()), + 'id': value.id, + 'name': value.name, + 'updatedAt': (value.updatedAt.toISOString()), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/APIKeyUpdateDto.ts b/open-api/typescript-sdk/fetch-client/models/APIKeyUpdateDto.ts new file mode 100644 index 00000000000000..d32e13c8655096 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/APIKeyUpdateDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface APIKeyUpdateDto + */ +export interface APIKeyUpdateDto { + /** + * + * @type {string} + * @memberof APIKeyUpdateDto + */ + name: string; +} + +/** + * Check if a given object implements the APIKeyUpdateDto interface. + */ +export function instanceOfAPIKeyUpdateDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function APIKeyUpdateDtoFromJSON(json: any): APIKeyUpdateDto { + return APIKeyUpdateDtoFromJSONTyped(json, false); +} + +export function APIKeyUpdateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): APIKeyUpdateDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': json['name'], + }; +} + +export function APIKeyUpdateDtoToJSON(value?: APIKeyUpdateDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ActivityCreateDto.ts b/open-api/typescript-sdk/fetch-client/models/ActivityCreateDto.ts new file mode 100644 index 00000000000000..7f27de3537f453 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ActivityCreateDto.ts @@ -0,0 +1,98 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ReactionType } from './ReactionType'; +import { + ReactionTypeFromJSON, + ReactionTypeFromJSONTyped, + ReactionTypeToJSON, +} from './ReactionType'; + +/** + * + * @export + * @interface ActivityCreateDto + */ +export interface ActivityCreateDto { + /** + * + * @type {string} + * @memberof ActivityCreateDto + */ + albumId: string; + /** + * + * @type {string} + * @memberof ActivityCreateDto + */ + assetId?: string; + /** + * + * @type {string} + * @memberof ActivityCreateDto + */ + comment?: string; + /** + * + * @type {ReactionType} + * @memberof ActivityCreateDto + */ + type: ReactionType; +} + +/** + * Check if a given object implements the ActivityCreateDto interface. + */ +export function instanceOfActivityCreateDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "albumId" in value; + isInstance = isInstance && "type" in value; + + return isInstance; +} + +export function ActivityCreateDtoFromJSON(json: any): ActivityCreateDto { + return ActivityCreateDtoFromJSONTyped(json, false); +} + +export function ActivityCreateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ActivityCreateDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'albumId': json['albumId'], + 'assetId': !exists(json, 'assetId') ? undefined : json['assetId'], + 'comment': !exists(json, 'comment') ? undefined : json['comment'], + 'type': ReactionTypeFromJSON(json['type']), + }; +} + +export function ActivityCreateDtoToJSON(value?: ActivityCreateDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'albumId': value.albumId, + 'assetId': value.assetId, + 'comment': value.comment, + 'type': ReactionTypeToJSON(value.type), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ActivityResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/ActivityResponseDto.ts new file mode 100644 index 00000000000000..762bd62aa9529a --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ActivityResponseDto.ts @@ -0,0 +1,128 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserDto } from './UserDto'; +import { + UserDtoFromJSON, + UserDtoFromJSONTyped, + UserDtoToJSON, +} from './UserDto'; + +/** + * + * @export + * @interface ActivityResponseDto + */ +export interface ActivityResponseDto { + /** + * + * @type {string} + * @memberof ActivityResponseDto + */ + assetId: string | null; + /** + * + * @type {string} + * @memberof ActivityResponseDto + */ + comment?: string | null; + /** + * + * @type {Date} + * @memberof ActivityResponseDto + */ + createdAt: Date; + /** + * + * @type {string} + * @memberof ActivityResponseDto + */ + id: string; + /** + * + * @type {string} + * @memberof ActivityResponseDto + */ + type: ActivityResponseDtoTypeEnum; + /** + * + * @type {UserDto} + * @memberof ActivityResponseDto + */ + user: UserDto; +} + + +/** + * @export + */ +export const ActivityResponseDtoTypeEnum = { + Comment: 'comment', + Like: 'like' +} as const; +export type ActivityResponseDtoTypeEnum = typeof ActivityResponseDtoTypeEnum[keyof typeof ActivityResponseDtoTypeEnum]; + + +/** + * Check if a given object implements the ActivityResponseDto interface. + */ +export function instanceOfActivityResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assetId" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "type" in value; + isInstance = isInstance && "user" in value; + + return isInstance; +} + +export function ActivityResponseDtoFromJSON(json: any): ActivityResponseDto { + return ActivityResponseDtoFromJSONTyped(json, false); +} + +export function ActivityResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ActivityResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assetId': json['assetId'], + 'comment': !exists(json, 'comment') ? undefined : json['comment'], + 'createdAt': (new Date(json['createdAt'])), + 'id': json['id'], + 'type': json['type'], + 'user': UserDtoFromJSON(json['user']), + }; +} + +export function ActivityResponseDtoToJSON(value?: ActivityResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assetId': value.assetId, + 'comment': value.comment, + 'createdAt': (value.createdAt.toISOString()), + 'id': value.id, + 'type': value.type, + 'user': UserDtoToJSON(value.user), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ActivityStatisticsResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/ActivityStatisticsResponseDto.ts new file mode 100644 index 00000000000000..21523f41671023 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ActivityStatisticsResponseDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ActivityStatisticsResponseDto + */ +export interface ActivityStatisticsResponseDto { + /** + * + * @type {number} + * @memberof ActivityStatisticsResponseDto + */ + comments: number; +} + +/** + * Check if a given object implements the ActivityStatisticsResponseDto interface. + */ +export function instanceOfActivityStatisticsResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "comments" in value; + + return isInstance; +} + +export function ActivityStatisticsResponseDtoFromJSON(json: any): ActivityStatisticsResponseDto { + return ActivityStatisticsResponseDtoFromJSONTyped(json, false); +} + +export function ActivityStatisticsResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ActivityStatisticsResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'comments': json['comments'], + }; +} + +export function ActivityStatisticsResponseDtoToJSON(value?: ActivityStatisticsResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'comments': value.comments, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AddUsersDto.ts b/open-api/typescript-sdk/fetch-client/models/AddUsersDto.ts new file mode 100644 index 00000000000000..54f1857a0c94fb --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AddUsersDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AddUsersDto + */ +export interface AddUsersDto { + /** + * + * @type {Array} + * @memberof AddUsersDto + */ + sharedUserIds: Array; +} + +/** + * Check if a given object implements the AddUsersDto interface. + */ +export function instanceOfAddUsersDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "sharedUserIds" in value; + + return isInstance; +} + +export function AddUsersDtoFromJSON(json: any): AddUsersDto { + return AddUsersDtoFromJSONTyped(json, false); +} + +export function AddUsersDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AddUsersDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'sharedUserIds': json['sharedUserIds'], + }; +} + +export function AddUsersDtoToJSON(value?: AddUsersDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'sharedUserIds': value.sharedUserIds, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AlbumCountResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AlbumCountResponseDto.ts new file mode 100644 index 00000000000000..3ba3649a14ec54 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AlbumCountResponseDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AlbumCountResponseDto + */ +export interface AlbumCountResponseDto { + /** + * + * @type {number} + * @memberof AlbumCountResponseDto + */ + notShared: number; + /** + * + * @type {number} + * @memberof AlbumCountResponseDto + */ + owned: number; + /** + * + * @type {number} + * @memberof AlbumCountResponseDto + */ + shared: number; +} + +/** + * Check if a given object implements the AlbumCountResponseDto interface. + */ +export function instanceOfAlbumCountResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "notShared" in value; + isInstance = isInstance && "owned" in value; + isInstance = isInstance && "shared" in value; + + return isInstance; +} + +export function AlbumCountResponseDtoFromJSON(json: any): AlbumCountResponseDto { + return AlbumCountResponseDtoFromJSONTyped(json, false); +} + +export function AlbumCountResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AlbumCountResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'notShared': json['notShared'], + 'owned': json['owned'], + 'shared': json['shared'], + }; +} + +export function AlbumCountResponseDtoToJSON(value?: AlbumCountResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'notShared': value.notShared, + 'owned': value.owned, + 'shared': value.shared, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AlbumResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AlbumResponseDto.ts new file mode 100644 index 00000000000000..af559f1584aa3f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AlbumResponseDto.ts @@ -0,0 +1,220 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetResponseDto } from './AssetResponseDto'; +import { + AssetResponseDtoFromJSON, + AssetResponseDtoFromJSONTyped, + AssetResponseDtoToJSON, +} from './AssetResponseDto'; +import type { UserResponseDto } from './UserResponseDto'; +import { + UserResponseDtoFromJSON, + UserResponseDtoFromJSONTyped, + UserResponseDtoToJSON, +} from './UserResponseDto'; + +/** + * + * @export + * @interface AlbumResponseDto + */ +export interface AlbumResponseDto { + /** + * + * @type {string} + * @memberof AlbumResponseDto + */ + albumName: string; + /** + * + * @type {string} + * @memberof AlbumResponseDto + */ + albumThumbnailAssetId: string | null; + /** + * + * @type {number} + * @memberof AlbumResponseDto + */ + assetCount: number; + /** + * + * @type {Array} + * @memberof AlbumResponseDto + */ + assets: Array; + /** + * + * @type {Date} + * @memberof AlbumResponseDto + */ + createdAt: Date; + /** + * + * @type {string} + * @memberof AlbumResponseDto + */ + description: string; + /** + * + * @type {Date} + * @memberof AlbumResponseDto + */ + endDate?: Date; + /** + * + * @type {boolean} + * @memberof AlbumResponseDto + */ + hasSharedLink: boolean; + /** + * + * @type {string} + * @memberof AlbumResponseDto + */ + id: string; + /** + * + * @type {boolean} + * @memberof AlbumResponseDto + */ + isActivityEnabled: boolean; + /** + * + * @type {Date} + * @memberof AlbumResponseDto + */ + lastModifiedAssetTimestamp?: Date; + /** + * + * @type {UserResponseDto} + * @memberof AlbumResponseDto + */ + owner: UserResponseDto; + /** + * + * @type {string} + * @memberof AlbumResponseDto + */ + ownerId: string; + /** + * + * @type {boolean} + * @memberof AlbumResponseDto + */ + shared: boolean; + /** + * + * @type {Array} + * @memberof AlbumResponseDto + */ + sharedUsers: Array; + /** + * + * @type {Date} + * @memberof AlbumResponseDto + */ + startDate?: Date; + /** + * + * @type {Date} + * @memberof AlbumResponseDto + */ + updatedAt: Date; +} + +/** + * Check if a given object implements the AlbumResponseDto interface. + */ +export function instanceOfAlbumResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "albumName" in value; + isInstance = isInstance && "albumThumbnailAssetId" in value; + isInstance = isInstance && "assetCount" in value; + isInstance = isInstance && "assets" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "description" in value; + isInstance = isInstance && "hasSharedLink" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "isActivityEnabled" in value; + isInstance = isInstance && "owner" in value; + isInstance = isInstance && "ownerId" in value; + isInstance = isInstance && "shared" in value; + isInstance = isInstance && "sharedUsers" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function AlbumResponseDtoFromJSON(json: any): AlbumResponseDto { + return AlbumResponseDtoFromJSONTyped(json, false); +} + +export function AlbumResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AlbumResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'albumName': json['albumName'], + 'albumThumbnailAssetId': json['albumThumbnailAssetId'], + 'assetCount': json['assetCount'], + 'assets': ((json['assets'] as Array).map(AssetResponseDtoFromJSON)), + 'createdAt': (new Date(json['createdAt'])), + 'description': json['description'], + 'endDate': !exists(json, 'endDate') ? undefined : (new Date(json['endDate'])), + 'hasSharedLink': json['hasSharedLink'], + 'id': json['id'], + 'isActivityEnabled': json['isActivityEnabled'], + 'lastModifiedAssetTimestamp': !exists(json, 'lastModifiedAssetTimestamp') ? undefined : (new Date(json['lastModifiedAssetTimestamp'])), + 'owner': UserResponseDtoFromJSON(json['owner']), + 'ownerId': json['ownerId'], + 'shared': json['shared'], + 'sharedUsers': ((json['sharedUsers'] as Array).map(UserResponseDtoFromJSON)), + 'startDate': !exists(json, 'startDate') ? undefined : (new Date(json['startDate'])), + 'updatedAt': (new Date(json['updatedAt'])), + }; +} + +export function AlbumResponseDtoToJSON(value?: AlbumResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'albumName': value.albumName, + 'albumThumbnailAssetId': value.albumThumbnailAssetId, + 'assetCount': value.assetCount, + 'assets': ((value.assets as Array).map(AssetResponseDtoToJSON)), + 'createdAt': (value.createdAt.toISOString()), + 'description': value.description, + 'endDate': value.endDate === undefined ? undefined : (value.endDate.toISOString()), + 'hasSharedLink': value.hasSharedLink, + 'id': value.id, + 'isActivityEnabled': value.isActivityEnabled, + 'lastModifiedAssetTimestamp': value.lastModifiedAssetTimestamp === undefined ? undefined : (value.lastModifiedAssetTimestamp.toISOString()), + 'owner': UserResponseDtoToJSON(value.owner), + 'ownerId': value.ownerId, + 'shared': value.shared, + 'sharedUsers': ((value.sharedUsers as Array).map(UserResponseDtoToJSON)), + 'startDate': value.startDate === undefined ? undefined : (value.startDate.toISOString()), + 'updatedAt': (value.updatedAt.toISOString()), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AllJobStatusResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AllJobStatusResponseDto.ts new file mode 100644 index 00000000000000..69cdb72f65012d --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AllJobStatusResponseDto.ts @@ -0,0 +1,172 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { JobStatusDto } from './JobStatusDto'; +import { + JobStatusDtoFromJSON, + JobStatusDtoFromJSONTyped, + JobStatusDtoToJSON, +} from './JobStatusDto'; + +/** + * + * @export + * @interface AllJobStatusResponseDto + */ +export interface AllJobStatusResponseDto { + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + backgroundTask: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + faceDetection: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + facialRecognition: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + library: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + metadataExtraction: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + migration: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + search: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + sidecar: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + smartSearch: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + storageTemplateMigration: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + thumbnailGeneration: JobStatusDto; + /** + * + * @type {JobStatusDto} + * @memberof AllJobStatusResponseDto + */ + videoConversion: JobStatusDto; +} + +/** + * Check if a given object implements the AllJobStatusResponseDto interface. + */ +export function instanceOfAllJobStatusResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "backgroundTask" in value; + isInstance = isInstance && "faceDetection" in value; + isInstance = isInstance && "facialRecognition" in value; + isInstance = isInstance && "library" in value; + isInstance = isInstance && "metadataExtraction" in value; + isInstance = isInstance && "migration" in value; + isInstance = isInstance && "search" in value; + isInstance = isInstance && "sidecar" in value; + isInstance = isInstance && "smartSearch" in value; + isInstance = isInstance && "storageTemplateMigration" in value; + isInstance = isInstance && "thumbnailGeneration" in value; + isInstance = isInstance && "videoConversion" in value; + + return isInstance; +} + +export function AllJobStatusResponseDtoFromJSON(json: any): AllJobStatusResponseDto { + return AllJobStatusResponseDtoFromJSONTyped(json, false); +} + +export function AllJobStatusResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AllJobStatusResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'backgroundTask': JobStatusDtoFromJSON(json['backgroundTask']), + 'faceDetection': JobStatusDtoFromJSON(json['faceDetection']), + 'facialRecognition': JobStatusDtoFromJSON(json['facialRecognition']), + 'library': JobStatusDtoFromJSON(json['library']), + 'metadataExtraction': JobStatusDtoFromJSON(json['metadataExtraction']), + 'migration': JobStatusDtoFromJSON(json['migration']), + 'search': JobStatusDtoFromJSON(json['search']), + 'sidecar': JobStatusDtoFromJSON(json['sidecar']), + 'smartSearch': JobStatusDtoFromJSON(json['smartSearch']), + 'storageTemplateMigration': JobStatusDtoFromJSON(json['storageTemplateMigration']), + 'thumbnailGeneration': JobStatusDtoFromJSON(json['thumbnailGeneration']), + 'videoConversion': JobStatusDtoFromJSON(json['videoConversion']), + }; +} + +export function AllJobStatusResponseDtoToJSON(value?: AllJobStatusResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'backgroundTask': JobStatusDtoToJSON(value.backgroundTask), + 'faceDetection': JobStatusDtoToJSON(value.faceDetection), + 'facialRecognition': JobStatusDtoToJSON(value.facialRecognition), + 'library': JobStatusDtoToJSON(value.library), + 'metadataExtraction': JobStatusDtoToJSON(value.metadataExtraction), + 'migration': JobStatusDtoToJSON(value.migration), + 'search': JobStatusDtoToJSON(value.search), + 'sidecar': JobStatusDtoToJSON(value.sidecar), + 'smartSearch': JobStatusDtoToJSON(value.smartSearch), + 'storageTemplateMigration': JobStatusDtoToJSON(value.storageTemplateMigration), + 'thumbnailGeneration': JobStatusDtoToJSON(value.thumbnailGeneration), + 'videoConversion': JobStatusDtoToJSON(value.videoConversion), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetBulkDeleteDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetBulkDeleteDto.ts new file mode 100644 index 00000000000000..d11f7f06325fab --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetBulkDeleteDto.ts @@ -0,0 +1,74 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetBulkDeleteDto + */ +export interface AssetBulkDeleteDto { + /** + * + * @type {boolean} + * @memberof AssetBulkDeleteDto + */ + force?: boolean; + /** + * + * @type {Array} + * @memberof AssetBulkDeleteDto + */ + ids: Array; +} + +/** + * Check if a given object implements the AssetBulkDeleteDto interface. + */ +export function instanceOfAssetBulkDeleteDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "ids" in value; + + return isInstance; +} + +export function AssetBulkDeleteDtoFromJSON(json: any): AssetBulkDeleteDto { + return AssetBulkDeleteDtoFromJSONTyped(json, false); +} + +export function AssetBulkDeleteDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetBulkDeleteDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'force': !exists(json, 'force') ? undefined : json['force'], + 'ids': json['ids'], + }; +} + +export function AssetBulkDeleteDtoToJSON(value?: AssetBulkDeleteDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'force': value.force, + 'ids': value.ids, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetBulkUpdateDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetBulkUpdateDto.ts new file mode 100644 index 00000000000000..53fedefba42c01 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetBulkUpdateDto.ts @@ -0,0 +1,122 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetBulkUpdateDto + */ +export interface AssetBulkUpdateDto { + /** + * + * @type {string} + * @memberof AssetBulkUpdateDto + */ + dateTimeOriginal?: string; + /** + * + * @type {Array} + * @memberof AssetBulkUpdateDto + */ + ids: Array; + /** + * + * @type {boolean} + * @memberof AssetBulkUpdateDto + */ + isArchived?: boolean; + /** + * + * @type {boolean} + * @memberof AssetBulkUpdateDto + */ + isFavorite?: boolean; + /** + * + * @type {number} + * @memberof AssetBulkUpdateDto + */ + latitude?: number; + /** + * + * @type {number} + * @memberof AssetBulkUpdateDto + */ + longitude?: number; + /** + * + * @type {boolean} + * @memberof AssetBulkUpdateDto + */ + removeParent?: boolean; + /** + * + * @type {string} + * @memberof AssetBulkUpdateDto + */ + stackParentId?: string; +} + +/** + * Check if a given object implements the AssetBulkUpdateDto interface. + */ +export function instanceOfAssetBulkUpdateDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "ids" in value; + + return isInstance; +} + +export function AssetBulkUpdateDtoFromJSON(json: any): AssetBulkUpdateDto { + return AssetBulkUpdateDtoFromJSONTyped(json, false); +} + +export function AssetBulkUpdateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetBulkUpdateDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'dateTimeOriginal': !exists(json, 'dateTimeOriginal') ? undefined : json['dateTimeOriginal'], + 'ids': json['ids'], + 'isArchived': !exists(json, 'isArchived') ? undefined : json['isArchived'], + 'isFavorite': !exists(json, 'isFavorite') ? undefined : json['isFavorite'], + 'latitude': !exists(json, 'latitude') ? undefined : json['latitude'], + 'longitude': !exists(json, 'longitude') ? undefined : json['longitude'], + 'removeParent': !exists(json, 'removeParent') ? undefined : json['removeParent'], + 'stackParentId': !exists(json, 'stackParentId') ? undefined : json['stackParentId'], + }; +} + +export function AssetBulkUpdateDtoToJSON(value?: AssetBulkUpdateDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'dateTimeOriginal': value.dateTimeOriginal, + 'ids': value.ids, + 'isArchived': value.isArchived, + 'isFavorite': value.isFavorite, + 'latitude': value.latitude, + 'longitude': value.longitude, + 'removeParent': value.removeParent, + 'stackParentId': value.stackParentId, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckDto.ts new file mode 100644 index 00000000000000..0e509e24cee1d6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetBulkUploadCheckItem } from './AssetBulkUploadCheckItem'; +import { + AssetBulkUploadCheckItemFromJSON, + AssetBulkUploadCheckItemFromJSONTyped, + AssetBulkUploadCheckItemToJSON, +} from './AssetBulkUploadCheckItem'; + +/** + * + * @export + * @interface AssetBulkUploadCheckDto + */ +export interface AssetBulkUploadCheckDto { + /** + * + * @type {Array} + * @memberof AssetBulkUploadCheckDto + */ + assets: Array; +} + +/** + * Check if a given object implements the AssetBulkUploadCheckDto interface. + */ +export function instanceOfAssetBulkUploadCheckDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assets" in value; + + return isInstance; +} + +export function AssetBulkUploadCheckDtoFromJSON(json: any): AssetBulkUploadCheckDto { + return AssetBulkUploadCheckDtoFromJSONTyped(json, false); +} + +export function AssetBulkUploadCheckDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetBulkUploadCheckDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assets': ((json['assets'] as Array).map(AssetBulkUploadCheckItemFromJSON)), + }; +} + +export function AssetBulkUploadCheckDtoToJSON(value?: AssetBulkUploadCheckDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assets': ((value.assets as Array).map(AssetBulkUploadCheckItemToJSON)), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckItem.ts b/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckItem.ts new file mode 100644 index 00000000000000..6fc8bb09cf8974 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckItem.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetBulkUploadCheckItem + */ +export interface AssetBulkUploadCheckItem { + /** + * base64 or hex encoded sha1 hash + * @type {string} + * @memberof AssetBulkUploadCheckItem + */ + checksum: string; + /** + * + * @type {string} + * @memberof AssetBulkUploadCheckItem + */ + id: string; +} + +/** + * Check if a given object implements the AssetBulkUploadCheckItem interface. + */ +export function instanceOfAssetBulkUploadCheckItem(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "checksum" in value; + isInstance = isInstance && "id" in value; + + return isInstance; +} + +export function AssetBulkUploadCheckItemFromJSON(json: any): AssetBulkUploadCheckItem { + return AssetBulkUploadCheckItemFromJSONTyped(json, false); +} + +export function AssetBulkUploadCheckItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetBulkUploadCheckItem { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'checksum': json['checksum'], + 'id': json['id'], + }; +} + +export function AssetBulkUploadCheckItemToJSON(value?: AssetBulkUploadCheckItem | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'checksum': value.checksum, + 'id': value.id, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckResponseDto.ts new file mode 100644 index 00000000000000..caa6e623743f54 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckResponseDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetBulkUploadCheckResult } from './AssetBulkUploadCheckResult'; +import { + AssetBulkUploadCheckResultFromJSON, + AssetBulkUploadCheckResultFromJSONTyped, + AssetBulkUploadCheckResultToJSON, +} from './AssetBulkUploadCheckResult'; + +/** + * + * @export + * @interface AssetBulkUploadCheckResponseDto + */ +export interface AssetBulkUploadCheckResponseDto { + /** + * + * @type {Array} + * @memberof AssetBulkUploadCheckResponseDto + */ + results: Array; +} + +/** + * Check if a given object implements the AssetBulkUploadCheckResponseDto interface. + */ +export function instanceOfAssetBulkUploadCheckResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "results" in value; + + return isInstance; +} + +export function AssetBulkUploadCheckResponseDtoFromJSON(json: any): AssetBulkUploadCheckResponseDto { + return AssetBulkUploadCheckResponseDtoFromJSONTyped(json, false); +} + +export function AssetBulkUploadCheckResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetBulkUploadCheckResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'results': ((json['results'] as Array).map(AssetBulkUploadCheckResultFromJSON)), + }; +} + +export function AssetBulkUploadCheckResponseDtoToJSON(value?: AssetBulkUploadCheckResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'results': ((value.results as Array).map(AssetBulkUploadCheckResultToJSON)), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckResult.ts b/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckResult.ts new file mode 100644 index 00000000000000..ad106b27234e2d --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetBulkUploadCheckResult.ts @@ -0,0 +1,111 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetBulkUploadCheckResult + */ +export interface AssetBulkUploadCheckResult { + /** + * + * @type {string} + * @memberof AssetBulkUploadCheckResult + */ + action: AssetBulkUploadCheckResultActionEnum; + /** + * + * @type {string} + * @memberof AssetBulkUploadCheckResult + */ + assetId?: string; + /** + * + * @type {string} + * @memberof AssetBulkUploadCheckResult + */ + id: string; + /** + * + * @type {string} + * @memberof AssetBulkUploadCheckResult + */ + reason?: AssetBulkUploadCheckResultReasonEnum; +} + + +/** + * @export + */ +export const AssetBulkUploadCheckResultActionEnum = { + Accept: 'accept', + Reject: 'reject' +} as const; +export type AssetBulkUploadCheckResultActionEnum = typeof AssetBulkUploadCheckResultActionEnum[keyof typeof AssetBulkUploadCheckResultActionEnum]; + +/** + * @export + */ +export const AssetBulkUploadCheckResultReasonEnum = { + Duplicate: 'duplicate', + UnsupportedFormat: 'unsupported-format' +} as const; +export type AssetBulkUploadCheckResultReasonEnum = typeof AssetBulkUploadCheckResultReasonEnum[keyof typeof AssetBulkUploadCheckResultReasonEnum]; + + +/** + * Check if a given object implements the AssetBulkUploadCheckResult interface. + */ +export function instanceOfAssetBulkUploadCheckResult(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "action" in value; + isInstance = isInstance && "id" in value; + + return isInstance; +} + +export function AssetBulkUploadCheckResultFromJSON(json: any): AssetBulkUploadCheckResult { + return AssetBulkUploadCheckResultFromJSONTyped(json, false); +} + +export function AssetBulkUploadCheckResultFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetBulkUploadCheckResult { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'action': json['action'], + 'assetId': !exists(json, 'assetId') ? undefined : json['assetId'], + 'id': json['id'], + 'reason': !exists(json, 'reason') ? undefined : json['reason'], + }; +} + +export function AssetBulkUploadCheckResultToJSON(value?: AssetBulkUploadCheckResult | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'action': value.action, + 'assetId': value.assetId, + 'id': value.id, + 'reason': value.reason, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetFaceResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetFaceResponseDto.ts new file mode 100644 index 00000000000000..e4a34b512ccd9d --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetFaceResponseDto.ts @@ -0,0 +1,136 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PersonResponseDto } from './PersonResponseDto'; +import { + PersonResponseDtoFromJSON, + PersonResponseDtoFromJSONTyped, + PersonResponseDtoToJSON, +} from './PersonResponseDto'; + +/** + * + * @export + * @interface AssetFaceResponseDto + */ +export interface AssetFaceResponseDto { + /** + * + * @type {number} + * @memberof AssetFaceResponseDto + */ + boundingBoxX1: number; + /** + * + * @type {number} + * @memberof AssetFaceResponseDto + */ + boundingBoxX2: number; + /** + * + * @type {number} + * @memberof AssetFaceResponseDto + */ + boundingBoxY1: number; + /** + * + * @type {number} + * @memberof AssetFaceResponseDto + */ + boundingBoxY2: number; + /** + * + * @type {string} + * @memberof AssetFaceResponseDto + */ + id: string; + /** + * + * @type {number} + * @memberof AssetFaceResponseDto + */ + imageHeight: number; + /** + * + * @type {number} + * @memberof AssetFaceResponseDto + */ + imageWidth: number; + /** + * + * @type {PersonResponseDto} + * @memberof AssetFaceResponseDto + */ + person: PersonResponseDto | null; +} + +/** + * Check if a given object implements the AssetFaceResponseDto interface. + */ +export function instanceOfAssetFaceResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "boundingBoxX1" in value; + isInstance = isInstance && "boundingBoxX2" in value; + isInstance = isInstance && "boundingBoxY1" in value; + isInstance = isInstance && "boundingBoxY2" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "imageHeight" in value; + isInstance = isInstance && "imageWidth" in value; + isInstance = isInstance && "person" in value; + + return isInstance; +} + +export function AssetFaceResponseDtoFromJSON(json: any): AssetFaceResponseDto { + return AssetFaceResponseDtoFromJSONTyped(json, false); +} + +export function AssetFaceResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetFaceResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'boundingBoxX1': json['boundingBoxX1'], + 'boundingBoxX2': json['boundingBoxX2'], + 'boundingBoxY1': json['boundingBoxY1'], + 'boundingBoxY2': json['boundingBoxY2'], + 'id': json['id'], + 'imageHeight': json['imageHeight'], + 'imageWidth': json['imageWidth'], + 'person': PersonResponseDtoFromJSON(json['person']), + }; +} + +export function AssetFaceResponseDtoToJSON(value?: AssetFaceResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'boundingBoxX1': value.boundingBoxX1, + 'boundingBoxX2': value.boundingBoxX2, + 'boundingBoxY1': value.boundingBoxY1, + 'boundingBoxY2': value.boundingBoxY2, + 'id': value.id, + 'imageHeight': value.imageHeight, + 'imageWidth': value.imageWidth, + 'person': PersonResponseDtoToJSON(value.person), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetFaceUpdateDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetFaceUpdateDto.ts new file mode 100644 index 00000000000000..4aac731fdde83d --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetFaceUpdateDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetFaceUpdateItem } from './AssetFaceUpdateItem'; +import { + AssetFaceUpdateItemFromJSON, + AssetFaceUpdateItemFromJSONTyped, + AssetFaceUpdateItemToJSON, +} from './AssetFaceUpdateItem'; + +/** + * + * @export + * @interface AssetFaceUpdateDto + */ +export interface AssetFaceUpdateDto { + /** + * + * @type {Array} + * @memberof AssetFaceUpdateDto + */ + data: Array; +} + +/** + * Check if a given object implements the AssetFaceUpdateDto interface. + */ +export function instanceOfAssetFaceUpdateDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "data" in value; + + return isInstance; +} + +export function AssetFaceUpdateDtoFromJSON(json: any): AssetFaceUpdateDto { + return AssetFaceUpdateDtoFromJSONTyped(json, false); +} + +export function AssetFaceUpdateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetFaceUpdateDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'data': ((json['data'] as Array).map(AssetFaceUpdateItemFromJSON)), + }; +} + +export function AssetFaceUpdateDtoToJSON(value?: AssetFaceUpdateDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'data': ((value.data as Array).map(AssetFaceUpdateItemToJSON)), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetFaceUpdateItem.ts b/open-api/typescript-sdk/fetch-client/models/AssetFaceUpdateItem.ts new file mode 100644 index 00000000000000..14637b52052d2a --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetFaceUpdateItem.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetFaceUpdateItem + */ +export interface AssetFaceUpdateItem { + /** + * + * @type {string} + * @memberof AssetFaceUpdateItem + */ + assetId: string; + /** + * + * @type {string} + * @memberof AssetFaceUpdateItem + */ + personId: string; +} + +/** + * Check if a given object implements the AssetFaceUpdateItem interface. + */ +export function instanceOfAssetFaceUpdateItem(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assetId" in value; + isInstance = isInstance && "personId" in value; + + return isInstance; +} + +export function AssetFaceUpdateItemFromJSON(json: any): AssetFaceUpdateItem { + return AssetFaceUpdateItemFromJSONTyped(json, false); +} + +export function AssetFaceUpdateItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetFaceUpdateItem { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assetId': json['assetId'], + 'personId': json['personId'], + }; +} + +export function AssetFaceUpdateItemToJSON(value?: AssetFaceUpdateItem | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assetId': value.assetId, + 'personId': value.personId, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetFaceWithoutPersonResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetFaceWithoutPersonResponseDto.ts new file mode 100644 index 00000000000000..b84e7893c023c3 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetFaceWithoutPersonResponseDto.ts @@ -0,0 +1,120 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetFaceWithoutPersonResponseDto + */ +export interface AssetFaceWithoutPersonResponseDto { + /** + * + * @type {number} + * @memberof AssetFaceWithoutPersonResponseDto + */ + boundingBoxX1: number; + /** + * + * @type {number} + * @memberof AssetFaceWithoutPersonResponseDto + */ + boundingBoxX2: number; + /** + * + * @type {number} + * @memberof AssetFaceWithoutPersonResponseDto + */ + boundingBoxY1: number; + /** + * + * @type {number} + * @memberof AssetFaceWithoutPersonResponseDto + */ + boundingBoxY2: number; + /** + * + * @type {string} + * @memberof AssetFaceWithoutPersonResponseDto + */ + id: string; + /** + * + * @type {number} + * @memberof AssetFaceWithoutPersonResponseDto + */ + imageHeight: number; + /** + * + * @type {number} + * @memberof AssetFaceWithoutPersonResponseDto + */ + imageWidth: number; +} + +/** + * Check if a given object implements the AssetFaceWithoutPersonResponseDto interface. + */ +export function instanceOfAssetFaceWithoutPersonResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "boundingBoxX1" in value; + isInstance = isInstance && "boundingBoxX2" in value; + isInstance = isInstance && "boundingBoxY1" in value; + isInstance = isInstance && "boundingBoxY2" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "imageHeight" in value; + isInstance = isInstance && "imageWidth" in value; + + return isInstance; +} + +export function AssetFaceWithoutPersonResponseDtoFromJSON(json: any): AssetFaceWithoutPersonResponseDto { + return AssetFaceWithoutPersonResponseDtoFromJSONTyped(json, false); +} + +export function AssetFaceWithoutPersonResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetFaceWithoutPersonResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'boundingBoxX1': json['boundingBoxX1'], + 'boundingBoxX2': json['boundingBoxX2'], + 'boundingBoxY1': json['boundingBoxY1'], + 'boundingBoxY2': json['boundingBoxY2'], + 'id': json['id'], + 'imageHeight': json['imageHeight'], + 'imageWidth': json['imageWidth'], + }; +} + +export function AssetFaceWithoutPersonResponseDtoToJSON(value?: AssetFaceWithoutPersonResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'boundingBoxX1': value.boundingBoxX1, + 'boundingBoxX2': value.boundingBoxX2, + 'boundingBoxY1': value.boundingBoxY1, + 'boundingBoxY2': value.boundingBoxY2, + 'id': value.id, + 'imageHeight': value.imageHeight, + 'imageWidth': value.imageWidth, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetFileUploadResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetFileUploadResponseDto.ts new file mode 100644 index 00000000000000..53155c930dbf65 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetFileUploadResponseDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetFileUploadResponseDto + */ +export interface AssetFileUploadResponseDto { + /** + * + * @type {boolean} + * @memberof AssetFileUploadResponseDto + */ + duplicate: boolean; + /** + * + * @type {string} + * @memberof AssetFileUploadResponseDto + */ + id: string; +} + +/** + * Check if a given object implements the AssetFileUploadResponseDto interface. + */ +export function instanceOfAssetFileUploadResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "duplicate" in value; + isInstance = isInstance && "id" in value; + + return isInstance; +} + +export function AssetFileUploadResponseDtoFromJSON(json: any): AssetFileUploadResponseDto { + return AssetFileUploadResponseDtoFromJSONTyped(json, false); +} + +export function AssetFileUploadResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetFileUploadResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'duplicate': json['duplicate'], + 'id': json['id'], + }; +} + +export function AssetFileUploadResponseDtoToJSON(value?: AssetFileUploadResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'duplicate': value.duplicate, + 'id': value.id, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetIdsDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetIdsDto.ts new file mode 100644 index 00000000000000..ad33322ea37b73 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetIdsDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetIdsDto + */ +export interface AssetIdsDto { + /** + * + * @type {Array} + * @memberof AssetIdsDto + */ + assetIds: Array; +} + +/** + * Check if a given object implements the AssetIdsDto interface. + */ +export function instanceOfAssetIdsDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assetIds" in value; + + return isInstance; +} + +export function AssetIdsDtoFromJSON(json: any): AssetIdsDto { + return AssetIdsDtoFromJSONTyped(json, false); +} + +export function AssetIdsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetIdsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assetIds': json['assetIds'], + }; +} + +export function AssetIdsDtoToJSON(value?: AssetIdsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assetIds': value.assetIds, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetIdsResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetIdsResponseDto.ts new file mode 100644 index 00000000000000..5e6ba5a5b051b6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetIdsResponseDto.ts @@ -0,0 +1,95 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetIdsResponseDto + */ +export interface AssetIdsResponseDto { + /** + * + * @type {string} + * @memberof AssetIdsResponseDto + */ + assetId: string; + /** + * + * @type {string} + * @memberof AssetIdsResponseDto + */ + error?: AssetIdsResponseDtoErrorEnum; + /** + * + * @type {boolean} + * @memberof AssetIdsResponseDto + */ + success: boolean; +} + + +/** + * @export + */ +export const AssetIdsResponseDtoErrorEnum = { + Duplicate: 'duplicate', + NoPermission: 'no_permission', + NotFound: 'not_found' +} as const; +export type AssetIdsResponseDtoErrorEnum = typeof AssetIdsResponseDtoErrorEnum[keyof typeof AssetIdsResponseDtoErrorEnum]; + + +/** + * Check if a given object implements the AssetIdsResponseDto interface. + */ +export function instanceOfAssetIdsResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assetId" in value; + isInstance = isInstance && "success" in value; + + return isInstance; +} + +export function AssetIdsResponseDtoFromJSON(json: any): AssetIdsResponseDto { + return AssetIdsResponseDtoFromJSONTyped(json, false); +} + +export function AssetIdsResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetIdsResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assetId': json['assetId'], + 'error': !exists(json, 'error') ? undefined : json['error'], + 'success': json['success'], + }; +} + +export function AssetIdsResponseDtoToJSON(value?: AssetIdsResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assetId': value.assetId, + 'error': value.error, + 'success': value.success, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetJobName.ts b/open-api/typescript-sdk/fetch-client/models/AssetJobName.ts new file mode 100644 index 00000000000000..7653107ee9ad28 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetJobName.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const AssetJobName = { + RegenerateThumbnail: 'regenerate-thumbnail', + RefreshMetadata: 'refresh-metadata', + TranscodeVideo: 'transcode-video' +} as const; +export type AssetJobName = typeof AssetJobName[keyof typeof AssetJobName]; + + +export function AssetJobNameFromJSON(json: any): AssetJobName { + return AssetJobNameFromJSONTyped(json, false); +} + +export function AssetJobNameFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetJobName { + return json as AssetJobName; +} + +export function AssetJobNameToJSON(value?: AssetJobName | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetJobsDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetJobsDto.ts new file mode 100644 index 00000000000000..0a5edbf18a20f8 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetJobsDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetJobName } from './AssetJobName'; +import { + AssetJobNameFromJSON, + AssetJobNameFromJSONTyped, + AssetJobNameToJSON, +} from './AssetJobName'; + +/** + * + * @export + * @interface AssetJobsDto + */ +export interface AssetJobsDto { + /** + * + * @type {Array} + * @memberof AssetJobsDto + */ + assetIds: Array; + /** + * + * @type {AssetJobName} + * @memberof AssetJobsDto + */ + name: AssetJobName; +} + +/** + * Check if a given object implements the AssetJobsDto interface. + */ +export function instanceOfAssetJobsDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assetIds" in value; + isInstance = isInstance && "name" in value; + + return isInstance; +} + +export function AssetJobsDtoFromJSON(json: any): AssetJobsDto { + return AssetJobsDtoFromJSONTyped(json, false); +} + +export function AssetJobsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetJobsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assetIds': json['assetIds'], + 'name': AssetJobNameFromJSON(json['name']), + }; +} + +export function AssetJobsDtoToJSON(value?: AssetJobsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assetIds': value.assetIds, + 'name': AssetJobNameToJSON(value.name), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetOrder.ts b/open-api/typescript-sdk/fetch-client/models/AssetOrder.ts new file mode 100644 index 00000000000000..6d11fef5d41772 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetOrder.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const AssetOrder = { + Asc: 'asc', + Desc: 'desc' +} as const; +export type AssetOrder = typeof AssetOrder[keyof typeof AssetOrder]; + + +export function AssetOrderFromJSON(json: any): AssetOrder { + return AssetOrderFromJSONTyped(json, false); +} + +export function AssetOrderFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetOrder { + return json as AssetOrder; +} + +export function AssetOrderToJSON(value?: AssetOrder | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetResponseDto.ts new file mode 100644 index 00000000000000..16193beb50e428 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetResponseDto.ts @@ -0,0 +1,374 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetTypeEnum } from './AssetTypeEnum'; +import { + AssetTypeEnumFromJSON, + AssetTypeEnumFromJSONTyped, + AssetTypeEnumToJSON, +} from './AssetTypeEnum'; +import type { ExifResponseDto } from './ExifResponseDto'; +import { + ExifResponseDtoFromJSON, + ExifResponseDtoFromJSONTyped, + ExifResponseDtoToJSON, +} from './ExifResponseDto'; +import type { PersonWithFacesResponseDto } from './PersonWithFacesResponseDto'; +import { + PersonWithFacesResponseDtoFromJSON, + PersonWithFacesResponseDtoFromJSONTyped, + PersonWithFacesResponseDtoToJSON, +} from './PersonWithFacesResponseDto'; +import type { SmartInfoResponseDto } from './SmartInfoResponseDto'; +import { + SmartInfoResponseDtoFromJSON, + SmartInfoResponseDtoFromJSONTyped, + SmartInfoResponseDtoToJSON, +} from './SmartInfoResponseDto'; +import type { TagResponseDto } from './TagResponseDto'; +import { + TagResponseDtoFromJSON, + TagResponseDtoFromJSONTyped, + TagResponseDtoToJSON, +} from './TagResponseDto'; +import type { UserResponseDto } from './UserResponseDto'; +import { + UserResponseDtoFromJSON, + UserResponseDtoFromJSONTyped, + UserResponseDtoToJSON, +} from './UserResponseDto'; + +/** + * + * @export + * @interface AssetResponseDto + */ +export interface AssetResponseDto { + /** + * base64 encoded sha1 hash + * @type {string} + * @memberof AssetResponseDto + */ + checksum: string; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + deviceAssetId: string; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + deviceId: string; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + duration: string; + /** + * + * @type {ExifResponseDto} + * @memberof AssetResponseDto + */ + exifInfo?: ExifResponseDto; + /** + * + * @type {Date} + * @memberof AssetResponseDto + */ + fileCreatedAt: Date; + /** + * + * @type {Date} + * @memberof AssetResponseDto + */ + fileModifiedAt: Date; + /** + * + * @type {boolean} + * @memberof AssetResponseDto + */ + hasMetadata: boolean; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + id: string; + /** + * + * @type {boolean} + * @memberof AssetResponseDto + */ + isArchived: boolean; + /** + * + * @type {boolean} + * @memberof AssetResponseDto + */ + isExternal: boolean; + /** + * + * @type {boolean} + * @memberof AssetResponseDto + */ + isFavorite: boolean; + /** + * + * @type {boolean} + * @memberof AssetResponseDto + */ + isOffline: boolean; + /** + * + * @type {boolean} + * @memberof AssetResponseDto + */ + isReadOnly: boolean; + /** + * + * @type {boolean} + * @memberof AssetResponseDto + */ + isTrashed: boolean; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + libraryId: string; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + livePhotoVideoId?: string | null; + /** + * + * @type {Date} + * @memberof AssetResponseDto + */ + localDateTime: Date; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + originalFileName: string; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + originalPath: string; + /** + * + * @type {UserResponseDto} + * @memberof AssetResponseDto + */ + owner?: UserResponseDto; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + ownerId: string; + /** + * + * @type {Array} + * @memberof AssetResponseDto + */ + people?: Array; + /** + * + * @type {boolean} + * @memberof AssetResponseDto + */ + resized: boolean; + /** + * + * @type {SmartInfoResponseDto} + * @memberof AssetResponseDto + */ + smartInfo?: SmartInfoResponseDto; + /** + * + * @type {Array} + * @memberof AssetResponseDto + */ + stack?: Array; + /** + * + * @type {number} + * @memberof AssetResponseDto + */ + stackCount: number | null; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + stackParentId?: string | null; + /** + * + * @type {Array} + * @memberof AssetResponseDto + */ + tags?: Array; + /** + * + * @type {string} + * @memberof AssetResponseDto + */ + thumbhash: string | null; + /** + * + * @type {AssetTypeEnum} + * @memberof AssetResponseDto + */ + type: AssetTypeEnum; + /** + * + * @type {Date} + * @memberof AssetResponseDto + */ + updatedAt: Date; +} + +/** + * Check if a given object implements the AssetResponseDto interface. + */ +export function instanceOfAssetResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "checksum" in value; + isInstance = isInstance && "deviceAssetId" in value; + isInstance = isInstance && "deviceId" in value; + isInstance = isInstance && "duration" in value; + isInstance = isInstance && "fileCreatedAt" in value; + isInstance = isInstance && "fileModifiedAt" in value; + isInstance = isInstance && "hasMetadata" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "isArchived" in value; + isInstance = isInstance && "isExternal" in value; + isInstance = isInstance && "isFavorite" in value; + isInstance = isInstance && "isOffline" in value; + isInstance = isInstance && "isReadOnly" in value; + isInstance = isInstance && "isTrashed" in value; + isInstance = isInstance && "libraryId" in value; + isInstance = isInstance && "localDateTime" in value; + isInstance = isInstance && "originalFileName" in value; + isInstance = isInstance && "originalPath" in value; + isInstance = isInstance && "ownerId" in value; + isInstance = isInstance && "resized" in value; + isInstance = isInstance && "stackCount" in value; + isInstance = isInstance && "thumbhash" in value; + isInstance = isInstance && "type" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function AssetResponseDtoFromJSON(json: any): AssetResponseDto { + return AssetResponseDtoFromJSONTyped(json, false); +} + +export function AssetResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'checksum': json['checksum'], + 'deviceAssetId': json['deviceAssetId'], + 'deviceId': json['deviceId'], + 'duration': json['duration'], + 'exifInfo': !exists(json, 'exifInfo') ? undefined : ExifResponseDtoFromJSON(json['exifInfo']), + 'fileCreatedAt': (new Date(json['fileCreatedAt'])), + 'fileModifiedAt': (new Date(json['fileModifiedAt'])), + 'hasMetadata': json['hasMetadata'], + 'id': json['id'], + 'isArchived': json['isArchived'], + 'isExternal': json['isExternal'], + 'isFavorite': json['isFavorite'], + 'isOffline': json['isOffline'], + 'isReadOnly': json['isReadOnly'], + 'isTrashed': json['isTrashed'], + 'libraryId': json['libraryId'], + 'livePhotoVideoId': !exists(json, 'livePhotoVideoId') ? undefined : json['livePhotoVideoId'], + 'localDateTime': (new Date(json['localDateTime'])), + 'originalFileName': json['originalFileName'], + 'originalPath': json['originalPath'], + 'owner': !exists(json, 'owner') ? undefined : UserResponseDtoFromJSON(json['owner']), + 'ownerId': json['ownerId'], + 'people': !exists(json, 'people') ? undefined : ((json['people'] as Array).map(PersonWithFacesResponseDtoFromJSON)), + 'resized': json['resized'], + 'smartInfo': !exists(json, 'smartInfo') ? undefined : SmartInfoResponseDtoFromJSON(json['smartInfo']), + 'stack': !exists(json, 'stack') ? undefined : ((json['stack'] as Array).map(AssetResponseDtoFromJSON)), + 'stackCount': json['stackCount'], + 'stackParentId': !exists(json, 'stackParentId') ? undefined : json['stackParentId'], + 'tags': !exists(json, 'tags') ? undefined : ((json['tags'] as Array).map(TagResponseDtoFromJSON)), + 'thumbhash': json['thumbhash'], + 'type': AssetTypeEnumFromJSON(json['type']), + 'updatedAt': (new Date(json['updatedAt'])), + }; +} + +export function AssetResponseDtoToJSON(value?: AssetResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'checksum': value.checksum, + 'deviceAssetId': value.deviceAssetId, + 'deviceId': value.deviceId, + 'duration': value.duration, + 'exifInfo': ExifResponseDtoToJSON(value.exifInfo), + 'fileCreatedAt': (value.fileCreatedAt.toISOString()), + 'fileModifiedAt': (value.fileModifiedAt.toISOString()), + 'hasMetadata': value.hasMetadata, + 'id': value.id, + 'isArchived': value.isArchived, + 'isExternal': value.isExternal, + 'isFavorite': value.isFavorite, + 'isOffline': value.isOffline, + 'isReadOnly': value.isReadOnly, + 'isTrashed': value.isTrashed, + 'libraryId': value.libraryId, + 'livePhotoVideoId': value.livePhotoVideoId, + 'localDateTime': (value.localDateTime.toISOString()), + 'originalFileName': value.originalFileName, + 'originalPath': value.originalPath, + 'owner': UserResponseDtoToJSON(value.owner), + 'ownerId': value.ownerId, + 'people': value.people === undefined ? undefined : ((value.people as Array).map(PersonWithFacesResponseDtoToJSON)), + 'resized': value.resized, + 'smartInfo': SmartInfoResponseDtoToJSON(value.smartInfo), + 'stack': value.stack === undefined ? undefined : ((value.stack as Array).map(AssetResponseDtoToJSON)), + 'stackCount': value.stackCount, + 'stackParentId': value.stackParentId, + 'tags': value.tags === undefined ? undefined : ((value.tags as Array).map(TagResponseDtoToJSON)), + 'thumbhash': value.thumbhash, + 'type': AssetTypeEnumToJSON(value.type), + 'updatedAt': (value.updatedAt.toISOString()), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetStatsResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AssetStatsResponseDto.ts new file mode 100644 index 00000000000000..4907cb4ca9ad5b --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetStatsResponseDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AssetStatsResponseDto + */ +export interface AssetStatsResponseDto { + /** + * + * @type {number} + * @memberof AssetStatsResponseDto + */ + images: number; + /** + * + * @type {number} + * @memberof AssetStatsResponseDto + */ + total: number; + /** + * + * @type {number} + * @memberof AssetStatsResponseDto + */ + videos: number; +} + +/** + * Check if a given object implements the AssetStatsResponseDto interface. + */ +export function instanceOfAssetStatsResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "images" in value; + isInstance = isInstance && "total" in value; + isInstance = isInstance && "videos" in value; + + return isInstance; +} + +export function AssetStatsResponseDtoFromJSON(json: any): AssetStatsResponseDto { + return AssetStatsResponseDtoFromJSONTyped(json, false); +} + +export function AssetStatsResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetStatsResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'images': json['images'], + 'total': json['total'], + 'videos': json['videos'], + }; +} + +export function AssetStatsResponseDtoToJSON(value?: AssetStatsResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'images': value.images, + 'total': value.total, + 'videos': value.videos, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AssetTypeEnum.ts b/open-api/typescript-sdk/fetch-client/models/AssetTypeEnum.ts new file mode 100644 index 00000000000000..cfbf2598553c97 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AssetTypeEnum.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const AssetTypeEnum = { + Image: 'IMAGE', + Video: 'VIDEO', + Audio: 'AUDIO', + Other: 'OTHER' +} as const; +export type AssetTypeEnum = typeof AssetTypeEnum[keyof typeof AssetTypeEnum]; + + +export function AssetTypeEnumFromJSON(json: any): AssetTypeEnum { + return AssetTypeEnumFromJSONTyped(json, false); +} + +export function AssetTypeEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): AssetTypeEnum { + return json as AssetTypeEnum; +} + +export function AssetTypeEnumToJSON(value?: AssetTypeEnum | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AudioCodec.ts b/open-api/typescript-sdk/fetch-client/models/AudioCodec.ts new file mode 100644 index 00000000000000..586e8f15910c01 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AudioCodec.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const AudioCodec = { + Mp3: 'mp3', + Aac: 'aac', + Libopus: 'libopus' +} as const; +export type AudioCodec = typeof AudioCodec[keyof typeof AudioCodec]; + + +export function AudioCodecFromJSON(json: any): AudioCodec { + return AudioCodecFromJSONTyped(json, false); +} + +export function AudioCodecFromJSONTyped(json: any, ignoreDiscriminator: boolean): AudioCodec { + return json as AudioCodec; +} + +export function AudioCodecToJSON(value?: AudioCodec | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AuditDeletesResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AuditDeletesResponseDto.ts new file mode 100644 index 00000000000000..0d6b6e167bbc29 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AuditDeletesResponseDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AuditDeletesResponseDto + */ +export interface AuditDeletesResponseDto { + /** + * + * @type {Array} + * @memberof AuditDeletesResponseDto + */ + ids: Array; + /** + * + * @type {boolean} + * @memberof AuditDeletesResponseDto + */ + needsFullSync: boolean; +} + +/** + * Check if a given object implements the AuditDeletesResponseDto interface. + */ +export function instanceOfAuditDeletesResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "ids" in value; + isInstance = isInstance && "needsFullSync" in value; + + return isInstance; +} + +export function AuditDeletesResponseDtoFromJSON(json: any): AuditDeletesResponseDto { + return AuditDeletesResponseDtoFromJSONTyped(json, false); +} + +export function AuditDeletesResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuditDeletesResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'ids': json['ids'], + 'needsFullSync': json['needsFullSync'], + }; +} + +export function AuditDeletesResponseDtoToJSON(value?: AuditDeletesResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ids': value.ids, + 'needsFullSync': value.needsFullSync, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/AuthDeviceResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/AuthDeviceResponseDto.ts new file mode 100644 index 00000000000000..252180dd712f18 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/AuthDeviceResponseDto.ts @@ -0,0 +1,111 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface AuthDeviceResponseDto + */ +export interface AuthDeviceResponseDto { + /** + * + * @type {string} + * @memberof AuthDeviceResponseDto + */ + createdAt: string; + /** + * + * @type {boolean} + * @memberof AuthDeviceResponseDto + */ + current: boolean; + /** + * + * @type {string} + * @memberof AuthDeviceResponseDto + */ + deviceOS: string; + /** + * + * @type {string} + * @memberof AuthDeviceResponseDto + */ + deviceType: string; + /** + * + * @type {string} + * @memberof AuthDeviceResponseDto + */ + id: string; + /** + * + * @type {string} + * @memberof AuthDeviceResponseDto + */ + updatedAt: string; +} + +/** + * Check if a given object implements the AuthDeviceResponseDto interface. + */ +export function instanceOfAuthDeviceResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "current" in value; + isInstance = isInstance && "deviceOS" in value; + isInstance = isInstance && "deviceType" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function AuthDeviceResponseDtoFromJSON(json: any): AuthDeviceResponseDto { + return AuthDeviceResponseDtoFromJSONTyped(json, false); +} + +export function AuthDeviceResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): AuthDeviceResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'createdAt': json['createdAt'], + 'current': json['current'], + 'deviceOS': json['deviceOS'], + 'deviceType': json['deviceType'], + 'id': json['id'], + 'updatedAt': json['updatedAt'], + }; +} + +export function AuthDeviceResponseDtoToJSON(value?: AuthDeviceResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'createdAt': value.createdAt, + 'current': value.current, + 'deviceOS': value.deviceOS, + 'deviceType': value.deviceType, + 'id': value.id, + 'updatedAt': value.updatedAt, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/BulkIdResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/BulkIdResponseDto.ts new file mode 100644 index 00000000000000..7c0fb036f8d00f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/BulkIdResponseDto.ts @@ -0,0 +1,96 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface BulkIdResponseDto + */ +export interface BulkIdResponseDto { + /** + * + * @type {string} + * @memberof BulkIdResponseDto + */ + error?: BulkIdResponseDtoErrorEnum; + /** + * + * @type {string} + * @memberof BulkIdResponseDto + */ + id: string; + /** + * + * @type {boolean} + * @memberof BulkIdResponseDto + */ + success: boolean; +} + + +/** + * @export + */ +export const BulkIdResponseDtoErrorEnum = { + Duplicate: 'duplicate', + NoPermission: 'no_permission', + NotFound: 'not_found', + Unknown: 'unknown' +} as const; +export type BulkIdResponseDtoErrorEnum = typeof BulkIdResponseDtoErrorEnum[keyof typeof BulkIdResponseDtoErrorEnum]; + + +/** + * Check if a given object implements the BulkIdResponseDto interface. + */ +export function instanceOfBulkIdResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "success" in value; + + return isInstance; +} + +export function BulkIdResponseDtoFromJSON(json: any): BulkIdResponseDto { + return BulkIdResponseDtoFromJSONTyped(json, false); +} + +export function BulkIdResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): BulkIdResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'error': !exists(json, 'error') ? undefined : json['error'], + 'id': json['id'], + 'success': json['success'], + }; +} + +export function BulkIdResponseDtoToJSON(value?: BulkIdResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'error': value.error, + 'id': value.id, + 'success': value.success, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/BulkIdsDto.ts b/open-api/typescript-sdk/fetch-client/models/BulkIdsDto.ts new file mode 100644 index 00000000000000..3aae1f43236e99 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/BulkIdsDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface BulkIdsDto + */ +export interface BulkIdsDto { + /** + * + * @type {Array} + * @memberof BulkIdsDto + */ + ids: Array; +} + +/** + * Check if a given object implements the BulkIdsDto interface. + */ +export function instanceOfBulkIdsDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "ids" in value; + + return isInstance; +} + +export function BulkIdsDtoFromJSON(json: any): BulkIdsDto { + return BulkIdsDtoFromJSONTyped(json, false); +} + +export function BulkIdsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): BulkIdsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'ids': json['ids'], + }; +} + +export function BulkIdsDtoToJSON(value?: BulkIdsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ids': value.ids, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CLIPConfig.ts b/open-api/typescript-sdk/fetch-client/models/CLIPConfig.ts new file mode 100644 index 00000000000000..30175e33655cd1 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CLIPConfig.ts @@ -0,0 +1,104 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CLIPMode } from './CLIPMode'; +import { + CLIPModeFromJSON, + CLIPModeFromJSONTyped, + CLIPModeToJSON, +} from './CLIPMode'; +import type { ModelType } from './ModelType'; +import { + ModelTypeFromJSON, + ModelTypeFromJSONTyped, + ModelTypeToJSON, +} from './ModelType'; + +/** + * + * @export + * @interface CLIPConfig + */ +export interface CLIPConfig { + /** + * + * @type {boolean} + * @memberof CLIPConfig + */ + enabled: boolean; + /** + * + * @type {CLIPMode} + * @memberof CLIPConfig + */ + mode?: CLIPMode; + /** + * + * @type {string} + * @memberof CLIPConfig + */ + modelName: string; + /** + * + * @type {ModelType} + * @memberof CLIPConfig + */ + modelType?: ModelType; +} + +/** + * Check if a given object implements the CLIPConfig interface. + */ +export function instanceOfCLIPConfig(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enabled" in value; + isInstance = isInstance && "modelName" in value; + + return isInstance; +} + +export function CLIPConfigFromJSON(json: any): CLIPConfig { + return CLIPConfigFromJSONTyped(json, false); +} + +export function CLIPConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): CLIPConfig { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enabled': json['enabled'], + 'mode': !exists(json, 'mode') ? undefined : CLIPModeFromJSON(json['mode']), + 'modelName': json['modelName'], + 'modelType': !exists(json, 'modelType') ? undefined : ModelTypeFromJSON(json['modelType']), + }; +} + +export function CLIPConfigToJSON(value?: CLIPConfig | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'enabled': value.enabled, + 'mode': CLIPModeToJSON(value.mode), + 'modelName': value.modelName, + 'modelType': ModelTypeToJSON(value.modelType), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CLIPMode.ts b/open-api/typescript-sdk/fetch-client/models/CLIPMode.ts new file mode 100644 index 00000000000000..e47c82235fa01f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CLIPMode.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const CLIPMode = { + Vision: 'vision', + Text: 'text' +} as const; +export type CLIPMode = typeof CLIPMode[keyof typeof CLIPMode]; + + +export function CLIPModeFromJSON(json: any): CLIPMode { + return CLIPModeFromJSONTyped(json, false); +} + +export function CLIPModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CLIPMode { + return json as CLIPMode; +} + +export function CLIPModeToJSON(value?: CLIPMode | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CQMode.ts b/open-api/typescript-sdk/fetch-client/models/CQMode.ts new file mode 100644 index 00000000000000..d04202d767c406 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CQMode.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const CQMode = { + Auto: 'auto', + Cqp: 'cqp', + Icq: 'icq' +} as const; +export type CQMode = typeof CQMode[keyof typeof CQMode]; + + +export function CQModeFromJSON(json: any): CQMode { + return CQModeFromJSONTyped(json, false); +} + +export function CQModeFromJSONTyped(json: any, ignoreDiscriminator: boolean): CQMode { + return json as CQMode; +} + +export function CQModeToJSON(value?: CQMode | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ChangePasswordDto.ts b/open-api/typescript-sdk/fetch-client/models/ChangePasswordDto.ts new file mode 100644 index 00000000000000..3ff18fa91a74b4 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ChangePasswordDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ChangePasswordDto + */ +export interface ChangePasswordDto { + /** + * + * @type {string} + * @memberof ChangePasswordDto + */ + newPassword: string; + /** + * + * @type {string} + * @memberof ChangePasswordDto + */ + password: string; +} + +/** + * Check if a given object implements the ChangePasswordDto interface. + */ +export function instanceOfChangePasswordDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "newPassword" in value; + isInstance = isInstance && "password" in value; + + return isInstance; +} + +export function ChangePasswordDtoFromJSON(json: any): ChangePasswordDto { + return ChangePasswordDtoFromJSONTyped(json, false); +} + +export function ChangePasswordDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ChangePasswordDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'newPassword': json['newPassword'], + 'password': json['password'], + }; +} + +export function ChangePasswordDtoToJSON(value?: ChangePasswordDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'newPassword': value.newPassword, + 'password': value.password, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CheckExistingAssetsDto.ts b/open-api/typescript-sdk/fetch-client/models/CheckExistingAssetsDto.ts new file mode 100644 index 00000000000000..8d137d9da94af6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CheckExistingAssetsDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface CheckExistingAssetsDto + */ +export interface CheckExistingAssetsDto { + /** + * + * @type {Array} + * @memberof CheckExistingAssetsDto + */ + deviceAssetIds: Array; + /** + * + * @type {string} + * @memberof CheckExistingAssetsDto + */ + deviceId: string; +} + +/** + * Check if a given object implements the CheckExistingAssetsDto interface. + */ +export function instanceOfCheckExistingAssetsDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "deviceAssetIds" in value; + isInstance = isInstance && "deviceId" in value; + + return isInstance; +} + +export function CheckExistingAssetsDtoFromJSON(json: any): CheckExistingAssetsDto { + return CheckExistingAssetsDtoFromJSONTyped(json, false); +} + +export function CheckExistingAssetsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckExistingAssetsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'deviceAssetIds': json['deviceAssetIds'], + 'deviceId': json['deviceId'], + }; +} + +export function CheckExistingAssetsDtoToJSON(value?: CheckExistingAssetsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'deviceAssetIds': value.deviceAssetIds, + 'deviceId': value.deviceId, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CheckExistingAssetsResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/CheckExistingAssetsResponseDto.ts new file mode 100644 index 00000000000000..54bac21ca1618d --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CheckExistingAssetsResponseDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface CheckExistingAssetsResponseDto + */ +export interface CheckExistingAssetsResponseDto { + /** + * + * @type {Array} + * @memberof CheckExistingAssetsResponseDto + */ + existingIds: Array; +} + +/** + * Check if a given object implements the CheckExistingAssetsResponseDto interface. + */ +export function instanceOfCheckExistingAssetsResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "existingIds" in value; + + return isInstance; +} + +export function CheckExistingAssetsResponseDtoFromJSON(json: any): CheckExistingAssetsResponseDto { + return CheckExistingAssetsResponseDtoFromJSONTyped(json, false); +} + +export function CheckExistingAssetsResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CheckExistingAssetsResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'existingIds': json['existingIds'], + }; +} + +export function CheckExistingAssetsResponseDtoToJSON(value?: CheckExistingAssetsResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'existingIds': value.existingIds, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/Colorspace.ts b/open-api/typescript-sdk/fetch-client/models/Colorspace.ts new file mode 100644 index 00000000000000..e10cde234e6a12 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/Colorspace.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const Colorspace = { + Srgb: 'srgb', + P3: 'p3' +} as const; +export type Colorspace = typeof Colorspace[keyof typeof Colorspace]; + + +export function ColorspaceFromJSON(json: any): Colorspace { + return ColorspaceFromJSONTyped(json, false); +} + +export function ColorspaceFromJSONTyped(json: any, ignoreDiscriminator: boolean): Colorspace { + return json as Colorspace; +} + +export function ColorspaceToJSON(value?: Colorspace | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CreateAlbumDto.ts b/open-api/typescript-sdk/fetch-client/models/CreateAlbumDto.ts new file mode 100644 index 00000000000000..d3f3c9f20e0913 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CreateAlbumDto.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface CreateAlbumDto + */ +export interface CreateAlbumDto { + /** + * + * @type {string} + * @memberof CreateAlbumDto + */ + albumName: string; + /** + * + * @type {Array} + * @memberof CreateAlbumDto + */ + assetIds?: Array; + /** + * + * @type {string} + * @memberof CreateAlbumDto + */ + description?: string; + /** + * + * @type {Array} + * @memberof CreateAlbumDto + */ + sharedWithUserIds?: Array; +} + +/** + * Check if a given object implements the CreateAlbumDto interface. + */ +export function instanceOfCreateAlbumDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "albumName" in value; + + return isInstance; +} + +export function CreateAlbumDtoFromJSON(json: any): CreateAlbumDto { + return CreateAlbumDtoFromJSONTyped(json, false); +} + +export function CreateAlbumDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateAlbumDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'albumName': json['albumName'], + 'assetIds': !exists(json, 'assetIds') ? undefined : json['assetIds'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'sharedWithUserIds': !exists(json, 'sharedWithUserIds') ? undefined : json['sharedWithUserIds'], + }; +} + +export function CreateAlbumDtoToJSON(value?: CreateAlbumDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'albumName': value.albumName, + 'assetIds': value.assetIds, + 'description': value.description, + 'sharedWithUserIds': value.sharedWithUserIds, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CreateLibraryDto.ts b/open-api/typescript-sdk/fetch-client/models/CreateLibraryDto.ts new file mode 100644 index 00000000000000..ef75f32fa8e764 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CreateLibraryDto.ts @@ -0,0 +1,113 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { LibraryType } from './LibraryType'; +import { + LibraryTypeFromJSON, + LibraryTypeFromJSONTyped, + LibraryTypeToJSON, +} from './LibraryType'; + +/** + * + * @export + * @interface CreateLibraryDto + */ +export interface CreateLibraryDto { + /** + * + * @type {Array} + * @memberof CreateLibraryDto + */ + exclusionPatterns?: Array; + /** + * + * @type {Array} + * @memberof CreateLibraryDto + */ + importPaths?: Array; + /** + * + * @type {boolean} + * @memberof CreateLibraryDto + */ + isVisible?: boolean; + /** + * + * @type {boolean} + * @memberof CreateLibraryDto + */ + isWatched?: boolean; + /** + * + * @type {string} + * @memberof CreateLibraryDto + */ + name?: string; + /** + * + * @type {LibraryType} + * @memberof CreateLibraryDto + */ + type: LibraryType; +} + +/** + * Check if a given object implements the CreateLibraryDto interface. + */ +export function instanceOfCreateLibraryDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "type" in value; + + return isInstance; +} + +export function CreateLibraryDtoFromJSON(json: any): CreateLibraryDto { + return CreateLibraryDtoFromJSONTyped(json, false); +} + +export function CreateLibraryDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateLibraryDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'exclusionPatterns': !exists(json, 'exclusionPatterns') ? undefined : json['exclusionPatterns'], + 'importPaths': !exists(json, 'importPaths') ? undefined : json['importPaths'], + 'isVisible': !exists(json, 'isVisible') ? undefined : json['isVisible'], + 'isWatched': !exists(json, 'isWatched') ? undefined : json['isWatched'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'type': LibraryTypeFromJSON(json['type']), + }; +} + +export function CreateLibraryDtoToJSON(value?: CreateLibraryDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'exclusionPatterns': value.exclusionPatterns, + 'importPaths': value.importPaths, + 'isVisible': value.isVisible, + 'isWatched': value.isWatched, + 'name': value.name, + 'type': LibraryTypeToJSON(value.type), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CreateProfileImageResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/CreateProfileImageResponseDto.ts new file mode 100644 index 00000000000000..bcc8895693a0d8 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CreateProfileImageResponseDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface CreateProfileImageResponseDto + */ +export interface CreateProfileImageResponseDto { + /** + * + * @type {string} + * @memberof CreateProfileImageResponseDto + */ + profileImagePath: string; + /** + * + * @type {string} + * @memberof CreateProfileImageResponseDto + */ + userId: string; +} + +/** + * Check if a given object implements the CreateProfileImageResponseDto interface. + */ +export function instanceOfCreateProfileImageResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "profileImagePath" in value; + isInstance = isInstance && "userId" in value; + + return isInstance; +} + +export function CreateProfileImageResponseDtoFromJSON(json: any): CreateProfileImageResponseDto { + return CreateProfileImageResponseDtoFromJSONTyped(json, false); +} + +export function CreateProfileImageResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateProfileImageResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'profileImagePath': json['profileImagePath'], + 'userId': json['userId'], + }; +} + +export function CreateProfileImageResponseDtoToJSON(value?: CreateProfileImageResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'profileImagePath': value.profileImagePath, + 'userId': value.userId, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CreateTagDto.ts b/open-api/typescript-sdk/fetch-client/models/CreateTagDto.ts new file mode 100644 index 00000000000000..fc52e0e5bcf7fe --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CreateTagDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TagTypeEnum } from './TagTypeEnum'; +import { + TagTypeEnumFromJSON, + TagTypeEnumFromJSONTyped, + TagTypeEnumToJSON, +} from './TagTypeEnum'; + +/** + * + * @export + * @interface CreateTagDto + */ +export interface CreateTagDto { + /** + * + * @type {string} + * @memberof CreateTagDto + */ + name: string; + /** + * + * @type {TagTypeEnum} + * @memberof CreateTagDto + */ + type: TagTypeEnum; +} + +/** + * Check if a given object implements the CreateTagDto interface. + */ +export function instanceOfCreateTagDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "type" in value; + + return isInstance; +} + +export function CreateTagDtoFromJSON(json: any): CreateTagDto { + return CreateTagDtoFromJSONTyped(json, false); +} + +export function CreateTagDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateTagDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': json['name'], + 'type': TagTypeEnumFromJSON(json['type']), + }; +} + +export function CreateTagDtoToJSON(value?: CreateTagDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + 'type': TagTypeEnumToJSON(value.type), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CreateUserDto.ts b/open-api/typescript-sdk/fetch-client/models/CreateUserDto.ts new file mode 100644 index 00000000000000..df8efbc2981ccf --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CreateUserDto.ts @@ -0,0 +1,116 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface CreateUserDto + */ +export interface CreateUserDto { + /** + * + * @type {string} + * @memberof CreateUserDto + */ + email: string; + /** + * + * @type {string} + * @memberof CreateUserDto + */ + externalPath?: string | null; + /** + * + * @type {boolean} + * @memberof CreateUserDto + */ + memoriesEnabled?: boolean; + /** + * + * @type {string} + * @memberof CreateUserDto + */ + name: string; + /** + * + * @type {string} + * @memberof CreateUserDto + */ + password: string; + /** + * + * @type {number} + * @memberof CreateUserDto + */ + quotaSizeInBytes?: number | null; + /** + * + * @type {string} + * @memberof CreateUserDto + */ + storageLabel?: string | null; +} + +/** + * Check if a given object implements the CreateUserDto interface. + */ +export function instanceOfCreateUserDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "email" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "password" in value; + + return isInstance; +} + +export function CreateUserDtoFromJSON(json: any): CreateUserDto { + return CreateUserDtoFromJSONTyped(json, false); +} + +export function CreateUserDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CreateUserDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'email': json['email'], + 'externalPath': !exists(json, 'externalPath') ? undefined : json['externalPath'], + 'memoriesEnabled': !exists(json, 'memoriesEnabled') ? undefined : json['memoriesEnabled'], + 'name': json['name'], + 'password': json['password'], + 'quotaSizeInBytes': !exists(json, 'quotaSizeInBytes') ? undefined : json['quotaSizeInBytes'], + 'storageLabel': !exists(json, 'storageLabel') ? undefined : json['storageLabel'], + }; +} + +export function CreateUserDtoToJSON(value?: CreateUserDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'email': value.email, + 'externalPath': value.externalPath, + 'memoriesEnabled': value.memoriesEnabled, + 'name': value.name, + 'password': value.password, + 'quotaSizeInBytes': value.quotaSizeInBytes, + 'storageLabel': value.storageLabel, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CuratedLocationsResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/CuratedLocationsResponseDto.ts new file mode 100644 index 00000000000000..dc4940e7eaecae --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CuratedLocationsResponseDto.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface CuratedLocationsResponseDto + */ +export interface CuratedLocationsResponseDto { + /** + * + * @type {string} + * @memberof CuratedLocationsResponseDto + */ + city: string; + /** + * + * @type {string} + * @memberof CuratedLocationsResponseDto + */ + deviceAssetId: string; + /** + * + * @type {string} + * @memberof CuratedLocationsResponseDto + */ + deviceId: string; + /** + * + * @type {string} + * @memberof CuratedLocationsResponseDto + */ + id: string; + /** + * + * @type {string} + * @memberof CuratedLocationsResponseDto + */ + resizePath: string; +} + +/** + * Check if a given object implements the CuratedLocationsResponseDto interface. + */ +export function instanceOfCuratedLocationsResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "city" in value; + isInstance = isInstance && "deviceAssetId" in value; + isInstance = isInstance && "deviceId" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "resizePath" in value; + + return isInstance; +} + +export function CuratedLocationsResponseDtoFromJSON(json: any): CuratedLocationsResponseDto { + return CuratedLocationsResponseDtoFromJSONTyped(json, false); +} + +export function CuratedLocationsResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CuratedLocationsResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'city': json['city'], + 'deviceAssetId': json['deviceAssetId'], + 'deviceId': json['deviceId'], + 'id': json['id'], + 'resizePath': json['resizePath'], + }; +} + +export function CuratedLocationsResponseDtoToJSON(value?: CuratedLocationsResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'city': value.city, + 'deviceAssetId': value.deviceAssetId, + 'deviceId': value.deviceId, + 'id': value.id, + 'resizePath': value.resizePath, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/CuratedObjectsResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/CuratedObjectsResponseDto.ts new file mode 100644 index 00000000000000..6366d2128b9009 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/CuratedObjectsResponseDto.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface CuratedObjectsResponseDto + */ +export interface CuratedObjectsResponseDto { + /** + * + * @type {string} + * @memberof CuratedObjectsResponseDto + */ + deviceAssetId: string; + /** + * + * @type {string} + * @memberof CuratedObjectsResponseDto + */ + deviceId: string; + /** + * + * @type {string} + * @memberof CuratedObjectsResponseDto + */ + id: string; + /** + * + * @type {string} + * @memberof CuratedObjectsResponseDto + */ + object: string; + /** + * + * @type {string} + * @memberof CuratedObjectsResponseDto + */ + resizePath: string; +} + +/** + * Check if a given object implements the CuratedObjectsResponseDto interface. + */ +export function instanceOfCuratedObjectsResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "deviceAssetId" in value; + isInstance = isInstance && "deviceId" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "object" in value; + isInstance = isInstance && "resizePath" in value; + + return isInstance; +} + +export function CuratedObjectsResponseDtoFromJSON(json: any): CuratedObjectsResponseDto { + return CuratedObjectsResponseDtoFromJSONTyped(json, false); +} + +export function CuratedObjectsResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): CuratedObjectsResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'deviceAssetId': json['deviceAssetId'], + 'deviceId': json['deviceId'], + 'id': json['id'], + 'object': json['object'], + 'resizePath': json['resizePath'], + }; +} + +export function CuratedObjectsResponseDtoToJSON(value?: CuratedObjectsResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'deviceAssetId': value.deviceAssetId, + 'deviceId': value.deviceId, + 'id': value.id, + 'object': value.object, + 'resizePath': value.resizePath, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/DownloadArchiveInfo.ts b/open-api/typescript-sdk/fetch-client/models/DownloadArchiveInfo.ts new file mode 100644 index 00000000000000..916b4f932f2d96 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/DownloadArchiveInfo.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface DownloadArchiveInfo + */ +export interface DownloadArchiveInfo { + /** + * + * @type {Array} + * @memberof DownloadArchiveInfo + */ + assetIds: Array; + /** + * + * @type {number} + * @memberof DownloadArchiveInfo + */ + size: number; +} + +/** + * Check if a given object implements the DownloadArchiveInfo interface. + */ +export function instanceOfDownloadArchiveInfo(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assetIds" in value; + isInstance = isInstance && "size" in value; + + return isInstance; +} + +export function DownloadArchiveInfoFromJSON(json: any): DownloadArchiveInfo { + return DownloadArchiveInfoFromJSONTyped(json, false); +} + +export function DownloadArchiveInfoFromJSONTyped(json: any, ignoreDiscriminator: boolean): DownloadArchiveInfo { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assetIds': json['assetIds'], + 'size': json['size'], + }; +} + +export function DownloadArchiveInfoToJSON(value?: DownloadArchiveInfo | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assetIds': value.assetIds, + 'size': value.size, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/DownloadInfoDto.ts b/open-api/typescript-sdk/fetch-client/models/DownloadInfoDto.ts new file mode 100644 index 00000000000000..7fbd55ed4610d9 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/DownloadInfoDto.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface DownloadInfoDto + */ +export interface DownloadInfoDto { + /** + * + * @type {string} + * @memberof DownloadInfoDto + */ + albumId?: string; + /** + * + * @type {number} + * @memberof DownloadInfoDto + */ + archiveSize?: number; + /** + * + * @type {Array} + * @memberof DownloadInfoDto + */ + assetIds?: Array; + /** + * + * @type {string} + * @memberof DownloadInfoDto + */ + userId?: string; +} + +/** + * Check if a given object implements the DownloadInfoDto interface. + */ +export function instanceOfDownloadInfoDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function DownloadInfoDtoFromJSON(json: any): DownloadInfoDto { + return DownloadInfoDtoFromJSONTyped(json, false); +} + +export function DownloadInfoDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): DownloadInfoDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'albumId': !exists(json, 'albumId') ? undefined : json['albumId'], + 'archiveSize': !exists(json, 'archiveSize') ? undefined : json['archiveSize'], + 'assetIds': !exists(json, 'assetIds') ? undefined : json['assetIds'], + 'userId': !exists(json, 'userId') ? undefined : json['userId'], + }; +} + +export function DownloadInfoDtoToJSON(value?: DownloadInfoDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'albumId': value.albumId, + 'archiveSize': value.archiveSize, + 'assetIds': value.assetIds, + 'userId': value.userId, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/DownloadResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/DownloadResponseDto.ts new file mode 100644 index 00000000000000..a0887dab8e01de --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/DownloadResponseDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { DownloadArchiveInfo } from './DownloadArchiveInfo'; +import { + DownloadArchiveInfoFromJSON, + DownloadArchiveInfoFromJSONTyped, + DownloadArchiveInfoToJSON, +} from './DownloadArchiveInfo'; + +/** + * + * @export + * @interface DownloadResponseDto + */ +export interface DownloadResponseDto { + /** + * + * @type {Array} + * @memberof DownloadResponseDto + */ + archives: Array; + /** + * + * @type {number} + * @memberof DownloadResponseDto + */ + totalSize: number; +} + +/** + * Check if a given object implements the DownloadResponseDto interface. + */ +export function instanceOfDownloadResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "archives" in value; + isInstance = isInstance && "totalSize" in value; + + return isInstance; +} + +export function DownloadResponseDtoFromJSON(json: any): DownloadResponseDto { + return DownloadResponseDtoFromJSONTyped(json, false); +} + +export function DownloadResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): DownloadResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'archives': ((json['archives'] as Array).map(DownloadArchiveInfoFromJSON)), + 'totalSize': json['totalSize'], + }; +} + +export function DownloadResponseDtoToJSON(value?: DownloadResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'archives': ((value.archives as Array).map(DownloadArchiveInfoToJSON)), + 'totalSize': value.totalSize, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/EntityType.ts b/open-api/typescript-sdk/fetch-client/models/EntityType.ts new file mode 100644 index 00000000000000..c5b9abb9ac3fd6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/EntityType.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const EntityType = { + Asset: 'ASSET', + Album: 'ALBUM' +} as const; +export type EntityType = typeof EntityType[keyof typeof EntityType]; + + +export function EntityTypeFromJSON(json: any): EntityType { + return EntityTypeFromJSONTyped(json, false); +} + +export function EntityTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): EntityType { + return json as EntityType; +} + +export function EntityTypeToJSON(value?: EntityType | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ExifResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/ExifResponseDto.ts new file mode 100644 index 00000000000000..c0ce31edc3618e --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ExifResponseDto.ts @@ -0,0 +1,225 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ExifResponseDto + */ +export interface ExifResponseDto { + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + city?: string | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + country?: string | null; + /** + * + * @type {Date} + * @memberof ExifResponseDto + */ + dateTimeOriginal?: Date | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + description?: string | null; + /** + * + * @type {number} + * @memberof ExifResponseDto + */ + exifImageHeight?: number | null; + /** + * + * @type {number} + * @memberof ExifResponseDto + */ + exifImageWidth?: number | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + exposureTime?: string | null; + /** + * + * @type {number} + * @memberof ExifResponseDto + */ + fNumber?: number | null; + /** + * + * @type {number} + * @memberof ExifResponseDto + */ + fileSizeInByte?: number | null; + /** + * + * @type {number} + * @memberof ExifResponseDto + */ + focalLength?: number | null; + /** + * + * @type {number} + * @memberof ExifResponseDto + */ + iso?: number | null; + /** + * + * @type {number} + * @memberof ExifResponseDto + */ + latitude?: number | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + lensModel?: string | null; + /** + * + * @type {number} + * @memberof ExifResponseDto + */ + longitude?: number | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + make?: string | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + model?: string | null; + /** + * + * @type {Date} + * @memberof ExifResponseDto + */ + modifyDate?: Date | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + orientation?: string | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + projectionType?: string | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + state?: string | null; + /** + * + * @type {string} + * @memberof ExifResponseDto + */ + timeZone?: string | null; +} + +/** + * Check if a given object implements the ExifResponseDto interface. + */ +export function instanceOfExifResponseDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ExifResponseDtoFromJSON(json: any): ExifResponseDto { + return ExifResponseDtoFromJSONTyped(json, false); +} + +export function ExifResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ExifResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'city': !exists(json, 'city') ? undefined : json['city'], + 'country': !exists(json, 'country') ? undefined : json['country'], + 'dateTimeOriginal': !exists(json, 'dateTimeOriginal') ? undefined : (json['dateTimeOriginal'] === null ? null : new Date(json['dateTimeOriginal'])), + 'description': !exists(json, 'description') ? undefined : json['description'], + 'exifImageHeight': !exists(json, 'exifImageHeight') ? undefined : json['exifImageHeight'], + 'exifImageWidth': !exists(json, 'exifImageWidth') ? undefined : json['exifImageWidth'], + 'exposureTime': !exists(json, 'exposureTime') ? undefined : json['exposureTime'], + 'fNumber': !exists(json, 'fNumber') ? undefined : json['fNumber'], + 'fileSizeInByte': !exists(json, 'fileSizeInByte') ? undefined : json['fileSizeInByte'], + 'focalLength': !exists(json, 'focalLength') ? undefined : json['focalLength'], + 'iso': !exists(json, 'iso') ? undefined : json['iso'], + 'latitude': !exists(json, 'latitude') ? undefined : json['latitude'], + 'lensModel': !exists(json, 'lensModel') ? undefined : json['lensModel'], + 'longitude': !exists(json, 'longitude') ? undefined : json['longitude'], + 'make': !exists(json, 'make') ? undefined : json['make'], + 'model': !exists(json, 'model') ? undefined : json['model'], + 'modifyDate': !exists(json, 'modifyDate') ? undefined : (json['modifyDate'] === null ? null : new Date(json['modifyDate'])), + 'orientation': !exists(json, 'orientation') ? undefined : json['orientation'], + 'projectionType': !exists(json, 'projectionType') ? undefined : json['projectionType'], + 'state': !exists(json, 'state') ? undefined : json['state'], + 'timeZone': !exists(json, 'timeZone') ? undefined : json['timeZone'], + }; +} + +export function ExifResponseDtoToJSON(value?: ExifResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'city': value.city, + 'country': value.country, + 'dateTimeOriginal': value.dateTimeOriginal === undefined ? undefined : (value.dateTimeOriginal === null ? null : value.dateTimeOriginal.toISOString()), + 'description': value.description, + 'exifImageHeight': value.exifImageHeight, + 'exifImageWidth': value.exifImageWidth, + 'exposureTime': value.exposureTime, + 'fNumber': value.fNumber, + 'fileSizeInByte': value.fileSizeInByte, + 'focalLength': value.focalLength, + 'iso': value.iso, + 'latitude': value.latitude, + 'lensModel': value.lensModel, + 'longitude': value.longitude, + 'make': value.make, + 'model': value.model, + 'modifyDate': value.modifyDate === undefined ? undefined : (value.modifyDate === null ? null : value.modifyDate.toISOString()), + 'orientation': value.orientation, + 'projectionType': value.projectionType, + 'state': value.state, + 'timeZone': value.timeZone, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/FaceDto.ts b/open-api/typescript-sdk/fetch-client/models/FaceDto.ts new file mode 100644 index 00000000000000..01a18d6efd8ec7 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/FaceDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface FaceDto + */ +export interface FaceDto { + /** + * + * @type {string} + * @memberof FaceDto + */ + id: string; +} + +/** + * Check if a given object implements the FaceDto interface. + */ +export function instanceOfFaceDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + + return isInstance; +} + +export function FaceDtoFromJSON(json: any): FaceDto { + return FaceDtoFromJSONTyped(json, false); +} + +export function FaceDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): FaceDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + }; +} + +export function FaceDtoToJSON(value?: FaceDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'id': value.id, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/FileChecksumDto.ts b/open-api/typescript-sdk/fetch-client/models/FileChecksumDto.ts new file mode 100644 index 00000000000000..9c924bfe883b55 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/FileChecksumDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface FileChecksumDto + */ +export interface FileChecksumDto { + /** + * + * @type {Array} + * @memberof FileChecksumDto + */ + filenames: Array; +} + +/** + * Check if a given object implements the FileChecksumDto interface. + */ +export function instanceOfFileChecksumDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "filenames" in value; + + return isInstance; +} + +export function FileChecksumDtoFromJSON(json: any): FileChecksumDto { + return FileChecksumDtoFromJSONTyped(json, false); +} + +export function FileChecksumDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileChecksumDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'filenames': json['filenames'], + }; +} + +export function FileChecksumDtoToJSON(value?: FileChecksumDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'filenames': value.filenames, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/FileChecksumResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/FileChecksumResponseDto.ts new file mode 100644 index 00000000000000..734822c48b2082 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/FileChecksumResponseDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface FileChecksumResponseDto + */ +export interface FileChecksumResponseDto { + /** + * + * @type {string} + * @memberof FileChecksumResponseDto + */ + checksum: string; + /** + * + * @type {string} + * @memberof FileChecksumResponseDto + */ + filename: string; +} + +/** + * Check if a given object implements the FileChecksumResponseDto interface. + */ +export function instanceOfFileChecksumResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "checksum" in value; + isInstance = isInstance && "filename" in value; + + return isInstance; +} + +export function FileChecksumResponseDtoFromJSON(json: any): FileChecksumResponseDto { + return FileChecksumResponseDtoFromJSONTyped(json, false); +} + +export function FileChecksumResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileChecksumResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'checksum': json['checksum'], + 'filename': json['filename'], + }; +} + +export function FileChecksumResponseDtoToJSON(value?: FileChecksumResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'checksum': value.checksum, + 'filename': value.filename, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/FileReportDto.ts b/open-api/typescript-sdk/fetch-client/models/FileReportDto.ts new file mode 100644 index 00000000000000..5dd66d63a51c16 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/FileReportDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FileReportItemDto } from './FileReportItemDto'; +import { + FileReportItemDtoFromJSON, + FileReportItemDtoFromJSONTyped, + FileReportItemDtoToJSON, +} from './FileReportItemDto'; + +/** + * + * @export + * @interface FileReportDto + */ +export interface FileReportDto { + /** + * + * @type {Array} + * @memberof FileReportDto + */ + extras: Array; + /** + * + * @type {Array} + * @memberof FileReportDto + */ + orphans: Array; +} + +/** + * Check if a given object implements the FileReportDto interface. + */ +export function instanceOfFileReportDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "extras" in value; + isInstance = isInstance && "orphans" in value; + + return isInstance; +} + +export function FileReportDtoFromJSON(json: any): FileReportDto { + return FileReportDtoFromJSONTyped(json, false); +} + +export function FileReportDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileReportDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'extras': json['extras'], + 'orphans': ((json['orphans'] as Array).map(FileReportItemDtoFromJSON)), + }; +} + +export function FileReportDtoToJSON(value?: FileReportDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'extras': value.extras, + 'orphans': ((value.orphans as Array).map(FileReportItemDtoToJSON)), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/FileReportFixDto.ts b/open-api/typescript-sdk/fetch-client/models/FileReportFixDto.ts new file mode 100644 index 00000000000000..ec651a58dd8dcb --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/FileReportFixDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { FileReportItemDto } from './FileReportItemDto'; +import { + FileReportItemDtoFromJSON, + FileReportItemDtoFromJSONTyped, + FileReportItemDtoToJSON, +} from './FileReportItemDto'; + +/** + * + * @export + * @interface FileReportFixDto + */ +export interface FileReportFixDto { + /** + * + * @type {Array} + * @memberof FileReportFixDto + */ + items: Array; +} + +/** + * Check if a given object implements the FileReportFixDto interface. + */ +export function instanceOfFileReportFixDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "items" in value; + + return isInstance; +} + +export function FileReportFixDtoFromJSON(json: any): FileReportFixDto { + return FileReportFixDtoFromJSONTyped(json, false); +} + +export function FileReportFixDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileReportFixDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'items': ((json['items'] as Array).map(FileReportItemDtoFromJSON)), + }; +} + +export function FileReportFixDtoToJSON(value?: FileReportFixDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'items': ((value.items as Array).map(FileReportItemDtoToJSON)), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/FileReportItemDto.ts b/open-api/typescript-sdk/fetch-client/models/FileReportItemDto.ts new file mode 100644 index 00000000000000..12652f9a6923c0 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/FileReportItemDto.ts @@ -0,0 +1,114 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PathEntityType } from './PathEntityType'; +import { + PathEntityTypeFromJSON, + PathEntityTypeFromJSONTyped, + PathEntityTypeToJSON, +} from './PathEntityType'; +import type { PathType } from './PathType'; +import { + PathTypeFromJSON, + PathTypeFromJSONTyped, + PathTypeToJSON, +} from './PathType'; + +/** + * + * @export + * @interface FileReportItemDto + */ +export interface FileReportItemDto { + /** + * + * @type {string} + * @memberof FileReportItemDto + */ + checksum?: string; + /** + * + * @type {string} + * @memberof FileReportItemDto + */ + entityId: string; + /** + * + * @type {PathEntityType} + * @memberof FileReportItemDto + */ + entityType: PathEntityType; + /** + * + * @type {PathType} + * @memberof FileReportItemDto + */ + pathType: PathType; + /** + * + * @type {string} + * @memberof FileReportItemDto + */ + pathValue: string; +} + +/** + * Check if a given object implements the FileReportItemDto interface. + */ +export function instanceOfFileReportItemDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "entityId" in value; + isInstance = isInstance && "entityType" in value; + isInstance = isInstance && "pathType" in value; + isInstance = isInstance && "pathValue" in value; + + return isInstance; +} + +export function FileReportItemDtoFromJSON(json: any): FileReportItemDto { + return FileReportItemDtoFromJSONTyped(json, false); +} + +export function FileReportItemDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): FileReportItemDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'checksum': !exists(json, 'checksum') ? undefined : json['checksum'], + 'entityId': json['entityId'], + 'entityType': PathEntityTypeFromJSON(json['entityType']), + 'pathType': PathTypeFromJSON(json['pathType']), + 'pathValue': json['pathValue'], + }; +} + +export function FileReportItemDtoToJSON(value?: FileReportItemDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'checksum': value.checksum, + 'entityId': value.entityId, + 'entityType': PathEntityTypeToJSON(value.entityType), + 'pathType': PathTypeToJSON(value.pathType), + 'pathValue': value.pathValue, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/JobCommand.ts b/open-api/typescript-sdk/fetch-client/models/JobCommand.ts new file mode 100644 index 00000000000000..5f4c03d41b04cb --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/JobCommand.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const JobCommand = { + Start: 'start', + Pause: 'pause', + Resume: 'resume', + Empty: 'empty', + ClearFailed: 'clear-failed' +} as const; +export type JobCommand = typeof JobCommand[keyof typeof JobCommand]; + + +export function JobCommandFromJSON(json: any): JobCommand { + return JobCommandFromJSONTyped(json, false); +} + +export function JobCommandFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobCommand { + return json as JobCommand; +} + +export function JobCommandToJSON(value?: JobCommand | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/JobCommandDto.ts b/open-api/typescript-sdk/fetch-client/models/JobCommandDto.ts new file mode 100644 index 00000000000000..7faf9382495d03 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/JobCommandDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { JobCommand } from './JobCommand'; +import { + JobCommandFromJSON, + JobCommandFromJSONTyped, + JobCommandToJSON, +} from './JobCommand'; + +/** + * + * @export + * @interface JobCommandDto + */ +export interface JobCommandDto { + /** + * + * @type {JobCommand} + * @memberof JobCommandDto + */ + command: JobCommand; + /** + * + * @type {boolean} + * @memberof JobCommandDto + */ + force: boolean; +} + +/** + * Check if a given object implements the JobCommandDto interface. + */ +export function instanceOfJobCommandDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "command" in value; + isInstance = isInstance && "force" in value; + + return isInstance; +} + +export function JobCommandDtoFromJSON(json: any): JobCommandDto { + return JobCommandDtoFromJSONTyped(json, false); +} + +export function JobCommandDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobCommandDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'command': JobCommandFromJSON(json['command']), + 'force': json['force'], + }; +} + +export function JobCommandDtoToJSON(value?: JobCommandDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'command': JobCommandToJSON(value.command), + 'force': value.force, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/JobCountsDto.ts b/open-api/typescript-sdk/fetch-client/models/JobCountsDto.ts new file mode 100644 index 00000000000000..48645a27ca9cd8 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/JobCountsDto.ts @@ -0,0 +1,111 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface JobCountsDto + */ +export interface JobCountsDto { + /** + * + * @type {number} + * @memberof JobCountsDto + */ + active: number; + /** + * + * @type {number} + * @memberof JobCountsDto + */ + completed: number; + /** + * + * @type {number} + * @memberof JobCountsDto + */ + delayed: number; + /** + * + * @type {number} + * @memberof JobCountsDto + */ + failed: number; + /** + * + * @type {number} + * @memberof JobCountsDto + */ + paused: number; + /** + * + * @type {number} + * @memberof JobCountsDto + */ + waiting: number; +} + +/** + * Check if a given object implements the JobCountsDto interface. + */ +export function instanceOfJobCountsDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "active" in value; + isInstance = isInstance && "completed" in value; + isInstance = isInstance && "delayed" in value; + isInstance = isInstance && "failed" in value; + isInstance = isInstance && "paused" in value; + isInstance = isInstance && "waiting" in value; + + return isInstance; +} + +export function JobCountsDtoFromJSON(json: any): JobCountsDto { + return JobCountsDtoFromJSONTyped(json, false); +} + +export function JobCountsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobCountsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'active': json['active'], + 'completed': json['completed'], + 'delayed': json['delayed'], + 'failed': json['failed'], + 'paused': json['paused'], + 'waiting': json['waiting'], + }; +} + +export function JobCountsDtoToJSON(value?: JobCountsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'active': value.active, + 'completed': value.completed, + 'delayed': value.delayed, + 'failed': value.failed, + 'paused': value.paused, + 'waiting': value.waiting, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/JobName.ts b/open-api/typescript-sdk/fetch-client/models/JobName.ts new file mode 100644 index 00000000000000..714e077d9eadf8 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/JobName.ts @@ -0,0 +1,48 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const JobName = { + ThumbnailGeneration: 'thumbnailGeneration', + MetadataExtraction: 'metadataExtraction', + VideoConversion: 'videoConversion', + FaceDetection: 'faceDetection', + FacialRecognition: 'facialRecognition', + SmartSearch: 'smartSearch', + BackgroundTask: 'backgroundTask', + StorageTemplateMigration: 'storageTemplateMigration', + Migration: 'migration', + Search: 'search', + Sidecar: 'sidecar', + Library: 'library' +} as const; +export type JobName = typeof JobName[keyof typeof JobName]; + + +export function JobNameFromJSON(json: any): JobName { + return JobNameFromJSONTyped(json, false); +} + +export function JobNameFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobName { + return json as JobName; +} + +export function JobNameToJSON(value?: JobName | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/JobSettingsDto.ts b/open-api/typescript-sdk/fetch-client/models/JobSettingsDto.ts new file mode 100644 index 00000000000000..bbbc819d0e1856 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/JobSettingsDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface JobSettingsDto + */ +export interface JobSettingsDto { + /** + * + * @type {number} + * @memberof JobSettingsDto + */ + concurrency: number; +} + +/** + * Check if a given object implements the JobSettingsDto interface. + */ +export function instanceOfJobSettingsDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "concurrency" in value; + + return isInstance; +} + +export function JobSettingsDtoFromJSON(json: any): JobSettingsDto { + return JobSettingsDtoFromJSONTyped(json, false); +} + +export function JobSettingsDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobSettingsDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'concurrency': json['concurrency'], + }; +} + +export function JobSettingsDtoToJSON(value?: JobSettingsDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'concurrency': value.concurrency, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/JobStatusDto.ts b/open-api/typescript-sdk/fetch-client/models/JobStatusDto.ts new file mode 100644 index 00000000000000..32c29e10fc32f5 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/JobStatusDto.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { JobCountsDto } from './JobCountsDto'; +import { + JobCountsDtoFromJSON, + JobCountsDtoFromJSONTyped, + JobCountsDtoToJSON, +} from './JobCountsDto'; +import type { QueueStatusDto } from './QueueStatusDto'; +import { + QueueStatusDtoFromJSON, + QueueStatusDtoFromJSONTyped, + QueueStatusDtoToJSON, +} from './QueueStatusDto'; + +/** + * + * @export + * @interface JobStatusDto + */ +export interface JobStatusDto { + /** + * + * @type {JobCountsDto} + * @memberof JobStatusDto + */ + jobCounts: JobCountsDto; + /** + * + * @type {QueueStatusDto} + * @memberof JobStatusDto + */ + queueStatus: QueueStatusDto; +} + +/** + * Check if a given object implements the JobStatusDto interface. + */ +export function instanceOfJobStatusDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "jobCounts" in value; + isInstance = isInstance && "queueStatus" in value; + + return isInstance; +} + +export function JobStatusDtoFromJSON(json: any): JobStatusDto { + return JobStatusDtoFromJSONTyped(json, false); +} + +export function JobStatusDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): JobStatusDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'jobCounts': JobCountsDtoFromJSON(json['jobCounts']), + 'queueStatus': QueueStatusDtoFromJSON(json['queueStatus']), + }; +} + +export function JobStatusDtoToJSON(value?: JobStatusDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'jobCounts': JobCountsDtoToJSON(value.jobCounts), + 'queueStatus': QueueStatusDtoToJSON(value.queueStatus), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/LibraryResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/LibraryResponseDto.ts new file mode 100644 index 00000000000000..0f64540b4b16e6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/LibraryResponseDto.ts @@ -0,0 +1,154 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { LibraryType } from './LibraryType'; +import { + LibraryTypeFromJSON, + LibraryTypeFromJSONTyped, + LibraryTypeToJSON, +} from './LibraryType'; + +/** + * + * @export + * @interface LibraryResponseDto + */ +export interface LibraryResponseDto { + /** + * + * @type {number} + * @memberof LibraryResponseDto + */ + assetCount: number; + /** + * + * @type {Date} + * @memberof LibraryResponseDto + */ + createdAt: Date; + /** + * + * @type {Array} + * @memberof LibraryResponseDto + */ + exclusionPatterns: Array; + /** + * + * @type {string} + * @memberof LibraryResponseDto + */ + id: string; + /** + * + * @type {Array} + * @memberof LibraryResponseDto + */ + importPaths: Array; + /** + * + * @type {string} + * @memberof LibraryResponseDto + */ + name: string; + /** + * + * @type {string} + * @memberof LibraryResponseDto + */ + ownerId: string; + /** + * + * @type {Date} + * @memberof LibraryResponseDto + */ + refreshedAt: Date | null; + /** + * + * @type {LibraryType} + * @memberof LibraryResponseDto + */ + type: LibraryType; + /** + * + * @type {Date} + * @memberof LibraryResponseDto + */ + updatedAt: Date; +} + +/** + * Check if a given object implements the LibraryResponseDto interface. + */ +export function instanceOfLibraryResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assetCount" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "exclusionPatterns" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "importPaths" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "ownerId" in value; + isInstance = isInstance && "refreshedAt" in value; + isInstance = isInstance && "type" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function LibraryResponseDtoFromJSON(json: any): LibraryResponseDto { + return LibraryResponseDtoFromJSONTyped(json, false); +} + +export function LibraryResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assetCount': json['assetCount'], + 'createdAt': (new Date(json['createdAt'])), + 'exclusionPatterns': json['exclusionPatterns'], + 'id': json['id'], + 'importPaths': json['importPaths'], + 'name': json['name'], + 'ownerId': json['ownerId'], + 'refreshedAt': (json['refreshedAt'] === null ? null : new Date(json['refreshedAt'])), + 'type': LibraryTypeFromJSON(json['type']), + 'updatedAt': (new Date(json['updatedAt'])), + }; +} + +export function LibraryResponseDtoToJSON(value?: LibraryResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assetCount': value.assetCount, + 'createdAt': (value.createdAt.toISOString()), + 'exclusionPatterns': value.exclusionPatterns, + 'id': value.id, + 'importPaths': value.importPaths, + 'name': value.name, + 'ownerId': value.ownerId, + 'refreshedAt': (value.refreshedAt === null ? null : value.refreshedAt.toISOString()), + 'type': LibraryTypeToJSON(value.type), + 'updatedAt': (value.updatedAt.toISOString()), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/LibraryStatsResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/LibraryStatsResponseDto.ts new file mode 100644 index 00000000000000..94639c35fa728f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/LibraryStatsResponseDto.ts @@ -0,0 +1,93 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface LibraryStatsResponseDto + */ +export interface LibraryStatsResponseDto { + /** + * + * @type {number} + * @memberof LibraryStatsResponseDto + */ + photos: number; + /** + * + * @type {number} + * @memberof LibraryStatsResponseDto + */ + total: number; + /** + * + * @type {number} + * @memberof LibraryStatsResponseDto + */ + usage: number; + /** + * + * @type {number} + * @memberof LibraryStatsResponseDto + */ + videos: number; +} + +/** + * Check if a given object implements the LibraryStatsResponseDto interface. + */ +export function instanceOfLibraryStatsResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "photos" in value; + isInstance = isInstance && "total" in value; + isInstance = isInstance && "usage" in value; + isInstance = isInstance && "videos" in value; + + return isInstance; +} + +export function LibraryStatsResponseDtoFromJSON(json: any): LibraryStatsResponseDto { + return LibraryStatsResponseDtoFromJSONTyped(json, false); +} + +export function LibraryStatsResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryStatsResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'photos': json['photos'], + 'total': json['total'], + 'usage': json['usage'], + 'videos': json['videos'], + }; +} + +export function LibraryStatsResponseDtoToJSON(value?: LibraryStatsResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'photos': value.photos, + 'total': value.total, + 'usage': value.usage, + 'videos': value.videos, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/LibraryType.ts b/open-api/typescript-sdk/fetch-client/models/LibraryType.ts new file mode 100644 index 00000000000000..99d66218b62652 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/LibraryType.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const LibraryType = { + Upload: 'UPLOAD', + External: 'EXTERNAL' +} as const; +export type LibraryType = typeof LibraryType[keyof typeof LibraryType]; + + +export function LibraryTypeFromJSON(json: any): LibraryType { + return LibraryTypeFromJSONTyped(json, false); +} + +export function LibraryTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): LibraryType { + return json as LibraryType; +} + +export function LibraryTypeToJSON(value?: LibraryType | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/LogLevel.ts b/open-api/typescript-sdk/fetch-client/models/LogLevel.ts new file mode 100644 index 00000000000000..0c4333893d4aa8 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/LogLevel.ts @@ -0,0 +1,42 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const LogLevel = { + Verbose: 'verbose', + Debug: 'debug', + Log: 'log', + Warn: 'warn', + Error: 'error', + Fatal: 'fatal' +} as const; +export type LogLevel = typeof LogLevel[keyof typeof LogLevel]; + + +export function LogLevelFromJSON(json: any): LogLevel { + return LogLevelFromJSONTyped(json, false); +} + +export function LogLevelFromJSONTyped(json: any, ignoreDiscriminator: boolean): LogLevel { + return json as LogLevel; +} + +export function LogLevelToJSON(value?: LogLevel | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/LoginCredentialDto.ts b/open-api/typescript-sdk/fetch-client/models/LoginCredentialDto.ts new file mode 100644 index 00000000000000..2bf85ca3500761 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/LoginCredentialDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface LoginCredentialDto + */ +export interface LoginCredentialDto { + /** + * + * @type {string} + * @memberof LoginCredentialDto + */ + email: string; + /** + * + * @type {string} + * @memberof LoginCredentialDto + */ + password: string; +} + +/** + * Check if a given object implements the LoginCredentialDto interface. + */ +export function instanceOfLoginCredentialDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "email" in value; + isInstance = isInstance && "password" in value; + + return isInstance; +} + +export function LoginCredentialDtoFromJSON(json: any): LoginCredentialDto { + return LoginCredentialDtoFromJSONTyped(json, false); +} + +export function LoginCredentialDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LoginCredentialDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'email': json['email'], + 'password': json['password'], + }; +} + +export function LoginCredentialDtoToJSON(value?: LoginCredentialDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'email': value.email, + 'password': value.password, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/LoginResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/LoginResponseDto.ts new file mode 100644 index 00000000000000..355e57e2388320 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/LoginResponseDto.ts @@ -0,0 +1,120 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface LoginResponseDto + */ +export interface LoginResponseDto { + /** + * + * @type {string} + * @memberof LoginResponseDto + */ + accessToken: string; + /** + * + * @type {boolean} + * @memberof LoginResponseDto + */ + isAdmin: boolean; + /** + * + * @type {string} + * @memberof LoginResponseDto + */ + name: string; + /** + * + * @type {string} + * @memberof LoginResponseDto + */ + profileImagePath: string; + /** + * + * @type {boolean} + * @memberof LoginResponseDto + */ + shouldChangePassword: boolean; + /** + * + * @type {string} + * @memberof LoginResponseDto + */ + userEmail: string; + /** + * + * @type {string} + * @memberof LoginResponseDto + */ + userId: string; +} + +/** + * Check if a given object implements the LoginResponseDto interface. + */ +export function instanceOfLoginResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "accessToken" in value; + isInstance = isInstance && "isAdmin" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "profileImagePath" in value; + isInstance = isInstance && "shouldChangePassword" in value; + isInstance = isInstance && "userEmail" in value; + isInstance = isInstance && "userId" in value; + + return isInstance; +} + +export function LoginResponseDtoFromJSON(json: any): LoginResponseDto { + return LoginResponseDtoFromJSONTyped(json, false); +} + +export function LoginResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LoginResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'accessToken': json['accessToken'], + 'isAdmin': json['isAdmin'], + 'name': json['name'], + 'profileImagePath': json['profileImagePath'], + 'shouldChangePassword': json['shouldChangePassword'], + 'userEmail': json['userEmail'], + 'userId': json['userId'], + }; +} + +export function LoginResponseDtoToJSON(value?: LoginResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'accessToken': value.accessToken, + 'isAdmin': value.isAdmin, + 'name': value.name, + 'profileImagePath': value.profileImagePath, + 'shouldChangePassword': value.shouldChangePassword, + 'userEmail': value.userEmail, + 'userId': value.userId, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/LogoutResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/LogoutResponseDto.ts new file mode 100644 index 00000000000000..1d854ce9281950 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/LogoutResponseDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface LogoutResponseDto + */ +export interface LogoutResponseDto { + /** + * + * @type {string} + * @memberof LogoutResponseDto + */ + redirectUri: string; + /** + * + * @type {boolean} + * @memberof LogoutResponseDto + */ + successful: boolean; +} + +/** + * Check if a given object implements the LogoutResponseDto interface. + */ +export function instanceOfLogoutResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "redirectUri" in value; + isInstance = isInstance && "successful" in value; + + return isInstance; +} + +export function LogoutResponseDtoFromJSON(json: any): LogoutResponseDto { + return LogoutResponseDtoFromJSONTyped(json, false); +} + +export function LogoutResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): LogoutResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'redirectUri': json['redirectUri'], + 'successful': json['successful'], + }; +} + +export function LogoutResponseDtoToJSON(value?: LogoutResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'redirectUri': value.redirectUri, + 'successful': value.successful, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/MapMarkerResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/MapMarkerResponseDto.ts new file mode 100644 index 00000000000000..031adc12becb40 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/MapMarkerResponseDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface MapMarkerResponseDto + */ +export interface MapMarkerResponseDto { + /** + * + * @type {string} + * @memberof MapMarkerResponseDto + */ + id: string; + /** + * + * @type {number} + * @memberof MapMarkerResponseDto + */ + lat: number; + /** + * + * @type {number} + * @memberof MapMarkerResponseDto + */ + lon: number; +} + +/** + * Check if a given object implements the MapMarkerResponseDto interface. + */ +export function instanceOfMapMarkerResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "lat" in value; + isInstance = isInstance && "lon" in value; + + return isInstance; +} + +export function MapMarkerResponseDtoFromJSON(json: any): MapMarkerResponseDto { + return MapMarkerResponseDtoFromJSONTyped(json, false); +} + +export function MapMarkerResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapMarkerResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'lat': json['lat'], + 'lon': json['lon'], + }; +} + +export function MapMarkerResponseDtoToJSON(value?: MapMarkerResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'id': value.id, + 'lat': value.lat, + 'lon': value.lon, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/MapTheme.ts b/open-api/typescript-sdk/fetch-client/models/MapTheme.ts new file mode 100644 index 00000000000000..737b9b406090be --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/MapTheme.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const MapTheme = { + Light: 'light', + Dark: 'dark' +} as const; +export type MapTheme = typeof MapTheme[keyof typeof MapTheme]; + + +export function MapThemeFromJSON(json: any): MapTheme { + return MapThemeFromJSONTyped(json, false); +} + +export function MapThemeFromJSONTyped(json: any, ignoreDiscriminator: boolean): MapTheme { + return json as MapTheme; +} + +export function MapThemeToJSON(value?: MapTheme | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/MemoryLaneResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/MemoryLaneResponseDto.ts new file mode 100644 index 00000000000000..2898ace78c3e04 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/MemoryLaneResponseDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetResponseDto } from './AssetResponseDto'; +import { + AssetResponseDtoFromJSON, + AssetResponseDtoFromJSONTyped, + AssetResponseDtoToJSON, +} from './AssetResponseDto'; + +/** + * + * @export + * @interface MemoryLaneResponseDto + */ +export interface MemoryLaneResponseDto { + /** + * + * @type {Array} + * @memberof MemoryLaneResponseDto + */ + assets: Array; + /** + * + * @type {string} + * @memberof MemoryLaneResponseDto + */ + title: string; +} + +/** + * Check if a given object implements the MemoryLaneResponseDto interface. + */ +export function instanceOfMemoryLaneResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assets" in value; + isInstance = isInstance && "title" in value; + + return isInstance; +} + +export function MemoryLaneResponseDtoFromJSON(json: any): MemoryLaneResponseDto { + return MemoryLaneResponseDtoFromJSONTyped(json, false); +} + +export function MemoryLaneResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MemoryLaneResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assets': ((json['assets'] as Array).map(AssetResponseDtoFromJSON)), + 'title': json['title'], + }; +} + +export function MemoryLaneResponseDtoToJSON(value?: MemoryLaneResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assets': ((value.assets as Array).map(AssetResponseDtoToJSON)), + 'title': value.title, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/MergePersonDto.ts b/open-api/typescript-sdk/fetch-client/models/MergePersonDto.ts new file mode 100644 index 00000000000000..dbbbcc87299e6f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/MergePersonDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface MergePersonDto + */ +export interface MergePersonDto { + /** + * + * @type {Array} + * @memberof MergePersonDto + */ + ids: Array; +} + +/** + * Check if a given object implements the MergePersonDto interface. + */ +export function instanceOfMergePersonDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "ids" in value; + + return isInstance; +} + +export function MergePersonDtoFromJSON(json: any): MergePersonDto { + return MergePersonDtoFromJSONTyped(json, false); +} + +export function MergePersonDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): MergePersonDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'ids': json['ids'], + }; +} + +export function MergePersonDtoToJSON(value?: MergePersonDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ids': value.ids, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ModelType.ts b/open-api/typescript-sdk/fetch-client/models/ModelType.ts new file mode 100644 index 00000000000000..6fbc6e55f3b5e7 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ModelType.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ModelType = { + FacialRecognition: 'facial-recognition', + Clip: 'clip' +} as const; +export type ModelType = typeof ModelType[keyof typeof ModelType]; + + +export function ModelTypeFromJSON(json: any): ModelType { + return ModelTypeFromJSONTyped(json, false); +} + +export function ModelTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ModelType { + return json as ModelType; +} + +export function ModelTypeToJSON(value?: ModelType | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/OAuthAuthorizeResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/OAuthAuthorizeResponseDto.ts new file mode 100644 index 00000000000000..2e62143f9ce4df --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/OAuthAuthorizeResponseDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface OAuthAuthorizeResponseDto + */ +export interface OAuthAuthorizeResponseDto { + /** + * + * @type {string} + * @memberof OAuthAuthorizeResponseDto + */ + url: string; +} + +/** + * Check if a given object implements the OAuthAuthorizeResponseDto interface. + */ +export function instanceOfOAuthAuthorizeResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "url" in value; + + return isInstance; +} + +export function OAuthAuthorizeResponseDtoFromJSON(json: any): OAuthAuthorizeResponseDto { + return OAuthAuthorizeResponseDtoFromJSONTyped(json, false); +} + +export function OAuthAuthorizeResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuthAuthorizeResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'url': json['url'], + }; +} + +export function OAuthAuthorizeResponseDtoToJSON(value?: OAuthAuthorizeResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'url': value.url, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/OAuthCallbackDto.ts b/open-api/typescript-sdk/fetch-client/models/OAuthCallbackDto.ts new file mode 100644 index 00000000000000..5e119d9f876772 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/OAuthCallbackDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface OAuthCallbackDto + */ +export interface OAuthCallbackDto { + /** + * + * @type {string} + * @memberof OAuthCallbackDto + */ + url: string; +} + +/** + * Check if a given object implements the OAuthCallbackDto interface. + */ +export function instanceOfOAuthCallbackDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "url" in value; + + return isInstance; +} + +export function OAuthCallbackDtoFromJSON(json: any): OAuthCallbackDto { + return OAuthCallbackDtoFromJSONTyped(json, false); +} + +export function OAuthCallbackDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuthCallbackDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'url': json['url'], + }; +} + +export function OAuthCallbackDtoToJSON(value?: OAuthCallbackDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'url': value.url, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/OAuthConfigDto.ts b/open-api/typescript-sdk/fetch-client/models/OAuthConfigDto.ts new file mode 100644 index 00000000000000..c81cb6cb0dd12a --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/OAuthConfigDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface OAuthConfigDto + */ +export interface OAuthConfigDto { + /** + * + * @type {string} + * @memberof OAuthConfigDto + */ + redirectUri: string; +} + +/** + * Check if a given object implements the OAuthConfigDto interface. + */ +export function instanceOfOAuthConfigDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "redirectUri" in value; + + return isInstance; +} + +export function OAuthConfigDtoFromJSON(json: any): OAuthConfigDto { + return OAuthConfigDtoFromJSONTyped(json, false); +} + +export function OAuthConfigDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuthConfigDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'redirectUri': json['redirectUri'], + }; +} + +export function OAuthConfigDtoToJSON(value?: OAuthConfigDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'redirectUri': value.redirectUri, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/OAuthConfigResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/OAuthConfigResponseDto.ts new file mode 100644 index 00000000000000..bb7714b6f87547 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/OAuthConfigResponseDto.ts @@ -0,0 +1,99 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface OAuthConfigResponseDto + */ +export interface OAuthConfigResponseDto { + /** + * + * @type {boolean} + * @memberof OAuthConfigResponseDto + */ + autoLaunch?: boolean; + /** + * + * @type {string} + * @memberof OAuthConfigResponseDto + */ + buttonText?: string; + /** + * + * @type {boolean} + * @memberof OAuthConfigResponseDto + */ + enabled: boolean; + /** + * + * @type {boolean} + * @memberof OAuthConfigResponseDto + */ + passwordLoginEnabled: boolean; + /** + * + * @type {string} + * @memberof OAuthConfigResponseDto + */ + url?: string; +} + +/** + * Check if a given object implements the OAuthConfigResponseDto interface. + */ +export function instanceOfOAuthConfigResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enabled" in value; + isInstance = isInstance && "passwordLoginEnabled" in value; + + return isInstance; +} + +export function OAuthConfigResponseDtoFromJSON(json: any): OAuthConfigResponseDto { + return OAuthConfigResponseDtoFromJSONTyped(json, false); +} + +export function OAuthConfigResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): OAuthConfigResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'autoLaunch': !exists(json, 'autoLaunch') ? undefined : json['autoLaunch'], + 'buttonText': !exists(json, 'buttonText') ? undefined : json['buttonText'], + 'enabled': json['enabled'], + 'passwordLoginEnabled': json['passwordLoginEnabled'], + 'url': !exists(json, 'url') ? undefined : json['url'], + }; +} + +export function OAuthConfigResponseDtoToJSON(value?: OAuthConfigResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'autoLaunch': value.autoLaunch, + 'buttonText': value.buttonText, + 'enabled': value.enabled, + 'passwordLoginEnabled': value.passwordLoginEnabled, + 'url': value.url, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PartnerResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/PartnerResponseDto.ts new file mode 100644 index 00000000000000..646deb4d04806d --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PartnerResponseDto.ts @@ -0,0 +1,215 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserAvatarColor } from './UserAvatarColor'; +import { + UserAvatarColorFromJSON, + UserAvatarColorFromJSONTyped, + UserAvatarColorToJSON, +} from './UserAvatarColor'; + +/** + * + * @export + * @interface PartnerResponseDto + */ +export interface PartnerResponseDto { + /** + * + * @type {UserAvatarColor} + * @memberof PartnerResponseDto + */ + avatarColor: UserAvatarColor; + /** + * + * @type {Date} + * @memberof PartnerResponseDto + */ + createdAt: Date; + /** + * + * @type {Date} + * @memberof PartnerResponseDto + */ + deletedAt: Date | null; + /** + * + * @type {string} + * @memberof PartnerResponseDto + */ + email: string; + /** + * + * @type {string} + * @memberof PartnerResponseDto + */ + externalPath: string | null; + /** + * + * @type {string} + * @memberof PartnerResponseDto + */ + id: string; + /** + * + * @type {boolean} + * @memberof PartnerResponseDto + */ + inTimeline?: boolean; + /** + * + * @type {boolean} + * @memberof PartnerResponseDto + */ + isAdmin: boolean; + /** + * + * @type {boolean} + * @memberof PartnerResponseDto + */ + memoriesEnabled?: boolean; + /** + * + * @type {string} + * @memberof PartnerResponseDto + */ + name: string; + /** + * + * @type {string} + * @memberof PartnerResponseDto + */ + oauthId: string; + /** + * + * @type {string} + * @memberof PartnerResponseDto + */ + profileImagePath: string; + /** + * + * @type {number} + * @memberof PartnerResponseDto + */ + quotaSizeInBytes: number | null; + /** + * + * @type {number} + * @memberof PartnerResponseDto + */ + quotaUsageInBytes: number | null; + /** + * + * @type {boolean} + * @memberof PartnerResponseDto + */ + shouldChangePassword: boolean; + /** + * + * @type {string} + * @memberof PartnerResponseDto + */ + storageLabel: string | null; + /** + * + * @type {Date} + * @memberof PartnerResponseDto + */ + updatedAt: Date; +} + +/** + * Check if a given object implements the PartnerResponseDto interface. + */ +export function instanceOfPartnerResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "avatarColor" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "deletedAt" in value; + isInstance = isInstance && "email" in value; + isInstance = isInstance && "externalPath" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "isAdmin" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "oauthId" in value; + isInstance = isInstance && "profileImagePath" in value; + isInstance = isInstance && "quotaSizeInBytes" in value; + isInstance = isInstance && "quotaUsageInBytes" in value; + isInstance = isInstance && "shouldChangePassword" in value; + isInstance = isInstance && "storageLabel" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function PartnerResponseDtoFromJSON(json: any): PartnerResponseDto { + return PartnerResponseDtoFromJSONTyped(json, false); +} + +export function PartnerResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PartnerResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'avatarColor': UserAvatarColorFromJSON(json['avatarColor']), + 'createdAt': (new Date(json['createdAt'])), + 'deletedAt': (json['deletedAt'] === null ? null : new Date(json['deletedAt'])), + 'email': json['email'], + 'externalPath': json['externalPath'], + 'id': json['id'], + 'inTimeline': !exists(json, 'inTimeline') ? undefined : json['inTimeline'], + 'isAdmin': json['isAdmin'], + 'memoriesEnabled': !exists(json, 'memoriesEnabled') ? undefined : json['memoriesEnabled'], + 'name': json['name'], + 'oauthId': json['oauthId'], + 'profileImagePath': json['profileImagePath'], + 'quotaSizeInBytes': json['quotaSizeInBytes'], + 'quotaUsageInBytes': json['quotaUsageInBytes'], + 'shouldChangePassword': json['shouldChangePassword'], + 'storageLabel': json['storageLabel'], + 'updatedAt': (new Date(json['updatedAt'])), + }; +} + +export function PartnerResponseDtoToJSON(value?: PartnerResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'avatarColor': UserAvatarColorToJSON(value.avatarColor), + 'createdAt': (value.createdAt.toISOString()), + 'deletedAt': (value.deletedAt === null ? null : value.deletedAt.toISOString()), + 'email': value.email, + 'externalPath': value.externalPath, + 'id': value.id, + 'inTimeline': value.inTimeline, + 'isAdmin': value.isAdmin, + 'memoriesEnabled': value.memoriesEnabled, + 'name': value.name, + 'oauthId': value.oauthId, + 'profileImagePath': value.profileImagePath, + 'quotaSizeInBytes': value.quotaSizeInBytes, + 'quotaUsageInBytes': value.quotaUsageInBytes, + 'shouldChangePassword': value.shouldChangePassword, + 'storageLabel': value.storageLabel, + 'updatedAt': (value.updatedAt.toISOString()), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PathEntityType.ts b/open-api/typescript-sdk/fetch-client/models/PathEntityType.ts new file mode 100644 index 00000000000000..5567f3f5144b82 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PathEntityType.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const PathEntityType = { + Asset: 'asset', + Person: 'person', + User: 'user' +} as const; +export type PathEntityType = typeof PathEntityType[keyof typeof PathEntityType]; + + +export function PathEntityTypeFromJSON(json: any): PathEntityType { + return PathEntityTypeFromJSONTyped(json, false); +} + +export function PathEntityTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PathEntityType { + return json as PathEntityType; +} + +export function PathEntityTypeToJSON(value?: PathEntityType | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PathType.ts b/open-api/typescript-sdk/fetch-client/models/PathType.ts new file mode 100644 index 00000000000000..8a8a41811be9f3 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PathType.ts @@ -0,0 +1,43 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const PathType = { + Original: 'original', + JpegThumbnail: 'jpeg_thumbnail', + WebpThumbnail: 'webp_thumbnail', + EncodedVideo: 'encoded_video', + Sidecar: 'sidecar', + Face: 'face', + Profile: 'profile' +} as const; +export type PathType = typeof PathType[keyof typeof PathType]; + + +export function PathTypeFromJSON(json: any): PathType { + return PathTypeFromJSONTyped(json, false); +} + +export function PathTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): PathType { + return json as PathType; +} + +export function PathTypeToJSON(value?: PathType | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PeopleResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/PeopleResponseDto.ts new file mode 100644 index 00000000000000..6892308a936965 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PeopleResponseDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PersonResponseDto } from './PersonResponseDto'; +import { + PersonResponseDtoFromJSON, + PersonResponseDtoFromJSONTyped, + PersonResponseDtoToJSON, +} from './PersonResponseDto'; + +/** + * + * @export + * @interface PeopleResponseDto + */ +export interface PeopleResponseDto { + /** + * + * @type {Array} + * @memberof PeopleResponseDto + */ + people: Array; + /** + * + * @type {number} + * @memberof PeopleResponseDto + */ + total: number; +} + +/** + * Check if a given object implements the PeopleResponseDto interface. + */ +export function instanceOfPeopleResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "people" in value; + isInstance = isInstance && "total" in value; + + return isInstance; +} + +export function PeopleResponseDtoFromJSON(json: any): PeopleResponseDto { + return PeopleResponseDtoFromJSONTyped(json, false); +} + +export function PeopleResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PeopleResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'people': ((json['people'] as Array).map(PersonResponseDtoFromJSON)), + 'total': json['total'], + }; +} + +export function PeopleResponseDtoToJSON(value?: PeopleResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'people': ((value.people as Array).map(PersonResponseDtoToJSON)), + 'total': value.total, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PeopleUpdateDto.ts b/open-api/typescript-sdk/fetch-client/models/PeopleUpdateDto.ts new file mode 100644 index 00000000000000..0a3605b59a2916 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PeopleUpdateDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { PeopleUpdateItem } from './PeopleUpdateItem'; +import { + PeopleUpdateItemFromJSON, + PeopleUpdateItemFromJSONTyped, + PeopleUpdateItemToJSON, +} from './PeopleUpdateItem'; + +/** + * + * @export + * @interface PeopleUpdateDto + */ +export interface PeopleUpdateDto { + /** + * + * @type {Array} + * @memberof PeopleUpdateDto + */ + people: Array; +} + +/** + * Check if a given object implements the PeopleUpdateDto interface. + */ +export function instanceOfPeopleUpdateDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "people" in value; + + return isInstance; +} + +export function PeopleUpdateDtoFromJSON(json: any): PeopleUpdateDto { + return PeopleUpdateDtoFromJSONTyped(json, false); +} + +export function PeopleUpdateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PeopleUpdateDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'people': ((json['people'] as Array).map(PeopleUpdateItemFromJSON)), + }; +} + +export function PeopleUpdateDtoToJSON(value?: PeopleUpdateDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'people': ((value.people as Array).map(PeopleUpdateItemToJSON)), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PeopleUpdateItem.ts b/open-api/typescript-sdk/fetch-client/models/PeopleUpdateItem.ts new file mode 100644 index 00000000000000..5376f9e4bb0643 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PeopleUpdateItem.ts @@ -0,0 +1,99 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PeopleUpdateItem + */ +export interface PeopleUpdateItem { + /** + * Person date of birth. + * Note: the mobile app cannot currently set the birth date to null. + * @type {Date} + * @memberof PeopleUpdateItem + */ + birthDate?: Date | null; + /** + * Asset is used to get the feature face thumbnail. + * @type {string} + * @memberof PeopleUpdateItem + */ + featureFaceAssetId?: string; + /** + * Person id. + * @type {string} + * @memberof PeopleUpdateItem + */ + id: string; + /** + * Person visibility + * @type {boolean} + * @memberof PeopleUpdateItem + */ + isHidden?: boolean; + /** + * Person name. + * @type {string} + * @memberof PeopleUpdateItem + */ + name?: string; +} + +/** + * Check if a given object implements the PeopleUpdateItem interface. + */ +export function instanceOfPeopleUpdateItem(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + + return isInstance; +} + +export function PeopleUpdateItemFromJSON(json: any): PeopleUpdateItem { + return PeopleUpdateItemFromJSONTyped(json, false); +} + +export function PeopleUpdateItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): PeopleUpdateItem { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'birthDate': !exists(json, 'birthDate') ? undefined : (json['birthDate'] === null ? null : new Date(json['birthDate'])), + 'featureFaceAssetId': !exists(json, 'featureFaceAssetId') ? undefined : json['featureFaceAssetId'], + 'id': json['id'], + 'isHidden': !exists(json, 'isHidden') ? undefined : json['isHidden'], + 'name': !exists(json, 'name') ? undefined : json['name'], + }; +} + +export function PeopleUpdateItemToJSON(value?: PeopleUpdateItem | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'birthDate': value.birthDate === undefined ? undefined : (value.birthDate === null ? null : value.birthDate.toISOString().substring(0,10)), + 'featureFaceAssetId': value.featureFaceAssetId, + 'id': value.id, + 'isHidden': value.isHidden, + 'name': value.name, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PersonResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/PersonResponseDto.ts new file mode 100644 index 00000000000000..ae54ad5676ddf1 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PersonResponseDto.ts @@ -0,0 +1,102 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PersonResponseDto + */ +export interface PersonResponseDto { + /** + * + * @type {Date} + * @memberof PersonResponseDto + */ + birthDate: Date | null; + /** + * + * @type {string} + * @memberof PersonResponseDto + */ + id: string; + /** + * + * @type {boolean} + * @memberof PersonResponseDto + */ + isHidden: boolean; + /** + * + * @type {string} + * @memberof PersonResponseDto + */ + name: string; + /** + * + * @type {string} + * @memberof PersonResponseDto + */ + thumbnailPath: string; +} + +/** + * Check if a given object implements the PersonResponseDto interface. + */ +export function instanceOfPersonResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "birthDate" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "isHidden" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "thumbnailPath" in value; + + return isInstance; +} + +export function PersonResponseDtoFromJSON(json: any): PersonResponseDto { + return PersonResponseDtoFromJSONTyped(json, false); +} + +export function PersonResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PersonResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'birthDate': (json['birthDate'] === null ? null : new Date(json['birthDate'])), + 'id': json['id'], + 'isHidden': json['isHidden'], + 'name': json['name'], + 'thumbnailPath': json['thumbnailPath'], + }; +} + +export function PersonResponseDtoToJSON(value?: PersonResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'birthDate': (value.birthDate === null ? null : value.birthDate.toISOString().substring(0,10)), + 'id': value.id, + 'isHidden': value.isHidden, + 'name': value.name, + 'thumbnailPath': value.thumbnailPath, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PersonStatisticsResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/PersonStatisticsResponseDto.ts new file mode 100644 index 00000000000000..8497a95424a2d4 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PersonStatisticsResponseDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PersonStatisticsResponseDto + */ +export interface PersonStatisticsResponseDto { + /** + * + * @type {number} + * @memberof PersonStatisticsResponseDto + */ + assets: number; +} + +/** + * Check if a given object implements the PersonStatisticsResponseDto interface. + */ +export function instanceOfPersonStatisticsResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "assets" in value; + + return isInstance; +} + +export function PersonStatisticsResponseDtoFromJSON(json: any): PersonStatisticsResponseDto { + return PersonStatisticsResponseDtoFromJSONTyped(json, false); +} + +export function PersonStatisticsResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PersonStatisticsResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'assets': json['assets'], + }; +} + +export function PersonStatisticsResponseDtoToJSON(value?: PersonStatisticsResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'assets': value.assets, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PersonUpdateDto.ts b/open-api/typescript-sdk/fetch-client/models/PersonUpdateDto.ts new file mode 100644 index 00000000000000..a26f0c1658f427 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PersonUpdateDto.ts @@ -0,0 +1,90 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface PersonUpdateDto + */ +export interface PersonUpdateDto { + /** + * Person date of birth. + * Note: the mobile app cannot currently set the birth date to null. + * @type {Date} + * @memberof PersonUpdateDto + */ + birthDate?: Date | null; + /** + * Asset is used to get the feature face thumbnail. + * @type {string} + * @memberof PersonUpdateDto + */ + featureFaceAssetId?: string; + /** + * Person visibility + * @type {boolean} + * @memberof PersonUpdateDto + */ + isHidden?: boolean; + /** + * Person name. + * @type {string} + * @memberof PersonUpdateDto + */ + name?: string; +} + +/** + * Check if a given object implements the PersonUpdateDto interface. + */ +export function instanceOfPersonUpdateDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function PersonUpdateDtoFromJSON(json: any): PersonUpdateDto { + return PersonUpdateDtoFromJSONTyped(json, false); +} + +export function PersonUpdateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PersonUpdateDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'birthDate': !exists(json, 'birthDate') ? undefined : (json['birthDate'] === null ? null : new Date(json['birthDate'])), + 'featureFaceAssetId': !exists(json, 'featureFaceAssetId') ? undefined : json['featureFaceAssetId'], + 'isHidden': !exists(json, 'isHidden') ? undefined : json['isHidden'], + 'name': !exists(json, 'name') ? undefined : json['name'], + }; +} + +export function PersonUpdateDtoToJSON(value?: PersonUpdateDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'birthDate': value.birthDate === undefined ? undefined : (value.birthDate === null ? null : value.birthDate.toISOString().substring(0,10)), + 'featureFaceAssetId': value.featureFaceAssetId, + 'isHidden': value.isHidden, + 'name': value.name, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/PersonWithFacesResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/PersonWithFacesResponseDto.ts new file mode 100644 index 00000000000000..cb614f405c6a11 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/PersonWithFacesResponseDto.ts @@ -0,0 +1,118 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetFaceWithoutPersonResponseDto } from './AssetFaceWithoutPersonResponseDto'; +import { + AssetFaceWithoutPersonResponseDtoFromJSON, + AssetFaceWithoutPersonResponseDtoFromJSONTyped, + AssetFaceWithoutPersonResponseDtoToJSON, +} from './AssetFaceWithoutPersonResponseDto'; + +/** + * + * @export + * @interface PersonWithFacesResponseDto + */ +export interface PersonWithFacesResponseDto { + /** + * + * @type {Date} + * @memberof PersonWithFacesResponseDto + */ + birthDate: Date | null; + /** + * + * @type {Array} + * @memberof PersonWithFacesResponseDto + */ + faces: Array; + /** + * + * @type {string} + * @memberof PersonWithFacesResponseDto + */ + id: string; + /** + * + * @type {boolean} + * @memberof PersonWithFacesResponseDto + */ + isHidden: boolean; + /** + * + * @type {string} + * @memberof PersonWithFacesResponseDto + */ + name: string; + /** + * + * @type {string} + * @memberof PersonWithFacesResponseDto + */ + thumbnailPath: string; +} + +/** + * Check if a given object implements the PersonWithFacesResponseDto interface. + */ +export function instanceOfPersonWithFacesResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "birthDate" in value; + isInstance = isInstance && "faces" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "isHidden" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "thumbnailPath" in value; + + return isInstance; +} + +export function PersonWithFacesResponseDtoFromJSON(json: any): PersonWithFacesResponseDto { + return PersonWithFacesResponseDtoFromJSONTyped(json, false); +} + +export function PersonWithFacesResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): PersonWithFacesResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'birthDate': (json['birthDate'] === null ? null : new Date(json['birthDate'])), + 'faces': ((json['faces'] as Array).map(AssetFaceWithoutPersonResponseDtoFromJSON)), + 'id': json['id'], + 'isHidden': json['isHidden'], + 'name': json['name'], + 'thumbnailPath': json['thumbnailPath'], + }; +} + +export function PersonWithFacesResponseDtoToJSON(value?: PersonWithFacesResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'birthDate': (value.birthDate === null ? null : value.birthDate.toISOString().substring(0,10)), + 'faces': ((value.faces as Array).map(AssetFaceWithoutPersonResponseDtoToJSON)), + 'id': value.id, + 'isHidden': value.isHidden, + 'name': value.name, + 'thumbnailPath': value.thumbnailPath, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/QueueStatusDto.ts b/open-api/typescript-sdk/fetch-client/models/QueueStatusDto.ts new file mode 100644 index 00000000000000..4cfa0fc37f0e35 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/QueueStatusDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface QueueStatusDto + */ +export interface QueueStatusDto { + /** + * + * @type {boolean} + * @memberof QueueStatusDto + */ + isActive: boolean; + /** + * + * @type {boolean} + * @memberof QueueStatusDto + */ + isPaused: boolean; +} + +/** + * Check if a given object implements the QueueStatusDto interface. + */ +export function instanceOfQueueStatusDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "isActive" in value; + isInstance = isInstance && "isPaused" in value; + + return isInstance; +} + +export function QueueStatusDtoFromJSON(json: any): QueueStatusDto { + return QueueStatusDtoFromJSONTyped(json, false); +} + +export function QueueStatusDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): QueueStatusDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'isActive': json['isActive'], + 'isPaused': json['isPaused'], + }; +} + +export function QueueStatusDtoToJSON(value?: QueueStatusDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'isActive': value.isActive, + 'isPaused': value.isPaused, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ReactionLevel.ts b/open-api/typescript-sdk/fetch-client/models/ReactionLevel.ts new file mode 100644 index 00000000000000..df09b8d80229d9 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ReactionLevel.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ReactionLevel = { + Album: 'album', + Asset: 'asset' +} as const; +export type ReactionLevel = typeof ReactionLevel[keyof typeof ReactionLevel]; + + +export function ReactionLevelFromJSON(json: any): ReactionLevel { + return ReactionLevelFromJSONTyped(json, false); +} + +export function ReactionLevelFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReactionLevel { + return json as ReactionLevel; +} + +export function ReactionLevelToJSON(value?: ReactionLevel | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ReactionType.ts b/open-api/typescript-sdk/fetch-client/models/ReactionType.ts new file mode 100644 index 00000000000000..5f64ed3180b863 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ReactionType.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ReactionType = { + Comment: 'comment', + Like: 'like' +} as const; +export type ReactionType = typeof ReactionType[keyof typeof ReactionType]; + + +export function ReactionTypeFromJSON(json: any): ReactionType { + return ReactionTypeFromJSONTyped(json, false); +} + +export function ReactionTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): ReactionType { + return json as ReactionType; +} + +export function ReactionTypeToJSON(value?: ReactionType | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/RecognitionConfig.ts b/open-api/typescript-sdk/fetch-client/models/RecognitionConfig.ts new file mode 100644 index 00000000000000..007be641a618e7 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/RecognitionConfig.ts @@ -0,0 +1,117 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { ModelType } from './ModelType'; +import { + ModelTypeFromJSON, + ModelTypeFromJSONTyped, + ModelTypeToJSON, +} from './ModelType'; + +/** + * + * @export + * @interface RecognitionConfig + */ +export interface RecognitionConfig { + /** + * + * @type {boolean} + * @memberof RecognitionConfig + */ + enabled: boolean; + /** + * + * @type {number} + * @memberof RecognitionConfig + */ + maxDistance: number; + /** + * + * @type {number} + * @memberof RecognitionConfig + */ + minFaces: number; + /** + * + * @type {number} + * @memberof RecognitionConfig + */ + minScore: number; + /** + * + * @type {string} + * @memberof RecognitionConfig + */ + modelName: string; + /** + * + * @type {ModelType} + * @memberof RecognitionConfig + */ + modelType?: ModelType; +} + +/** + * Check if a given object implements the RecognitionConfig interface. + */ +export function instanceOfRecognitionConfig(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enabled" in value; + isInstance = isInstance && "maxDistance" in value; + isInstance = isInstance && "minFaces" in value; + isInstance = isInstance && "minScore" in value; + isInstance = isInstance && "modelName" in value; + + return isInstance; +} + +export function RecognitionConfigFromJSON(json: any): RecognitionConfig { + return RecognitionConfigFromJSONTyped(json, false); +} + +export function RecognitionConfigFromJSONTyped(json: any, ignoreDiscriminator: boolean): RecognitionConfig { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enabled': json['enabled'], + 'maxDistance': json['maxDistance'], + 'minFaces': json['minFaces'], + 'minScore': json['minScore'], + 'modelName': json['modelName'], + 'modelType': !exists(json, 'modelType') ? undefined : ModelTypeFromJSON(json['modelType']), + }; +} + +export function RecognitionConfigToJSON(value?: RecognitionConfig | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'enabled': value.enabled, + 'maxDistance': value.maxDistance, + 'minFaces': value.minFaces, + 'minScore': value.minScore, + 'modelName': value.modelName, + 'modelType': ModelTypeToJSON(value.modelType), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ScanLibraryDto.ts b/open-api/typescript-sdk/fetch-client/models/ScanLibraryDto.ts new file mode 100644 index 00000000000000..683613b806e0c4 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ScanLibraryDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ScanLibraryDto + */ +export interface ScanLibraryDto { + /** + * + * @type {boolean} + * @memberof ScanLibraryDto + */ + refreshAllFiles?: boolean; + /** + * + * @type {boolean} + * @memberof ScanLibraryDto + */ + refreshModifiedFiles?: boolean; +} + +/** + * Check if a given object implements the ScanLibraryDto interface. + */ +export function instanceOfScanLibraryDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function ScanLibraryDtoFromJSON(json: any): ScanLibraryDto { + return ScanLibraryDtoFromJSONTyped(json, false); +} + +export function ScanLibraryDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ScanLibraryDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'refreshAllFiles': !exists(json, 'refreshAllFiles') ? undefined : json['refreshAllFiles'], + 'refreshModifiedFiles': !exists(json, 'refreshModifiedFiles') ? undefined : json['refreshModifiedFiles'], + }; +} + +export function ScanLibraryDtoToJSON(value?: ScanLibraryDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'refreshAllFiles': value.refreshAllFiles, + 'refreshModifiedFiles': value.refreshModifiedFiles, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SearchAlbumResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/SearchAlbumResponseDto.ts new file mode 100644 index 00000000000000..fd20430e2ed6de --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SearchAlbumResponseDto.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AlbumResponseDto } from './AlbumResponseDto'; +import { + AlbumResponseDtoFromJSON, + AlbumResponseDtoFromJSONTyped, + AlbumResponseDtoToJSON, +} from './AlbumResponseDto'; +import type { SearchFacetResponseDto } from './SearchFacetResponseDto'; +import { + SearchFacetResponseDtoFromJSON, + SearchFacetResponseDtoFromJSONTyped, + SearchFacetResponseDtoToJSON, +} from './SearchFacetResponseDto'; + +/** + * + * @export + * @interface SearchAlbumResponseDto + */ +export interface SearchAlbumResponseDto { + /** + * + * @type {number} + * @memberof SearchAlbumResponseDto + */ + count: number; + /** + * + * @type {Array} + * @memberof SearchAlbumResponseDto + */ + facets: Array; + /** + * + * @type {Array} + * @memberof SearchAlbumResponseDto + */ + items: Array; + /** + * + * @type {number} + * @memberof SearchAlbumResponseDto + */ + total: number; +} + +/** + * Check if a given object implements the SearchAlbumResponseDto interface. + */ +export function instanceOfSearchAlbumResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "count" in value; + isInstance = isInstance && "facets" in value; + isInstance = isInstance && "items" in value; + isInstance = isInstance && "total" in value; + + return isInstance; +} + +export function SearchAlbumResponseDtoFromJSON(json: any): SearchAlbumResponseDto { + return SearchAlbumResponseDtoFromJSONTyped(json, false); +} + +export function SearchAlbumResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchAlbumResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': json['count'], + 'facets': ((json['facets'] as Array).map(SearchFacetResponseDtoFromJSON)), + 'items': ((json['items'] as Array).map(AlbumResponseDtoFromJSON)), + 'total': json['total'], + }; +} + +export function SearchAlbumResponseDtoToJSON(value?: SearchAlbumResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'facets': ((value.facets as Array).map(SearchFacetResponseDtoToJSON)), + 'items': ((value.items as Array).map(AlbumResponseDtoToJSON)), + 'total': value.total, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SearchAssetResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/SearchAssetResponseDto.ts new file mode 100644 index 00000000000000..e55d7202739666 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SearchAssetResponseDto.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetResponseDto } from './AssetResponseDto'; +import { + AssetResponseDtoFromJSON, + AssetResponseDtoFromJSONTyped, + AssetResponseDtoToJSON, +} from './AssetResponseDto'; +import type { SearchFacetResponseDto } from './SearchFacetResponseDto'; +import { + SearchFacetResponseDtoFromJSON, + SearchFacetResponseDtoFromJSONTyped, + SearchFacetResponseDtoToJSON, +} from './SearchFacetResponseDto'; + +/** + * + * @export + * @interface SearchAssetResponseDto + */ +export interface SearchAssetResponseDto { + /** + * + * @type {number} + * @memberof SearchAssetResponseDto + */ + count: number; + /** + * + * @type {Array} + * @memberof SearchAssetResponseDto + */ + facets: Array; + /** + * + * @type {Array} + * @memberof SearchAssetResponseDto + */ + items: Array; + /** + * + * @type {number} + * @memberof SearchAssetResponseDto + */ + total: number; +} + +/** + * Check if a given object implements the SearchAssetResponseDto interface. + */ +export function instanceOfSearchAssetResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "count" in value; + isInstance = isInstance && "facets" in value; + isInstance = isInstance && "items" in value; + isInstance = isInstance && "total" in value; + + return isInstance; +} + +export function SearchAssetResponseDtoFromJSON(json: any): SearchAssetResponseDto { + return SearchAssetResponseDtoFromJSONTyped(json, false); +} + +export function SearchAssetResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchAssetResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': json['count'], + 'facets': ((json['facets'] as Array).map(SearchFacetResponseDtoFromJSON)), + 'items': ((json['items'] as Array).map(AssetResponseDtoFromJSON)), + 'total': json['total'], + }; +} + +export function SearchAssetResponseDtoToJSON(value?: SearchAssetResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'facets': ((value.facets as Array).map(SearchFacetResponseDtoToJSON)), + 'items': ((value.items as Array).map(AssetResponseDtoToJSON)), + 'total': value.total, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SearchExploreItem.ts b/open-api/typescript-sdk/fetch-client/models/SearchExploreItem.ts new file mode 100644 index 00000000000000..3da965014b30db --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SearchExploreItem.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AssetResponseDto } from './AssetResponseDto'; +import { + AssetResponseDtoFromJSON, + AssetResponseDtoFromJSONTyped, + AssetResponseDtoToJSON, +} from './AssetResponseDto'; + +/** + * + * @export + * @interface SearchExploreItem + */ +export interface SearchExploreItem { + /** + * + * @type {AssetResponseDto} + * @memberof SearchExploreItem + */ + data: AssetResponseDto; + /** + * + * @type {string} + * @memberof SearchExploreItem + */ + value: string; +} + +/** + * Check if a given object implements the SearchExploreItem interface. + */ +export function instanceOfSearchExploreItem(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "data" in value; + isInstance = isInstance && "value" in value; + + return isInstance; +} + +export function SearchExploreItemFromJSON(json: any): SearchExploreItem { + return SearchExploreItemFromJSONTyped(json, false); +} + +export function SearchExploreItemFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchExploreItem { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'data': AssetResponseDtoFromJSON(json['data']), + 'value': json['value'], + }; +} + +export function SearchExploreItemToJSON(value?: SearchExploreItem | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'data': AssetResponseDtoToJSON(value.data), + 'value': value.value, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SearchExploreResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/SearchExploreResponseDto.ts new file mode 100644 index 00000000000000..d2671e02fe45c4 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SearchExploreResponseDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SearchExploreItem } from './SearchExploreItem'; +import { + SearchExploreItemFromJSON, + SearchExploreItemFromJSONTyped, + SearchExploreItemToJSON, +} from './SearchExploreItem'; + +/** + * + * @export + * @interface SearchExploreResponseDto + */ +export interface SearchExploreResponseDto { + /** + * + * @type {string} + * @memberof SearchExploreResponseDto + */ + fieldName: string; + /** + * + * @type {Array} + * @memberof SearchExploreResponseDto + */ + items: Array; +} + +/** + * Check if a given object implements the SearchExploreResponseDto interface. + */ +export function instanceOfSearchExploreResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "fieldName" in value; + isInstance = isInstance && "items" in value; + + return isInstance; +} + +export function SearchExploreResponseDtoFromJSON(json: any): SearchExploreResponseDto { + return SearchExploreResponseDtoFromJSONTyped(json, false); +} + +export function SearchExploreResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchExploreResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'fieldName': json['fieldName'], + 'items': ((json['items'] as Array).map(SearchExploreItemFromJSON)), + }; +} + +export function SearchExploreResponseDtoToJSON(value?: SearchExploreResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'fieldName': value.fieldName, + 'items': ((value.items as Array).map(SearchExploreItemToJSON)), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SearchFacetCountResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/SearchFacetCountResponseDto.ts new file mode 100644 index 00000000000000..e18fa3d84daa2a --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SearchFacetCountResponseDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SearchFacetCountResponseDto + */ +export interface SearchFacetCountResponseDto { + /** + * + * @type {number} + * @memberof SearchFacetCountResponseDto + */ + count: number; + /** + * + * @type {string} + * @memberof SearchFacetCountResponseDto + */ + value: string; +} + +/** + * Check if a given object implements the SearchFacetCountResponseDto interface. + */ +export function instanceOfSearchFacetCountResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "count" in value; + isInstance = isInstance && "value" in value; + + return isInstance; +} + +export function SearchFacetCountResponseDtoFromJSON(json: any): SearchFacetCountResponseDto { + return SearchFacetCountResponseDtoFromJSONTyped(json, false); +} + +export function SearchFacetCountResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchFacetCountResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': json['count'], + 'value': json['value'], + }; +} + +export function SearchFacetCountResponseDtoToJSON(value?: SearchFacetCountResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'value': value.value, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SearchFacetResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/SearchFacetResponseDto.ts new file mode 100644 index 00000000000000..14b41751ab5e99 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SearchFacetResponseDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SearchFacetCountResponseDto } from './SearchFacetCountResponseDto'; +import { + SearchFacetCountResponseDtoFromJSON, + SearchFacetCountResponseDtoFromJSONTyped, + SearchFacetCountResponseDtoToJSON, +} from './SearchFacetCountResponseDto'; + +/** + * + * @export + * @interface SearchFacetResponseDto + */ +export interface SearchFacetResponseDto { + /** + * + * @type {Array} + * @memberof SearchFacetResponseDto + */ + counts: Array; + /** + * + * @type {string} + * @memberof SearchFacetResponseDto + */ + fieldName: string; +} + +/** + * Check if a given object implements the SearchFacetResponseDto interface. + */ +export function instanceOfSearchFacetResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "counts" in value; + isInstance = isInstance && "fieldName" in value; + + return isInstance; +} + +export function SearchFacetResponseDtoFromJSON(json: any): SearchFacetResponseDto { + return SearchFacetResponseDtoFromJSONTyped(json, false); +} + +export function SearchFacetResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchFacetResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'counts': ((json['counts'] as Array).map(SearchFacetCountResponseDtoFromJSON)), + 'fieldName': json['fieldName'], + }; +} + +export function SearchFacetResponseDtoToJSON(value?: SearchFacetResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'counts': ((value.counts as Array).map(SearchFacetCountResponseDtoToJSON)), + 'fieldName': value.fieldName, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SearchResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/SearchResponseDto.ts new file mode 100644 index 00000000000000..89fa47062fe50c --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SearchResponseDto.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SearchAlbumResponseDto } from './SearchAlbumResponseDto'; +import { + SearchAlbumResponseDtoFromJSON, + SearchAlbumResponseDtoFromJSONTyped, + SearchAlbumResponseDtoToJSON, +} from './SearchAlbumResponseDto'; +import type { SearchAssetResponseDto } from './SearchAssetResponseDto'; +import { + SearchAssetResponseDtoFromJSON, + SearchAssetResponseDtoFromJSONTyped, + SearchAssetResponseDtoToJSON, +} from './SearchAssetResponseDto'; + +/** + * + * @export + * @interface SearchResponseDto + */ +export interface SearchResponseDto { + /** + * + * @type {SearchAlbumResponseDto} + * @memberof SearchResponseDto + */ + albums: SearchAlbumResponseDto; + /** + * + * @type {SearchAssetResponseDto} + * @memberof SearchResponseDto + */ + assets: SearchAssetResponseDto; +} + +/** + * Check if a given object implements the SearchResponseDto interface. + */ +export function instanceOfSearchResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "albums" in value; + isInstance = isInstance && "assets" in value; + + return isInstance; +} + +export function SearchResponseDtoFromJSON(json: any): SearchResponseDto { + return SearchResponseDtoFromJSONTyped(json, false); +} + +export function SearchResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SearchResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'albums': SearchAlbumResponseDtoFromJSON(json['albums']), + 'assets': SearchAssetResponseDtoFromJSON(json['assets']), + }; +} + +export function SearchResponseDtoToJSON(value?: SearchResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'albums': SearchAlbumResponseDtoToJSON(value.albums), + 'assets': SearchAssetResponseDtoToJSON(value.assets), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ServerConfigDto.ts b/open-api/typescript-sdk/fetch-client/models/ServerConfigDto.ts new file mode 100644 index 00000000000000..4db3fd35367bd8 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ServerConfigDto.ts @@ -0,0 +1,111 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ServerConfigDto + */ +export interface ServerConfigDto { + /** + * + * @type {string} + * @memberof ServerConfigDto + */ + externalDomain: string; + /** + * + * @type {boolean} + * @memberof ServerConfigDto + */ + isInitialized: boolean; + /** + * + * @type {boolean} + * @memberof ServerConfigDto + */ + isOnboarded: boolean; + /** + * + * @type {string} + * @memberof ServerConfigDto + */ + loginPageMessage: string; + /** + * + * @type {string} + * @memberof ServerConfigDto + */ + oauthButtonText: string; + /** + * + * @type {number} + * @memberof ServerConfigDto + */ + trashDays: number; +} + +/** + * Check if a given object implements the ServerConfigDto interface. + */ +export function instanceOfServerConfigDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "externalDomain" in value; + isInstance = isInstance && "isInitialized" in value; + isInstance = isInstance && "isOnboarded" in value; + isInstance = isInstance && "loginPageMessage" in value; + isInstance = isInstance && "oauthButtonText" in value; + isInstance = isInstance && "trashDays" in value; + + return isInstance; +} + +export function ServerConfigDtoFromJSON(json: any): ServerConfigDto { + return ServerConfigDtoFromJSONTyped(json, false); +} + +export function ServerConfigDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerConfigDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'externalDomain': json['externalDomain'], + 'isInitialized': json['isInitialized'], + 'isOnboarded': json['isOnboarded'], + 'loginPageMessage': json['loginPageMessage'], + 'oauthButtonText': json['oauthButtonText'], + 'trashDays': json['trashDays'], + }; +} + +export function ServerConfigDtoToJSON(value?: ServerConfigDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'externalDomain': value.externalDomain, + 'isInitialized': value.isInitialized, + 'isOnboarded': value.isOnboarded, + 'loginPageMessage': value.loginPageMessage, + 'oauthButtonText': value.oauthButtonText, + 'trashDays': value.trashDays, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ServerFeaturesDto.ts b/open-api/typescript-sdk/fetch-client/models/ServerFeaturesDto.ts new file mode 100644 index 00000000000000..8c127dce760c2d --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ServerFeaturesDto.ts @@ -0,0 +1,156 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ServerFeaturesDto + */ +export interface ServerFeaturesDto { + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + configFile: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + facialRecognition: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + map: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + oauth: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + oauthAutoLaunch: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + passwordLogin: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + reverseGeocoding: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + search: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + sidecar: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + smartSearch: boolean; + /** + * + * @type {boolean} + * @memberof ServerFeaturesDto + */ + trash: boolean; +} + +/** + * Check if a given object implements the ServerFeaturesDto interface. + */ +export function instanceOfServerFeaturesDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "configFile" in value; + isInstance = isInstance && "facialRecognition" in value; + isInstance = isInstance && "map" in value; + isInstance = isInstance && "oauth" in value; + isInstance = isInstance && "oauthAutoLaunch" in value; + isInstance = isInstance && "passwordLogin" in value; + isInstance = isInstance && "reverseGeocoding" in value; + isInstance = isInstance && "search" in value; + isInstance = isInstance && "sidecar" in value; + isInstance = isInstance && "smartSearch" in value; + isInstance = isInstance && "trash" in value; + + return isInstance; +} + +export function ServerFeaturesDtoFromJSON(json: any): ServerFeaturesDto { + return ServerFeaturesDtoFromJSONTyped(json, false); +} + +export function ServerFeaturesDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerFeaturesDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'configFile': json['configFile'], + 'facialRecognition': json['facialRecognition'], + 'map': json['map'], + 'oauth': json['oauth'], + 'oauthAutoLaunch': json['oauthAutoLaunch'], + 'passwordLogin': json['passwordLogin'], + 'reverseGeocoding': json['reverseGeocoding'], + 'search': json['search'], + 'sidecar': json['sidecar'], + 'smartSearch': json['smartSearch'], + 'trash': json['trash'], + }; +} + +export function ServerFeaturesDtoToJSON(value?: ServerFeaturesDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'configFile': value.configFile, + 'facialRecognition': value.facialRecognition, + 'map': value.map, + 'oauth': value.oauth, + 'oauthAutoLaunch': value.oauthAutoLaunch, + 'passwordLogin': value.passwordLogin, + 'reverseGeocoding': value.reverseGeocoding, + 'search': value.search, + 'sidecar': value.sidecar, + 'smartSearch': value.smartSearch, + 'trash': value.trash, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ServerInfoResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/ServerInfoResponseDto.ts new file mode 100644 index 00000000000000..fd1a94eaf4c020 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ServerInfoResponseDto.ts @@ -0,0 +1,120 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ServerInfoResponseDto + */ +export interface ServerInfoResponseDto { + /** + * + * @type {string} + * @memberof ServerInfoResponseDto + */ + diskAvailable: string; + /** + * + * @type {number} + * @memberof ServerInfoResponseDto + */ + diskAvailableRaw: number; + /** + * + * @type {string} + * @memberof ServerInfoResponseDto + */ + diskSize: string; + /** + * + * @type {number} + * @memberof ServerInfoResponseDto + */ + diskSizeRaw: number; + /** + * + * @type {number} + * @memberof ServerInfoResponseDto + */ + diskUsagePercentage: number; + /** + * + * @type {string} + * @memberof ServerInfoResponseDto + */ + diskUse: string; + /** + * + * @type {number} + * @memberof ServerInfoResponseDto + */ + diskUseRaw: number; +} + +/** + * Check if a given object implements the ServerInfoResponseDto interface. + */ +export function instanceOfServerInfoResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "diskAvailable" in value; + isInstance = isInstance && "diskAvailableRaw" in value; + isInstance = isInstance && "diskSize" in value; + isInstance = isInstance && "diskSizeRaw" in value; + isInstance = isInstance && "diskUsagePercentage" in value; + isInstance = isInstance && "diskUse" in value; + isInstance = isInstance && "diskUseRaw" in value; + + return isInstance; +} + +export function ServerInfoResponseDtoFromJSON(json: any): ServerInfoResponseDto { + return ServerInfoResponseDtoFromJSONTyped(json, false); +} + +export function ServerInfoResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerInfoResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'diskAvailable': json['diskAvailable'], + 'diskAvailableRaw': json['diskAvailableRaw'], + 'diskSize': json['diskSize'], + 'diskSizeRaw': json['diskSizeRaw'], + 'diskUsagePercentage': json['diskUsagePercentage'], + 'diskUse': json['diskUse'], + 'diskUseRaw': json['diskUseRaw'], + }; +} + +export function ServerInfoResponseDtoToJSON(value?: ServerInfoResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'diskAvailable': value.diskAvailable, + 'diskAvailableRaw': value.diskAvailableRaw, + 'diskSize': value.diskSize, + 'diskSizeRaw': value.diskSizeRaw, + 'diskUsagePercentage': value.diskUsagePercentage, + 'diskUse': value.diskUse, + 'diskUseRaw': value.diskUseRaw, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ServerMediaTypesResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/ServerMediaTypesResponseDto.ts new file mode 100644 index 00000000000000..9503801818c1a8 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ServerMediaTypesResponseDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ServerMediaTypesResponseDto + */ +export interface ServerMediaTypesResponseDto { + /** + * + * @type {Array} + * @memberof ServerMediaTypesResponseDto + */ + image: Array; + /** + * + * @type {Array} + * @memberof ServerMediaTypesResponseDto + */ + sidecar: Array; + /** + * + * @type {Array} + * @memberof ServerMediaTypesResponseDto + */ + video: Array; +} + +/** + * Check if a given object implements the ServerMediaTypesResponseDto interface. + */ +export function instanceOfServerMediaTypesResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "image" in value; + isInstance = isInstance && "sidecar" in value; + isInstance = isInstance && "video" in value; + + return isInstance; +} + +export function ServerMediaTypesResponseDtoFromJSON(json: any): ServerMediaTypesResponseDto { + return ServerMediaTypesResponseDtoFromJSONTyped(json, false); +} + +export function ServerMediaTypesResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerMediaTypesResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'image': json['image'], + 'sidecar': json['sidecar'], + 'video': json['video'], + }; +} + +export function ServerMediaTypesResponseDtoToJSON(value?: ServerMediaTypesResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'image': value.image, + 'sidecar': value.sidecar, + 'video': value.video, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ServerPingResponse.ts b/open-api/typescript-sdk/fetch-client/models/ServerPingResponse.ts new file mode 100644 index 00000000000000..1ab7605639cda7 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ServerPingResponse.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ServerPingResponse + */ +export interface ServerPingResponse { + /** + * + * @type {string} + * @memberof ServerPingResponse + */ + readonly res: string; +} + +/** + * Check if a given object implements the ServerPingResponse interface. + */ +export function instanceOfServerPingResponse(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "res" in value; + + return isInstance; +} + +export function ServerPingResponseFromJSON(json: any): ServerPingResponse { + return ServerPingResponseFromJSONTyped(json, false); +} + +export function ServerPingResponseFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerPingResponse { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'res': json['res'], + }; +} + +export function ServerPingResponseToJSON(value?: ServerPingResponse | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ServerStatsResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/ServerStatsResponseDto.ts new file mode 100644 index 00000000000000..10867eec5ab81d --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ServerStatsResponseDto.ts @@ -0,0 +1,100 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UsageByUserDto } from './UsageByUserDto'; +import { + UsageByUserDtoFromJSON, + UsageByUserDtoFromJSONTyped, + UsageByUserDtoToJSON, +} from './UsageByUserDto'; + +/** + * + * @export + * @interface ServerStatsResponseDto + */ +export interface ServerStatsResponseDto { + /** + * + * @type {number} + * @memberof ServerStatsResponseDto + */ + photos: number; + /** + * + * @type {number} + * @memberof ServerStatsResponseDto + */ + usage: number; + /** + * + * @type {Array} + * @memberof ServerStatsResponseDto + */ + usageByUser: Array; + /** + * + * @type {number} + * @memberof ServerStatsResponseDto + */ + videos: number; +} + +/** + * Check if a given object implements the ServerStatsResponseDto interface. + */ +export function instanceOfServerStatsResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "photos" in value; + isInstance = isInstance && "usage" in value; + isInstance = isInstance && "usageByUser" in value; + isInstance = isInstance && "videos" in value; + + return isInstance; +} + +export function ServerStatsResponseDtoFromJSON(json: any): ServerStatsResponseDto { + return ServerStatsResponseDtoFromJSONTyped(json, false); +} + +export function ServerStatsResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerStatsResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'photos': json['photos'], + 'usage': json['usage'], + 'usageByUser': ((json['usageByUser'] as Array).map(UsageByUserDtoFromJSON)), + 'videos': json['videos'], + }; +} + +export function ServerStatsResponseDtoToJSON(value?: ServerStatsResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'photos': value.photos, + 'usage': value.usage, + 'usageByUser': ((value.usageByUser as Array).map(UsageByUserDtoToJSON)), + 'videos': value.videos, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ServerThemeDto.ts b/open-api/typescript-sdk/fetch-client/models/ServerThemeDto.ts new file mode 100644 index 00000000000000..8163273ba5c317 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ServerThemeDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ServerThemeDto + */ +export interface ServerThemeDto { + /** + * + * @type {string} + * @memberof ServerThemeDto + */ + customCss: string; +} + +/** + * Check if a given object implements the ServerThemeDto interface. + */ +export function instanceOfServerThemeDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "customCss" in value; + + return isInstance; +} + +export function ServerThemeDtoFromJSON(json: any): ServerThemeDto { + return ServerThemeDtoFromJSONTyped(json, false); +} + +export function ServerThemeDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerThemeDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'customCss': json['customCss'], + }; +} + +export function ServerThemeDtoToJSON(value?: ServerThemeDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'customCss': value.customCss, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ServerVersionResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/ServerVersionResponseDto.ts new file mode 100644 index 00000000000000..8d0198df799e50 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ServerVersionResponseDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ServerVersionResponseDto + */ +export interface ServerVersionResponseDto { + /** + * + * @type {number} + * @memberof ServerVersionResponseDto + */ + major: number; + /** + * + * @type {number} + * @memberof ServerVersionResponseDto + */ + minor: number; + /** + * + * @type {number} + * @memberof ServerVersionResponseDto + */ + patch: number; +} + +/** + * Check if a given object implements the ServerVersionResponseDto interface. + */ +export function instanceOfServerVersionResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "major" in value; + isInstance = isInstance && "minor" in value; + isInstance = isInstance && "patch" in value; + + return isInstance; +} + +export function ServerVersionResponseDtoFromJSON(json: any): ServerVersionResponseDto { + return ServerVersionResponseDtoFromJSONTyped(json, false); +} + +export function ServerVersionResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ServerVersionResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'major': json['major'], + 'minor': json['minor'], + 'patch': json['patch'], + }; +} + +export function ServerVersionResponseDtoToJSON(value?: ServerVersionResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'major': value.major, + 'minor': value.minor, + 'patch': value.patch, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SharedLinkCreateDto.ts b/open-api/typescript-sdk/fetch-client/models/SharedLinkCreateDto.ts new file mode 100644 index 00000000000000..af4d43f456a293 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SharedLinkCreateDto.ts @@ -0,0 +1,137 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SharedLinkType } from './SharedLinkType'; +import { + SharedLinkTypeFromJSON, + SharedLinkTypeFromJSONTyped, + SharedLinkTypeToJSON, +} from './SharedLinkType'; + +/** + * + * @export + * @interface SharedLinkCreateDto + */ +export interface SharedLinkCreateDto { + /** + * + * @type {string} + * @memberof SharedLinkCreateDto + */ + albumId?: string; + /** + * + * @type {boolean} + * @memberof SharedLinkCreateDto + */ + allowDownload?: boolean; + /** + * + * @type {boolean} + * @memberof SharedLinkCreateDto + */ + allowUpload?: boolean; + /** + * + * @type {Array} + * @memberof SharedLinkCreateDto + */ + assetIds?: Array; + /** + * + * @type {string} + * @memberof SharedLinkCreateDto + */ + description?: string; + /** + * + * @type {Date} + * @memberof SharedLinkCreateDto + */ + expiresAt?: Date | null; + /** + * + * @type {string} + * @memberof SharedLinkCreateDto + */ + password?: string; + /** + * + * @type {boolean} + * @memberof SharedLinkCreateDto + */ + showMetadata?: boolean; + /** + * + * @type {SharedLinkType} + * @memberof SharedLinkCreateDto + */ + type: SharedLinkType; +} + +/** + * Check if a given object implements the SharedLinkCreateDto interface. + */ +export function instanceOfSharedLinkCreateDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "type" in value; + + return isInstance; +} + +export function SharedLinkCreateDtoFromJSON(json: any): SharedLinkCreateDto { + return SharedLinkCreateDtoFromJSONTyped(json, false); +} + +export function SharedLinkCreateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SharedLinkCreateDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'albumId': !exists(json, 'albumId') ? undefined : json['albumId'], + 'allowDownload': !exists(json, 'allowDownload') ? undefined : json['allowDownload'], + 'allowUpload': !exists(json, 'allowUpload') ? undefined : json['allowUpload'], + 'assetIds': !exists(json, 'assetIds') ? undefined : json['assetIds'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'expiresAt': !exists(json, 'expiresAt') ? undefined : (json['expiresAt'] === null ? null : new Date(json['expiresAt'])), + 'password': !exists(json, 'password') ? undefined : json['password'], + 'showMetadata': !exists(json, 'showMetadata') ? undefined : json['showMetadata'], + 'type': SharedLinkTypeFromJSON(json['type']), + }; +} + +export function SharedLinkCreateDtoToJSON(value?: SharedLinkCreateDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'albumId': value.albumId, + 'allowDownload': value.allowDownload, + 'allowUpload': value.allowUpload, + 'assetIds': value.assetIds, + 'description': value.description, + 'expiresAt': value.expiresAt === undefined ? undefined : (value.expiresAt === null ? null : value.expiresAt.toISOString()), + 'password': value.password, + 'showMetadata': value.showMetadata, + 'type': SharedLinkTypeToJSON(value.type), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SharedLinkEditDto.ts b/open-api/typescript-sdk/fetch-client/models/SharedLinkEditDto.ts new file mode 100644 index 00000000000000..12eb5da76f44d6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SharedLinkEditDto.ts @@ -0,0 +1,115 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SharedLinkEditDto + */ +export interface SharedLinkEditDto { + /** + * + * @type {boolean} + * @memberof SharedLinkEditDto + */ + allowDownload?: boolean; + /** + * + * @type {boolean} + * @memberof SharedLinkEditDto + */ + allowUpload?: boolean; + /** + * Few clients cannot send null to set the expiryTime to never. + * Setting this flag and not sending expiryAt is considered as null instead. + * Clients that can send null values can ignore this. + * @type {boolean} + * @memberof SharedLinkEditDto + */ + changeExpiryTime?: boolean; + /** + * + * @type {string} + * @memberof SharedLinkEditDto + */ + description?: string; + /** + * + * @type {Date} + * @memberof SharedLinkEditDto + */ + expiresAt?: Date | null; + /** + * + * @type {string} + * @memberof SharedLinkEditDto + */ + password?: string; + /** + * + * @type {boolean} + * @memberof SharedLinkEditDto + */ + showMetadata?: boolean; +} + +/** + * Check if a given object implements the SharedLinkEditDto interface. + */ +export function instanceOfSharedLinkEditDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SharedLinkEditDtoFromJSON(json: any): SharedLinkEditDto { + return SharedLinkEditDtoFromJSONTyped(json, false); +} + +export function SharedLinkEditDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SharedLinkEditDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'allowDownload': !exists(json, 'allowDownload') ? undefined : json['allowDownload'], + 'allowUpload': !exists(json, 'allowUpload') ? undefined : json['allowUpload'], + 'changeExpiryTime': !exists(json, 'changeExpiryTime') ? undefined : json['changeExpiryTime'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'expiresAt': !exists(json, 'expiresAt') ? undefined : (json['expiresAt'] === null ? null : new Date(json['expiresAt'])), + 'password': !exists(json, 'password') ? undefined : json['password'], + 'showMetadata': !exists(json, 'showMetadata') ? undefined : json['showMetadata'], + }; +} + +export function SharedLinkEditDtoToJSON(value?: SharedLinkEditDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'allowDownload': value.allowDownload, + 'allowUpload': value.allowUpload, + 'changeExpiryTime': value.changeExpiryTime, + 'description': value.description, + 'expiresAt': value.expiresAt === undefined ? undefined : (value.expiresAt === null ? null : value.expiresAt.toISOString()), + 'password': value.password, + 'showMetadata': value.showMetadata, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SharedLinkResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/SharedLinkResponseDto.ts new file mode 100644 index 00000000000000..6f56c90176694f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SharedLinkResponseDto.ts @@ -0,0 +1,200 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AlbumResponseDto } from './AlbumResponseDto'; +import { + AlbumResponseDtoFromJSON, + AlbumResponseDtoFromJSONTyped, + AlbumResponseDtoToJSON, +} from './AlbumResponseDto'; +import type { AssetResponseDto } from './AssetResponseDto'; +import { + AssetResponseDtoFromJSON, + AssetResponseDtoFromJSONTyped, + AssetResponseDtoToJSON, +} from './AssetResponseDto'; +import type { SharedLinkType } from './SharedLinkType'; +import { + SharedLinkTypeFromJSON, + SharedLinkTypeFromJSONTyped, + SharedLinkTypeToJSON, +} from './SharedLinkType'; + +/** + * + * @export + * @interface SharedLinkResponseDto + */ +export interface SharedLinkResponseDto { + /** + * + * @type {AlbumResponseDto} + * @memberof SharedLinkResponseDto + */ + album?: AlbumResponseDto; + /** + * + * @type {boolean} + * @memberof SharedLinkResponseDto + */ + allowDownload: boolean; + /** + * + * @type {boolean} + * @memberof SharedLinkResponseDto + */ + allowUpload: boolean; + /** + * + * @type {Array} + * @memberof SharedLinkResponseDto + */ + assets: Array; + /** + * + * @type {Date} + * @memberof SharedLinkResponseDto + */ + createdAt: Date; + /** + * + * @type {string} + * @memberof SharedLinkResponseDto + */ + description: string | null; + /** + * + * @type {Date} + * @memberof SharedLinkResponseDto + */ + expiresAt: Date | null; + /** + * + * @type {string} + * @memberof SharedLinkResponseDto + */ + id: string; + /** + * + * @type {string} + * @memberof SharedLinkResponseDto + */ + key: string; + /** + * + * @type {string} + * @memberof SharedLinkResponseDto + */ + password: string | null; + /** + * + * @type {boolean} + * @memberof SharedLinkResponseDto + */ + showMetadata: boolean; + /** + * + * @type {string} + * @memberof SharedLinkResponseDto + */ + token?: string | null; + /** + * + * @type {SharedLinkType} + * @memberof SharedLinkResponseDto + */ + type: SharedLinkType; + /** + * + * @type {string} + * @memberof SharedLinkResponseDto + */ + userId: string; +} + +/** + * Check if a given object implements the SharedLinkResponseDto interface. + */ +export function instanceOfSharedLinkResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "allowDownload" in value; + isInstance = isInstance && "allowUpload" in value; + isInstance = isInstance && "assets" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "description" in value; + isInstance = isInstance && "expiresAt" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "key" in value; + isInstance = isInstance && "password" in value; + isInstance = isInstance && "showMetadata" in value; + isInstance = isInstance && "type" in value; + isInstance = isInstance && "userId" in value; + + return isInstance; +} + +export function SharedLinkResponseDtoFromJSON(json: any): SharedLinkResponseDto { + return SharedLinkResponseDtoFromJSONTyped(json, false); +} + +export function SharedLinkResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SharedLinkResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'album': !exists(json, 'album') ? undefined : AlbumResponseDtoFromJSON(json['album']), + 'allowDownload': json['allowDownload'], + 'allowUpload': json['allowUpload'], + 'assets': ((json['assets'] as Array).map(AssetResponseDtoFromJSON)), + 'createdAt': (new Date(json['createdAt'])), + 'description': json['description'], + 'expiresAt': (json['expiresAt'] === null ? null : new Date(json['expiresAt'])), + 'id': json['id'], + 'key': json['key'], + 'password': json['password'], + 'showMetadata': json['showMetadata'], + 'token': !exists(json, 'token') ? undefined : json['token'], + 'type': SharedLinkTypeFromJSON(json['type']), + 'userId': json['userId'], + }; +} + +export function SharedLinkResponseDtoToJSON(value?: SharedLinkResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'album': AlbumResponseDtoToJSON(value.album), + 'allowDownload': value.allowDownload, + 'allowUpload': value.allowUpload, + 'assets': ((value.assets as Array).map(AssetResponseDtoToJSON)), + 'createdAt': (value.createdAt.toISOString()), + 'description': value.description, + 'expiresAt': (value.expiresAt === null ? null : value.expiresAt.toISOString()), + 'id': value.id, + 'key': value.key, + 'password': value.password, + 'showMetadata': value.showMetadata, + 'token': value.token, + 'type': SharedLinkTypeToJSON(value.type), + 'userId': value.userId, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SharedLinkType.ts b/open-api/typescript-sdk/fetch-client/models/SharedLinkType.ts new file mode 100644 index 00000000000000..901c73c9c0ccf7 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SharedLinkType.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const SharedLinkType = { + Album: 'ALBUM', + Individual: 'INDIVIDUAL' +} as const; +export type SharedLinkType = typeof SharedLinkType[keyof typeof SharedLinkType]; + + +export function SharedLinkTypeFromJSON(json: any): SharedLinkType { + return SharedLinkTypeFromJSONTyped(json, false); +} + +export function SharedLinkTypeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SharedLinkType { + return json as SharedLinkType; +} + +export function SharedLinkTypeToJSON(value?: SharedLinkType | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SignUpDto.ts b/open-api/typescript-sdk/fetch-client/models/SignUpDto.ts new file mode 100644 index 00000000000000..681fbf7519db36 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SignUpDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SignUpDto + */ +export interface SignUpDto { + /** + * + * @type {string} + * @memberof SignUpDto + */ + email: string; + /** + * + * @type {string} + * @memberof SignUpDto + */ + name: string; + /** + * + * @type {string} + * @memberof SignUpDto + */ + password: string; +} + +/** + * Check if a given object implements the SignUpDto interface. + */ +export function instanceOfSignUpDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "email" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "password" in value; + + return isInstance; +} + +export function SignUpDtoFromJSON(json: any): SignUpDto { + return SignUpDtoFromJSONTyped(json, false); +} + +export function SignUpDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SignUpDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'email': json['email'], + 'name': json['name'], + 'password': json['password'], + }; +} + +export function SignUpDtoToJSON(value?: SignUpDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'email': value.email, + 'name': value.name, + 'password': value.password, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SmartInfoResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/SmartInfoResponseDto.ts new file mode 100644 index 00000000000000..0b652fe7c2aa2a --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SmartInfoResponseDto.ts @@ -0,0 +1,73 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SmartInfoResponseDto + */ +export interface SmartInfoResponseDto { + /** + * + * @type {Array} + * @memberof SmartInfoResponseDto + */ + objects?: Array | null; + /** + * + * @type {Array} + * @memberof SmartInfoResponseDto + */ + tags?: Array | null; +} + +/** + * Check if a given object implements the SmartInfoResponseDto interface. + */ +export function instanceOfSmartInfoResponseDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function SmartInfoResponseDtoFromJSON(json: any): SmartInfoResponseDto { + return SmartInfoResponseDtoFromJSONTyped(json, false); +} + +export function SmartInfoResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SmartInfoResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'objects': !exists(json, 'objects') ? undefined : json['objects'], + 'tags': !exists(json, 'tags') ? undefined : json['tags'], + }; +} + +export function SmartInfoResponseDtoToJSON(value?: SmartInfoResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'objects': value.objects, + 'tags': value.tags, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigDto.ts new file mode 100644 index 00000000000000..99504d6f5147a0 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigDto.ts @@ -0,0 +1,283 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SystemConfigFFmpegDto } from './SystemConfigFFmpegDto'; +import { + SystemConfigFFmpegDtoFromJSON, + SystemConfigFFmpegDtoFromJSONTyped, + SystemConfigFFmpegDtoToJSON, +} from './SystemConfigFFmpegDto'; +import type { SystemConfigJobDto } from './SystemConfigJobDto'; +import { + SystemConfigJobDtoFromJSON, + SystemConfigJobDtoFromJSONTyped, + SystemConfigJobDtoToJSON, +} from './SystemConfigJobDto'; +import type { SystemConfigLibraryDto } from './SystemConfigLibraryDto'; +import { + SystemConfigLibraryDtoFromJSON, + SystemConfigLibraryDtoFromJSONTyped, + SystemConfigLibraryDtoToJSON, +} from './SystemConfigLibraryDto'; +import type { SystemConfigLoggingDto } from './SystemConfigLoggingDto'; +import { + SystemConfigLoggingDtoFromJSON, + SystemConfigLoggingDtoFromJSONTyped, + SystemConfigLoggingDtoToJSON, +} from './SystemConfigLoggingDto'; +import type { SystemConfigMachineLearningDto } from './SystemConfigMachineLearningDto'; +import { + SystemConfigMachineLearningDtoFromJSON, + SystemConfigMachineLearningDtoFromJSONTyped, + SystemConfigMachineLearningDtoToJSON, +} from './SystemConfigMachineLearningDto'; +import type { SystemConfigMapDto } from './SystemConfigMapDto'; +import { + SystemConfigMapDtoFromJSON, + SystemConfigMapDtoFromJSONTyped, + SystemConfigMapDtoToJSON, +} from './SystemConfigMapDto'; +import type { SystemConfigNewVersionCheckDto } from './SystemConfigNewVersionCheckDto'; +import { + SystemConfigNewVersionCheckDtoFromJSON, + SystemConfigNewVersionCheckDtoFromJSONTyped, + SystemConfigNewVersionCheckDtoToJSON, +} from './SystemConfigNewVersionCheckDto'; +import type { SystemConfigOAuthDto } from './SystemConfigOAuthDto'; +import { + SystemConfigOAuthDtoFromJSON, + SystemConfigOAuthDtoFromJSONTyped, + SystemConfigOAuthDtoToJSON, +} from './SystemConfigOAuthDto'; +import type { SystemConfigPasswordLoginDto } from './SystemConfigPasswordLoginDto'; +import { + SystemConfigPasswordLoginDtoFromJSON, + SystemConfigPasswordLoginDtoFromJSONTyped, + SystemConfigPasswordLoginDtoToJSON, +} from './SystemConfigPasswordLoginDto'; +import type { SystemConfigReverseGeocodingDto } from './SystemConfigReverseGeocodingDto'; +import { + SystemConfigReverseGeocodingDtoFromJSON, + SystemConfigReverseGeocodingDtoFromJSONTyped, + SystemConfigReverseGeocodingDtoToJSON, +} from './SystemConfigReverseGeocodingDto'; +import type { SystemConfigServerDto } from './SystemConfigServerDto'; +import { + SystemConfigServerDtoFromJSON, + SystemConfigServerDtoFromJSONTyped, + SystemConfigServerDtoToJSON, +} from './SystemConfigServerDto'; +import type { SystemConfigStorageTemplateDto } from './SystemConfigStorageTemplateDto'; +import { + SystemConfigStorageTemplateDtoFromJSON, + SystemConfigStorageTemplateDtoFromJSONTyped, + SystemConfigStorageTemplateDtoToJSON, +} from './SystemConfigStorageTemplateDto'; +import type { SystemConfigThemeDto } from './SystemConfigThemeDto'; +import { + SystemConfigThemeDtoFromJSON, + SystemConfigThemeDtoFromJSONTyped, + SystemConfigThemeDtoToJSON, +} from './SystemConfigThemeDto'; +import type { SystemConfigThumbnailDto } from './SystemConfigThumbnailDto'; +import { + SystemConfigThumbnailDtoFromJSON, + SystemConfigThumbnailDtoFromJSONTyped, + SystemConfigThumbnailDtoToJSON, +} from './SystemConfigThumbnailDto'; +import type { SystemConfigTrashDto } from './SystemConfigTrashDto'; +import { + SystemConfigTrashDtoFromJSON, + SystemConfigTrashDtoFromJSONTyped, + SystemConfigTrashDtoToJSON, +} from './SystemConfigTrashDto'; + +/** + * + * @export + * @interface SystemConfigDto + */ +export interface SystemConfigDto { + /** + * + * @type {SystemConfigFFmpegDto} + * @memberof SystemConfigDto + */ + ffmpeg: SystemConfigFFmpegDto; + /** + * + * @type {SystemConfigJobDto} + * @memberof SystemConfigDto + */ + job: SystemConfigJobDto; + /** + * + * @type {SystemConfigLibraryDto} + * @memberof SystemConfigDto + */ + library: SystemConfigLibraryDto; + /** + * + * @type {SystemConfigLoggingDto} + * @memberof SystemConfigDto + */ + logging: SystemConfigLoggingDto; + /** + * + * @type {SystemConfigMachineLearningDto} + * @memberof SystemConfigDto + */ + machineLearning: SystemConfigMachineLearningDto; + /** + * + * @type {SystemConfigMapDto} + * @memberof SystemConfigDto + */ + map: SystemConfigMapDto; + /** + * + * @type {SystemConfigNewVersionCheckDto} + * @memberof SystemConfigDto + */ + newVersionCheck: SystemConfigNewVersionCheckDto; + /** + * + * @type {SystemConfigOAuthDto} + * @memberof SystemConfigDto + */ + oauth: SystemConfigOAuthDto; + /** + * + * @type {SystemConfigPasswordLoginDto} + * @memberof SystemConfigDto + */ + passwordLogin: SystemConfigPasswordLoginDto; + /** + * + * @type {SystemConfigReverseGeocodingDto} + * @memberof SystemConfigDto + */ + reverseGeocoding: SystemConfigReverseGeocodingDto; + /** + * + * @type {SystemConfigServerDto} + * @memberof SystemConfigDto + */ + server: SystemConfigServerDto; + /** + * + * @type {SystemConfigStorageTemplateDto} + * @memberof SystemConfigDto + */ + storageTemplate: SystemConfigStorageTemplateDto; + /** + * + * @type {SystemConfigThemeDto} + * @memberof SystemConfigDto + */ + theme: SystemConfigThemeDto; + /** + * + * @type {SystemConfigThumbnailDto} + * @memberof SystemConfigDto + */ + thumbnail: SystemConfigThumbnailDto; + /** + * + * @type {SystemConfigTrashDto} + * @memberof SystemConfigDto + */ + trash: SystemConfigTrashDto; +} + +/** + * Check if a given object implements the SystemConfigDto interface. + */ +export function instanceOfSystemConfigDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "ffmpeg" in value; + isInstance = isInstance && "job" in value; + isInstance = isInstance && "library" in value; + isInstance = isInstance && "logging" in value; + isInstance = isInstance && "machineLearning" in value; + isInstance = isInstance && "map" in value; + isInstance = isInstance && "newVersionCheck" in value; + isInstance = isInstance && "oauth" in value; + isInstance = isInstance && "passwordLogin" in value; + isInstance = isInstance && "reverseGeocoding" in value; + isInstance = isInstance && "server" in value; + isInstance = isInstance && "storageTemplate" in value; + isInstance = isInstance && "theme" in value; + isInstance = isInstance && "thumbnail" in value; + isInstance = isInstance && "trash" in value; + + return isInstance; +} + +export function SystemConfigDtoFromJSON(json: any): SystemConfigDto { + return SystemConfigDtoFromJSONTyped(json, false); +} + +export function SystemConfigDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'ffmpeg': SystemConfigFFmpegDtoFromJSON(json['ffmpeg']), + 'job': SystemConfigJobDtoFromJSON(json['job']), + 'library': SystemConfigLibraryDtoFromJSON(json['library']), + 'logging': SystemConfigLoggingDtoFromJSON(json['logging']), + 'machineLearning': SystemConfigMachineLearningDtoFromJSON(json['machineLearning']), + 'map': SystemConfigMapDtoFromJSON(json['map']), + 'newVersionCheck': SystemConfigNewVersionCheckDtoFromJSON(json['newVersionCheck']), + 'oauth': SystemConfigOAuthDtoFromJSON(json['oauth']), + 'passwordLogin': SystemConfigPasswordLoginDtoFromJSON(json['passwordLogin']), + 'reverseGeocoding': SystemConfigReverseGeocodingDtoFromJSON(json['reverseGeocoding']), + 'server': SystemConfigServerDtoFromJSON(json['server']), + 'storageTemplate': SystemConfigStorageTemplateDtoFromJSON(json['storageTemplate']), + 'theme': SystemConfigThemeDtoFromJSON(json['theme']), + 'thumbnail': SystemConfigThumbnailDtoFromJSON(json['thumbnail']), + 'trash': SystemConfigTrashDtoFromJSON(json['trash']), + }; +} + +export function SystemConfigDtoToJSON(value?: SystemConfigDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'ffmpeg': SystemConfigFFmpegDtoToJSON(value.ffmpeg), + 'job': SystemConfigJobDtoToJSON(value.job), + 'library': SystemConfigLibraryDtoToJSON(value.library), + 'logging': SystemConfigLoggingDtoToJSON(value.logging), + 'machineLearning': SystemConfigMachineLearningDtoToJSON(value.machineLearning), + 'map': SystemConfigMapDtoToJSON(value.map), + 'newVersionCheck': SystemConfigNewVersionCheckDtoToJSON(value.newVersionCheck), + 'oauth': SystemConfigOAuthDtoToJSON(value.oauth), + 'passwordLogin': SystemConfigPasswordLoginDtoToJSON(value.passwordLogin), + 'reverseGeocoding': SystemConfigReverseGeocodingDtoToJSON(value.reverseGeocoding), + 'server': SystemConfigServerDtoToJSON(value.server), + 'storageTemplate': SystemConfigStorageTemplateDtoToJSON(value.storageTemplate), + 'theme': SystemConfigThemeDtoToJSON(value.theme), + 'thumbnail': SystemConfigThumbnailDtoToJSON(value.thumbnail), + 'trash': SystemConfigTrashDtoToJSON(value.trash), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigFFmpegDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigFFmpegDto.ts new file mode 100644 index 00000000000000..aec8ff48d7e0ed --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigFFmpegDto.ts @@ -0,0 +1,274 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { AudioCodec } from './AudioCodec'; +import { + AudioCodecFromJSON, + AudioCodecFromJSONTyped, + AudioCodecToJSON, +} from './AudioCodec'; +import type { CQMode } from './CQMode'; +import { + CQModeFromJSON, + CQModeFromJSONTyped, + CQModeToJSON, +} from './CQMode'; +import type { ToneMapping } from './ToneMapping'; +import { + ToneMappingFromJSON, + ToneMappingFromJSONTyped, + ToneMappingToJSON, +} from './ToneMapping'; +import type { TranscodeHWAccel } from './TranscodeHWAccel'; +import { + TranscodeHWAccelFromJSON, + TranscodeHWAccelFromJSONTyped, + TranscodeHWAccelToJSON, +} from './TranscodeHWAccel'; +import type { TranscodePolicy } from './TranscodePolicy'; +import { + TranscodePolicyFromJSON, + TranscodePolicyFromJSONTyped, + TranscodePolicyToJSON, +} from './TranscodePolicy'; +import type { VideoCodec } from './VideoCodec'; +import { + VideoCodecFromJSON, + VideoCodecFromJSONTyped, + VideoCodecToJSON, +} from './VideoCodec'; + +/** + * + * @export + * @interface SystemConfigFFmpegDto + */ +export interface SystemConfigFFmpegDto { + /** + * + * @type {TranscodeHWAccel} + * @memberof SystemConfigFFmpegDto + */ + accel: TranscodeHWAccel; + /** + * + * @type {Array} + * @memberof SystemConfigFFmpegDto + */ + acceptedAudioCodecs: Array; + /** + * + * @type {Array} + * @memberof SystemConfigFFmpegDto + */ + acceptedVideoCodecs: Array; + /** + * + * @type {number} + * @memberof SystemConfigFFmpegDto + */ + bframes: number; + /** + * + * @type {CQMode} + * @memberof SystemConfigFFmpegDto + */ + cqMode: CQMode; + /** + * + * @type {number} + * @memberof SystemConfigFFmpegDto + */ + crf: number; + /** + * + * @type {number} + * @memberof SystemConfigFFmpegDto + */ + gopSize: number; + /** + * + * @type {string} + * @memberof SystemConfigFFmpegDto + */ + maxBitrate: string; + /** + * + * @type {number} + * @memberof SystemConfigFFmpegDto + */ + npl: number; + /** + * + * @type {string} + * @memberof SystemConfigFFmpegDto + */ + preferredHwDevice: string; + /** + * + * @type {string} + * @memberof SystemConfigFFmpegDto + */ + preset: string; + /** + * + * @type {number} + * @memberof SystemConfigFFmpegDto + */ + refs: number; + /** + * + * @type {AudioCodec} + * @memberof SystemConfigFFmpegDto + */ + targetAudioCodec: AudioCodec; + /** + * + * @type {string} + * @memberof SystemConfigFFmpegDto + */ + targetResolution: string; + /** + * + * @type {VideoCodec} + * @memberof SystemConfigFFmpegDto + */ + targetVideoCodec: VideoCodec; + /** + * + * @type {boolean} + * @memberof SystemConfigFFmpegDto + */ + temporalAQ: boolean; + /** + * + * @type {number} + * @memberof SystemConfigFFmpegDto + */ + threads: number; + /** + * + * @type {ToneMapping} + * @memberof SystemConfigFFmpegDto + */ + tonemap: ToneMapping; + /** + * + * @type {TranscodePolicy} + * @memberof SystemConfigFFmpegDto + */ + transcode: TranscodePolicy; + /** + * + * @type {boolean} + * @memberof SystemConfigFFmpegDto + */ + twoPass: boolean; +} + +/** + * Check if a given object implements the SystemConfigFFmpegDto interface. + */ +export function instanceOfSystemConfigFFmpegDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "accel" in value; + isInstance = isInstance && "acceptedAudioCodecs" in value; + isInstance = isInstance && "acceptedVideoCodecs" in value; + isInstance = isInstance && "bframes" in value; + isInstance = isInstance && "cqMode" in value; + isInstance = isInstance && "crf" in value; + isInstance = isInstance && "gopSize" in value; + isInstance = isInstance && "maxBitrate" in value; + isInstance = isInstance && "npl" in value; + isInstance = isInstance && "preferredHwDevice" in value; + isInstance = isInstance && "preset" in value; + isInstance = isInstance && "refs" in value; + isInstance = isInstance && "targetAudioCodec" in value; + isInstance = isInstance && "targetResolution" in value; + isInstance = isInstance && "targetVideoCodec" in value; + isInstance = isInstance && "temporalAQ" in value; + isInstance = isInstance && "threads" in value; + isInstance = isInstance && "tonemap" in value; + isInstance = isInstance && "transcode" in value; + isInstance = isInstance && "twoPass" in value; + + return isInstance; +} + +export function SystemConfigFFmpegDtoFromJSON(json: any): SystemConfigFFmpegDto { + return SystemConfigFFmpegDtoFromJSONTyped(json, false); +} + +export function SystemConfigFFmpegDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigFFmpegDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'accel': TranscodeHWAccelFromJSON(json['accel']), + 'acceptedAudioCodecs': ((json['acceptedAudioCodecs'] as Array).map(AudioCodecFromJSON)), + 'acceptedVideoCodecs': ((json['acceptedVideoCodecs'] as Array).map(VideoCodecFromJSON)), + 'bframes': json['bframes'], + 'cqMode': CQModeFromJSON(json['cqMode']), + 'crf': json['crf'], + 'gopSize': json['gopSize'], + 'maxBitrate': json['maxBitrate'], + 'npl': json['npl'], + 'preferredHwDevice': json['preferredHwDevice'], + 'preset': json['preset'], + 'refs': json['refs'], + 'targetAudioCodec': AudioCodecFromJSON(json['targetAudioCodec']), + 'targetResolution': json['targetResolution'], + 'targetVideoCodec': VideoCodecFromJSON(json['targetVideoCodec']), + 'temporalAQ': json['temporalAQ'], + 'threads': json['threads'], + 'tonemap': ToneMappingFromJSON(json['tonemap']), + 'transcode': TranscodePolicyFromJSON(json['transcode']), + 'twoPass': json['twoPass'], + }; +} + +export function SystemConfigFFmpegDtoToJSON(value?: SystemConfigFFmpegDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'accel': TranscodeHWAccelToJSON(value.accel), + 'acceptedAudioCodecs': ((value.acceptedAudioCodecs as Array).map(AudioCodecToJSON)), + 'acceptedVideoCodecs': ((value.acceptedVideoCodecs as Array).map(VideoCodecToJSON)), + 'bframes': value.bframes, + 'cqMode': CQModeToJSON(value.cqMode), + 'crf': value.crf, + 'gopSize': value.gopSize, + 'maxBitrate': value.maxBitrate, + 'npl': value.npl, + 'preferredHwDevice': value.preferredHwDevice, + 'preset': value.preset, + 'refs': value.refs, + 'targetAudioCodec': AudioCodecToJSON(value.targetAudioCodec), + 'targetResolution': value.targetResolution, + 'targetVideoCodec': VideoCodecToJSON(value.targetVideoCodec), + 'temporalAQ': value.temporalAQ, + 'threads': value.threads, + 'tonemap': ToneMappingToJSON(value.tonemap), + 'transcode': TranscodePolicyToJSON(value.transcode), + 'twoPass': value.twoPass, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigJobDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigJobDto.ts new file mode 100644 index 00000000000000..df18ca0c198623 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigJobDto.ts @@ -0,0 +1,154 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { JobSettingsDto } from './JobSettingsDto'; +import { + JobSettingsDtoFromJSON, + JobSettingsDtoFromJSONTyped, + JobSettingsDtoToJSON, +} from './JobSettingsDto'; + +/** + * + * @export + * @interface SystemConfigJobDto + */ +export interface SystemConfigJobDto { + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + backgroundTask: JobSettingsDto; + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + faceDetection: JobSettingsDto; + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + library: JobSettingsDto; + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + metadataExtraction: JobSettingsDto; + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + migration: JobSettingsDto; + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + search: JobSettingsDto; + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + sidecar: JobSettingsDto; + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + smartSearch: JobSettingsDto; + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + thumbnailGeneration: JobSettingsDto; + /** + * + * @type {JobSettingsDto} + * @memberof SystemConfigJobDto + */ + videoConversion: JobSettingsDto; +} + +/** + * Check if a given object implements the SystemConfigJobDto interface. + */ +export function instanceOfSystemConfigJobDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "backgroundTask" in value; + isInstance = isInstance && "faceDetection" in value; + isInstance = isInstance && "library" in value; + isInstance = isInstance && "metadataExtraction" in value; + isInstance = isInstance && "migration" in value; + isInstance = isInstance && "search" in value; + isInstance = isInstance && "sidecar" in value; + isInstance = isInstance && "smartSearch" in value; + isInstance = isInstance && "thumbnailGeneration" in value; + isInstance = isInstance && "videoConversion" in value; + + return isInstance; +} + +export function SystemConfigJobDtoFromJSON(json: any): SystemConfigJobDto { + return SystemConfigJobDtoFromJSONTyped(json, false); +} + +export function SystemConfigJobDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigJobDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'backgroundTask': JobSettingsDtoFromJSON(json['backgroundTask']), + 'faceDetection': JobSettingsDtoFromJSON(json['faceDetection']), + 'library': JobSettingsDtoFromJSON(json['library']), + 'metadataExtraction': JobSettingsDtoFromJSON(json['metadataExtraction']), + 'migration': JobSettingsDtoFromJSON(json['migration']), + 'search': JobSettingsDtoFromJSON(json['search']), + 'sidecar': JobSettingsDtoFromJSON(json['sidecar']), + 'smartSearch': JobSettingsDtoFromJSON(json['smartSearch']), + 'thumbnailGeneration': JobSettingsDtoFromJSON(json['thumbnailGeneration']), + 'videoConversion': JobSettingsDtoFromJSON(json['videoConversion']), + }; +} + +export function SystemConfigJobDtoToJSON(value?: SystemConfigJobDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'backgroundTask': JobSettingsDtoToJSON(value.backgroundTask), + 'faceDetection': JobSettingsDtoToJSON(value.faceDetection), + 'library': JobSettingsDtoToJSON(value.library), + 'metadataExtraction': JobSettingsDtoToJSON(value.metadataExtraction), + 'migration': JobSettingsDtoToJSON(value.migration), + 'search': JobSettingsDtoToJSON(value.search), + 'sidecar': JobSettingsDtoToJSON(value.sidecar), + 'smartSearch': JobSettingsDtoToJSON(value.smartSearch), + 'thumbnailGeneration': JobSettingsDtoToJSON(value.thumbnailGeneration), + 'videoConversion': JobSettingsDtoToJSON(value.videoConversion), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigLibraryDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigLibraryDto.ts new file mode 100644 index 00000000000000..78183bd3a2fa16 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigLibraryDto.ts @@ -0,0 +1,88 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { SystemConfigLibraryScanDto } from './SystemConfigLibraryScanDto'; +import { + SystemConfigLibraryScanDtoFromJSON, + SystemConfigLibraryScanDtoFromJSONTyped, + SystemConfigLibraryScanDtoToJSON, +} from './SystemConfigLibraryScanDto'; +import type { SystemConfigLibraryWatchDto } from './SystemConfigLibraryWatchDto'; +import { + SystemConfigLibraryWatchDtoFromJSON, + SystemConfigLibraryWatchDtoFromJSONTyped, + SystemConfigLibraryWatchDtoToJSON, +} from './SystemConfigLibraryWatchDto'; + +/** + * + * @export + * @interface SystemConfigLibraryDto + */ +export interface SystemConfigLibraryDto { + /** + * + * @type {SystemConfigLibraryScanDto} + * @memberof SystemConfigLibraryDto + */ + scan: SystemConfigLibraryScanDto; + /** + * + * @type {SystemConfigLibraryWatchDto} + * @memberof SystemConfigLibraryDto + */ + watch: SystemConfigLibraryWatchDto; +} + +/** + * Check if a given object implements the SystemConfigLibraryDto interface. + */ +export function instanceOfSystemConfigLibraryDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "scan" in value; + isInstance = isInstance && "watch" in value; + + return isInstance; +} + +export function SystemConfigLibraryDtoFromJSON(json: any): SystemConfigLibraryDto { + return SystemConfigLibraryDtoFromJSONTyped(json, false); +} + +export function SystemConfigLibraryDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigLibraryDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'scan': SystemConfigLibraryScanDtoFromJSON(json['scan']), + 'watch': SystemConfigLibraryWatchDtoFromJSON(json['watch']), + }; +} + +export function SystemConfigLibraryDtoToJSON(value?: SystemConfigLibraryDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'scan': SystemConfigLibraryScanDtoToJSON(value.scan), + 'watch': SystemConfigLibraryWatchDtoToJSON(value.watch), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigLibraryScanDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigLibraryScanDto.ts new file mode 100644 index 00000000000000..bd079fe202f8ad --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigLibraryScanDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigLibraryScanDto + */ +export interface SystemConfigLibraryScanDto { + /** + * + * @type {string} + * @memberof SystemConfigLibraryScanDto + */ + cronExpression: string; + /** + * + * @type {boolean} + * @memberof SystemConfigLibraryScanDto + */ + enabled: boolean; +} + +/** + * Check if a given object implements the SystemConfigLibraryScanDto interface. + */ +export function instanceOfSystemConfigLibraryScanDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "cronExpression" in value; + isInstance = isInstance && "enabled" in value; + + return isInstance; +} + +export function SystemConfigLibraryScanDtoFromJSON(json: any): SystemConfigLibraryScanDto { + return SystemConfigLibraryScanDtoFromJSONTyped(json, false); +} + +export function SystemConfigLibraryScanDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigLibraryScanDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'cronExpression': json['cronExpression'], + 'enabled': json['enabled'], + }; +} + +export function SystemConfigLibraryScanDtoToJSON(value?: SystemConfigLibraryScanDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'cronExpression': value.cronExpression, + 'enabled': value.enabled, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigLibraryWatchDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigLibraryWatchDto.ts new file mode 100644 index 00000000000000..3c69b99ed212cc --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigLibraryWatchDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigLibraryWatchDto + */ +export interface SystemConfigLibraryWatchDto { + /** + * + * @type {boolean} + * @memberof SystemConfigLibraryWatchDto + */ + enabled: boolean; + /** + * + * @type {number} + * @memberof SystemConfigLibraryWatchDto + */ + interval: number; + /** + * + * @type {boolean} + * @memberof SystemConfigLibraryWatchDto + */ + usePolling: boolean; +} + +/** + * Check if a given object implements the SystemConfigLibraryWatchDto interface. + */ +export function instanceOfSystemConfigLibraryWatchDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enabled" in value; + isInstance = isInstance && "interval" in value; + isInstance = isInstance && "usePolling" in value; + + return isInstance; +} + +export function SystemConfigLibraryWatchDtoFromJSON(json: any): SystemConfigLibraryWatchDto { + return SystemConfigLibraryWatchDtoFromJSONTyped(json, false); +} + +export function SystemConfigLibraryWatchDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigLibraryWatchDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enabled': json['enabled'], + 'interval': json['interval'], + 'usePolling': json['usePolling'], + }; +} + +export function SystemConfigLibraryWatchDtoToJSON(value?: SystemConfigLibraryWatchDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'enabled': value.enabled, + 'interval': value.interval, + 'usePolling': value.usePolling, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigLoggingDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigLoggingDto.ts new file mode 100644 index 00000000000000..5f9b4bc028d66b --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigLoggingDto.ts @@ -0,0 +1,82 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { LogLevel } from './LogLevel'; +import { + LogLevelFromJSON, + LogLevelFromJSONTyped, + LogLevelToJSON, +} from './LogLevel'; + +/** + * + * @export + * @interface SystemConfigLoggingDto + */ +export interface SystemConfigLoggingDto { + /** + * + * @type {boolean} + * @memberof SystemConfigLoggingDto + */ + enabled: boolean; + /** + * + * @type {LogLevel} + * @memberof SystemConfigLoggingDto + */ + level: LogLevel; +} + +/** + * Check if a given object implements the SystemConfigLoggingDto interface. + */ +export function instanceOfSystemConfigLoggingDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enabled" in value; + isInstance = isInstance && "level" in value; + + return isInstance; +} + +export function SystemConfigLoggingDtoFromJSON(json: any): SystemConfigLoggingDto { + return SystemConfigLoggingDtoFromJSONTyped(json, false); +} + +export function SystemConfigLoggingDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigLoggingDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enabled': json['enabled'], + 'level': LogLevelFromJSON(json['level']), + }; +} + +export function SystemConfigLoggingDtoToJSON(value?: SystemConfigLoggingDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'enabled': value.enabled, + 'level': LogLevelToJSON(value.level), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigMachineLearningDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigMachineLearningDto.ts new file mode 100644 index 00000000000000..16acca93d4bbc6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigMachineLearningDto.ts @@ -0,0 +1,106 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { CLIPConfig } from './CLIPConfig'; +import { + CLIPConfigFromJSON, + CLIPConfigFromJSONTyped, + CLIPConfigToJSON, +} from './CLIPConfig'; +import type { RecognitionConfig } from './RecognitionConfig'; +import { + RecognitionConfigFromJSON, + RecognitionConfigFromJSONTyped, + RecognitionConfigToJSON, +} from './RecognitionConfig'; + +/** + * + * @export + * @interface SystemConfigMachineLearningDto + */ +export interface SystemConfigMachineLearningDto { + /** + * + * @type {CLIPConfig} + * @memberof SystemConfigMachineLearningDto + */ + clip: CLIPConfig; + /** + * + * @type {boolean} + * @memberof SystemConfigMachineLearningDto + */ + enabled: boolean; + /** + * + * @type {RecognitionConfig} + * @memberof SystemConfigMachineLearningDto + */ + facialRecognition: RecognitionConfig; + /** + * + * @type {string} + * @memberof SystemConfigMachineLearningDto + */ + url: string; +} + +/** + * Check if a given object implements the SystemConfigMachineLearningDto interface. + */ +export function instanceOfSystemConfigMachineLearningDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "clip" in value; + isInstance = isInstance && "enabled" in value; + isInstance = isInstance && "facialRecognition" in value; + isInstance = isInstance && "url" in value; + + return isInstance; +} + +export function SystemConfigMachineLearningDtoFromJSON(json: any): SystemConfigMachineLearningDto { + return SystemConfigMachineLearningDtoFromJSONTyped(json, false); +} + +export function SystemConfigMachineLearningDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigMachineLearningDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'clip': CLIPConfigFromJSON(json['clip']), + 'enabled': json['enabled'], + 'facialRecognition': RecognitionConfigFromJSON(json['facialRecognition']), + 'url': json['url'], + }; +} + +export function SystemConfigMachineLearningDtoToJSON(value?: SystemConfigMachineLearningDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'clip': CLIPConfigToJSON(value.clip), + 'enabled': value.enabled, + 'facialRecognition': RecognitionConfigToJSON(value.facialRecognition), + 'url': value.url, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigMapDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigMapDto.ts new file mode 100644 index 00000000000000..0691fdafa51ffe --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigMapDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigMapDto + */ +export interface SystemConfigMapDto { + /** + * + * @type {string} + * @memberof SystemConfigMapDto + */ + darkStyle: string; + /** + * + * @type {boolean} + * @memberof SystemConfigMapDto + */ + enabled: boolean; + /** + * + * @type {string} + * @memberof SystemConfigMapDto + */ + lightStyle: string; +} + +/** + * Check if a given object implements the SystemConfigMapDto interface. + */ +export function instanceOfSystemConfigMapDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "darkStyle" in value; + isInstance = isInstance && "enabled" in value; + isInstance = isInstance && "lightStyle" in value; + + return isInstance; +} + +export function SystemConfigMapDtoFromJSON(json: any): SystemConfigMapDto { + return SystemConfigMapDtoFromJSONTyped(json, false); +} + +export function SystemConfigMapDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigMapDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'darkStyle': json['darkStyle'], + 'enabled': json['enabled'], + 'lightStyle': json['lightStyle'], + }; +} + +export function SystemConfigMapDtoToJSON(value?: SystemConfigMapDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'darkStyle': value.darkStyle, + 'enabled': value.enabled, + 'lightStyle': value.lightStyle, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigNewVersionCheckDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigNewVersionCheckDto.ts new file mode 100644 index 00000000000000..c8a4e5edb0b871 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigNewVersionCheckDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigNewVersionCheckDto + */ +export interface SystemConfigNewVersionCheckDto { + /** + * + * @type {boolean} + * @memberof SystemConfigNewVersionCheckDto + */ + enabled: boolean; +} + +/** + * Check if a given object implements the SystemConfigNewVersionCheckDto interface. + */ +export function instanceOfSystemConfigNewVersionCheckDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enabled" in value; + + return isInstance; +} + +export function SystemConfigNewVersionCheckDtoFromJSON(json: any): SystemConfigNewVersionCheckDto { + return SystemConfigNewVersionCheckDtoFromJSONTyped(json, false); +} + +export function SystemConfigNewVersionCheckDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigNewVersionCheckDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enabled': json['enabled'], + }; +} + +export function SystemConfigNewVersionCheckDtoToJSON(value?: SystemConfigNewVersionCheckDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'enabled': value.enabled, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigOAuthDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigOAuthDto.ts new file mode 100644 index 00000000000000..784d229eef66a8 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigOAuthDto.ts @@ -0,0 +1,165 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigOAuthDto + */ +export interface SystemConfigOAuthDto { + /** + * + * @type {boolean} + * @memberof SystemConfigOAuthDto + */ + autoLaunch: boolean; + /** + * + * @type {boolean} + * @memberof SystemConfigOAuthDto + */ + autoRegister: boolean; + /** + * + * @type {string} + * @memberof SystemConfigOAuthDto + */ + buttonText: string; + /** + * + * @type {string} + * @memberof SystemConfigOAuthDto + */ + clientId: string; + /** + * + * @type {string} + * @memberof SystemConfigOAuthDto + */ + clientSecret: string; + /** + * + * @type {boolean} + * @memberof SystemConfigOAuthDto + */ + enabled: boolean; + /** + * + * @type {string} + * @memberof SystemConfigOAuthDto + */ + issuerUrl: string; + /** + * + * @type {boolean} + * @memberof SystemConfigOAuthDto + */ + mobileOverrideEnabled: boolean; + /** + * + * @type {string} + * @memberof SystemConfigOAuthDto + */ + mobileRedirectUri: string; + /** + * + * @type {string} + * @memberof SystemConfigOAuthDto + */ + scope: string; + /** + * + * @type {string} + * @memberof SystemConfigOAuthDto + */ + signingAlgorithm: string; + /** + * + * @type {string} + * @memberof SystemConfigOAuthDto + */ + storageLabelClaim: string; +} + +/** + * Check if a given object implements the SystemConfigOAuthDto interface. + */ +export function instanceOfSystemConfigOAuthDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "autoLaunch" in value; + isInstance = isInstance && "autoRegister" in value; + isInstance = isInstance && "buttonText" in value; + isInstance = isInstance && "clientId" in value; + isInstance = isInstance && "clientSecret" in value; + isInstance = isInstance && "enabled" in value; + isInstance = isInstance && "issuerUrl" in value; + isInstance = isInstance && "mobileOverrideEnabled" in value; + isInstance = isInstance && "mobileRedirectUri" in value; + isInstance = isInstance && "scope" in value; + isInstance = isInstance && "signingAlgorithm" in value; + isInstance = isInstance && "storageLabelClaim" in value; + + return isInstance; +} + +export function SystemConfigOAuthDtoFromJSON(json: any): SystemConfigOAuthDto { + return SystemConfigOAuthDtoFromJSONTyped(json, false); +} + +export function SystemConfigOAuthDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigOAuthDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'autoLaunch': json['autoLaunch'], + 'autoRegister': json['autoRegister'], + 'buttonText': json['buttonText'], + 'clientId': json['clientId'], + 'clientSecret': json['clientSecret'], + 'enabled': json['enabled'], + 'issuerUrl': json['issuerUrl'], + 'mobileOverrideEnabled': json['mobileOverrideEnabled'], + 'mobileRedirectUri': json['mobileRedirectUri'], + 'scope': json['scope'], + 'signingAlgorithm': json['signingAlgorithm'], + 'storageLabelClaim': json['storageLabelClaim'], + }; +} + +export function SystemConfigOAuthDtoToJSON(value?: SystemConfigOAuthDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'autoLaunch': value.autoLaunch, + 'autoRegister': value.autoRegister, + 'buttonText': value.buttonText, + 'clientId': value.clientId, + 'clientSecret': value.clientSecret, + 'enabled': value.enabled, + 'issuerUrl': value.issuerUrl, + 'mobileOverrideEnabled': value.mobileOverrideEnabled, + 'mobileRedirectUri': value.mobileRedirectUri, + 'scope': value.scope, + 'signingAlgorithm': value.signingAlgorithm, + 'storageLabelClaim': value.storageLabelClaim, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigPasswordLoginDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigPasswordLoginDto.ts new file mode 100644 index 00000000000000..2e76b27a9e54bb --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigPasswordLoginDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigPasswordLoginDto + */ +export interface SystemConfigPasswordLoginDto { + /** + * + * @type {boolean} + * @memberof SystemConfigPasswordLoginDto + */ + enabled: boolean; +} + +/** + * Check if a given object implements the SystemConfigPasswordLoginDto interface. + */ +export function instanceOfSystemConfigPasswordLoginDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enabled" in value; + + return isInstance; +} + +export function SystemConfigPasswordLoginDtoFromJSON(json: any): SystemConfigPasswordLoginDto { + return SystemConfigPasswordLoginDtoFromJSONTyped(json, false); +} + +export function SystemConfigPasswordLoginDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigPasswordLoginDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enabled': json['enabled'], + }; +} + +export function SystemConfigPasswordLoginDtoToJSON(value?: SystemConfigPasswordLoginDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'enabled': value.enabled, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigReverseGeocodingDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigReverseGeocodingDto.ts new file mode 100644 index 00000000000000..95928108f6d2e1 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigReverseGeocodingDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigReverseGeocodingDto + */ +export interface SystemConfigReverseGeocodingDto { + /** + * + * @type {boolean} + * @memberof SystemConfigReverseGeocodingDto + */ + enabled: boolean; +} + +/** + * Check if a given object implements the SystemConfigReverseGeocodingDto interface. + */ +export function instanceOfSystemConfigReverseGeocodingDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enabled" in value; + + return isInstance; +} + +export function SystemConfigReverseGeocodingDtoFromJSON(json: any): SystemConfigReverseGeocodingDto { + return SystemConfigReverseGeocodingDtoFromJSONTyped(json, false); +} + +export function SystemConfigReverseGeocodingDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigReverseGeocodingDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enabled': json['enabled'], + }; +} + +export function SystemConfigReverseGeocodingDtoToJSON(value?: SystemConfigReverseGeocodingDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'enabled': value.enabled, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigServerDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigServerDto.ts new file mode 100644 index 00000000000000..ec54fa36d1539e --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigServerDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigServerDto + */ +export interface SystemConfigServerDto { + /** + * + * @type {string} + * @memberof SystemConfigServerDto + */ + externalDomain: string; + /** + * + * @type {string} + * @memberof SystemConfigServerDto + */ + loginPageMessage: string; +} + +/** + * Check if a given object implements the SystemConfigServerDto interface. + */ +export function instanceOfSystemConfigServerDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "externalDomain" in value; + isInstance = isInstance && "loginPageMessage" in value; + + return isInstance; +} + +export function SystemConfigServerDtoFromJSON(json: any): SystemConfigServerDto { + return SystemConfigServerDtoFromJSONTyped(json, false); +} + +export function SystemConfigServerDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigServerDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'externalDomain': json['externalDomain'], + 'loginPageMessage': json['loginPageMessage'], + }; +} + +export function SystemConfigServerDtoToJSON(value?: SystemConfigServerDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'externalDomain': value.externalDomain, + 'loginPageMessage': value.loginPageMessage, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigStorageTemplateDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigStorageTemplateDto.ts new file mode 100644 index 00000000000000..b55172ceb616fa --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigStorageTemplateDto.ts @@ -0,0 +1,84 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigStorageTemplateDto + */ +export interface SystemConfigStorageTemplateDto { + /** + * + * @type {boolean} + * @memberof SystemConfigStorageTemplateDto + */ + enabled: boolean; + /** + * + * @type {boolean} + * @memberof SystemConfigStorageTemplateDto + */ + hashVerificationEnabled: boolean; + /** + * + * @type {string} + * @memberof SystemConfigStorageTemplateDto + */ + template: string; +} + +/** + * Check if a given object implements the SystemConfigStorageTemplateDto interface. + */ +export function instanceOfSystemConfigStorageTemplateDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "enabled" in value; + isInstance = isInstance && "hashVerificationEnabled" in value; + isInstance = isInstance && "template" in value; + + return isInstance; +} + +export function SystemConfigStorageTemplateDtoFromJSON(json: any): SystemConfigStorageTemplateDto { + return SystemConfigStorageTemplateDtoFromJSONTyped(json, false); +} + +export function SystemConfigStorageTemplateDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigStorageTemplateDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'enabled': json['enabled'], + 'hashVerificationEnabled': json['hashVerificationEnabled'], + 'template': json['template'], + }; +} + +export function SystemConfigStorageTemplateDtoToJSON(value?: SystemConfigStorageTemplateDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'enabled': value.enabled, + 'hashVerificationEnabled': value.hashVerificationEnabled, + 'template': value.template, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigTemplateStorageOptionDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigTemplateStorageOptionDto.ts new file mode 100644 index 00000000000000..f38d86a000c1c4 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigTemplateStorageOptionDto.ts @@ -0,0 +1,129 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigTemplateStorageOptionDto + */ +export interface SystemConfigTemplateStorageOptionDto { + /** + * + * @type {Array} + * @memberof SystemConfigTemplateStorageOptionDto + */ + dayOptions: Array; + /** + * + * @type {Array} + * @memberof SystemConfigTemplateStorageOptionDto + */ + hourOptions: Array; + /** + * + * @type {Array} + * @memberof SystemConfigTemplateStorageOptionDto + */ + minuteOptions: Array; + /** + * + * @type {Array} + * @memberof SystemConfigTemplateStorageOptionDto + */ + monthOptions: Array; + /** + * + * @type {Array} + * @memberof SystemConfigTemplateStorageOptionDto + */ + presetOptions: Array; + /** + * + * @type {Array} + * @memberof SystemConfigTemplateStorageOptionDto + */ + secondOptions: Array; + /** + * + * @type {Array} + * @memberof SystemConfigTemplateStorageOptionDto + */ + weekOptions: Array; + /** + * + * @type {Array} + * @memberof SystemConfigTemplateStorageOptionDto + */ + yearOptions: Array; +} + +/** + * Check if a given object implements the SystemConfigTemplateStorageOptionDto interface. + */ +export function instanceOfSystemConfigTemplateStorageOptionDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "dayOptions" in value; + isInstance = isInstance && "hourOptions" in value; + isInstance = isInstance && "minuteOptions" in value; + isInstance = isInstance && "monthOptions" in value; + isInstance = isInstance && "presetOptions" in value; + isInstance = isInstance && "secondOptions" in value; + isInstance = isInstance && "weekOptions" in value; + isInstance = isInstance && "yearOptions" in value; + + return isInstance; +} + +export function SystemConfigTemplateStorageOptionDtoFromJSON(json: any): SystemConfigTemplateStorageOptionDto { + return SystemConfigTemplateStorageOptionDtoFromJSONTyped(json, false); +} + +export function SystemConfigTemplateStorageOptionDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigTemplateStorageOptionDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'dayOptions': json['dayOptions'], + 'hourOptions': json['hourOptions'], + 'minuteOptions': json['minuteOptions'], + 'monthOptions': json['monthOptions'], + 'presetOptions': json['presetOptions'], + 'secondOptions': json['secondOptions'], + 'weekOptions': json['weekOptions'], + 'yearOptions': json['yearOptions'], + }; +} + +export function SystemConfigTemplateStorageOptionDtoToJSON(value?: SystemConfigTemplateStorageOptionDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'dayOptions': value.dayOptions, + 'hourOptions': value.hourOptions, + 'minuteOptions': value.minuteOptions, + 'monthOptions': value.monthOptions, + 'presetOptions': value.presetOptions, + 'secondOptions': value.secondOptions, + 'weekOptions': value.weekOptions, + 'yearOptions': value.yearOptions, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigThemeDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigThemeDto.ts new file mode 100644 index 00000000000000..73ec8ea633e18f --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigThemeDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigThemeDto + */ +export interface SystemConfigThemeDto { + /** + * + * @type {string} + * @memberof SystemConfigThemeDto + */ + customCss: string; +} + +/** + * Check if a given object implements the SystemConfigThemeDto interface. + */ +export function instanceOfSystemConfigThemeDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "customCss" in value; + + return isInstance; +} + +export function SystemConfigThemeDtoFromJSON(json: any): SystemConfigThemeDto { + return SystemConfigThemeDtoFromJSONTyped(json, false); +} + +export function SystemConfigThemeDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigThemeDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'customCss': json['customCss'], + }; +} + +export function SystemConfigThemeDtoToJSON(value?: SystemConfigThemeDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'customCss': value.customCss, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigThumbnailDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigThumbnailDto.ts new file mode 100644 index 00000000000000..c2f32782c43db9 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigThumbnailDto.ts @@ -0,0 +1,100 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { Colorspace } from './Colorspace'; +import { + ColorspaceFromJSON, + ColorspaceFromJSONTyped, + ColorspaceToJSON, +} from './Colorspace'; + +/** + * + * @export + * @interface SystemConfigThumbnailDto + */ +export interface SystemConfigThumbnailDto { + /** + * + * @type {Colorspace} + * @memberof SystemConfigThumbnailDto + */ + colorspace: Colorspace; + /** + * + * @type {number} + * @memberof SystemConfigThumbnailDto + */ + jpegSize: number; + /** + * + * @type {number} + * @memberof SystemConfigThumbnailDto + */ + quality: number; + /** + * + * @type {number} + * @memberof SystemConfigThumbnailDto + */ + webpSize: number; +} + +/** + * Check if a given object implements the SystemConfigThumbnailDto interface. + */ +export function instanceOfSystemConfigThumbnailDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "colorspace" in value; + isInstance = isInstance && "jpegSize" in value; + isInstance = isInstance && "quality" in value; + isInstance = isInstance && "webpSize" in value; + + return isInstance; +} + +export function SystemConfigThumbnailDtoFromJSON(json: any): SystemConfigThumbnailDto { + return SystemConfigThumbnailDtoFromJSONTyped(json, false); +} + +export function SystemConfigThumbnailDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigThumbnailDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'colorspace': ColorspaceFromJSON(json['colorspace']), + 'jpegSize': json['jpegSize'], + 'quality': json['quality'], + 'webpSize': json['webpSize'], + }; +} + +export function SystemConfigThumbnailDtoToJSON(value?: SystemConfigThumbnailDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'colorspace': ColorspaceToJSON(value.colorspace), + 'jpegSize': value.jpegSize, + 'quality': value.quality, + 'webpSize': value.webpSize, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/SystemConfigTrashDto.ts b/open-api/typescript-sdk/fetch-client/models/SystemConfigTrashDto.ts new file mode 100644 index 00000000000000..704ae17e2ffca1 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/SystemConfigTrashDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface SystemConfigTrashDto + */ +export interface SystemConfigTrashDto { + /** + * + * @type {number} + * @memberof SystemConfigTrashDto + */ + days: number; + /** + * + * @type {boolean} + * @memberof SystemConfigTrashDto + */ + enabled: boolean; +} + +/** + * Check if a given object implements the SystemConfigTrashDto interface. + */ +export function instanceOfSystemConfigTrashDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "days" in value; + isInstance = isInstance && "enabled" in value; + + return isInstance; +} + +export function SystemConfigTrashDtoFromJSON(json: any): SystemConfigTrashDto { + return SystemConfigTrashDtoFromJSONTyped(json, false); +} + +export function SystemConfigTrashDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): SystemConfigTrashDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'days': json['days'], + 'enabled': json['enabled'], + }; +} + +export function SystemConfigTrashDtoToJSON(value?: SystemConfigTrashDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'days': value.days, + 'enabled': value.enabled, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/TagResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/TagResponseDto.ts new file mode 100644 index 00000000000000..9cada1ceccab22 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/TagResponseDto.ts @@ -0,0 +1,100 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { TagTypeEnum } from './TagTypeEnum'; +import { + TagTypeEnumFromJSON, + TagTypeEnumFromJSONTyped, + TagTypeEnumToJSON, +} from './TagTypeEnum'; + +/** + * + * @export + * @interface TagResponseDto + */ +export interface TagResponseDto { + /** + * + * @type {string} + * @memberof TagResponseDto + */ + id: string; + /** + * + * @type {string} + * @memberof TagResponseDto + */ + name: string; + /** + * + * @type {TagTypeEnum} + * @memberof TagResponseDto + */ + type: TagTypeEnum; + /** + * + * @type {string} + * @memberof TagResponseDto + */ + userId: string; +} + +/** + * Check if a given object implements the TagResponseDto interface. + */ +export function instanceOfTagResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "type" in value; + isInstance = isInstance && "userId" in value; + + return isInstance; +} + +export function TagResponseDtoFromJSON(json: any): TagResponseDto { + return TagResponseDtoFromJSONTyped(json, false); +} + +export function TagResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TagResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'id': json['id'], + 'name': json['name'], + 'type': TagTypeEnumFromJSON(json['type']), + 'userId': json['userId'], + }; +} + +export function TagResponseDtoToJSON(value?: TagResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'id': value.id, + 'name': value.name, + 'type': TagTypeEnumToJSON(value.type), + 'userId': value.userId, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/TagTypeEnum.ts b/open-api/typescript-sdk/fetch-client/models/TagTypeEnum.ts new file mode 100644 index 00000000000000..e2677cb88b69b9 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/TagTypeEnum.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const TagTypeEnum = { + Object: 'OBJECT', + Face: 'FACE', + Custom: 'CUSTOM' +} as const; +export type TagTypeEnum = typeof TagTypeEnum[keyof typeof TagTypeEnum]; + + +export function TagTypeEnumFromJSON(json: any): TagTypeEnum { + return TagTypeEnumFromJSONTyped(json, false); +} + +export function TagTypeEnumFromJSONTyped(json: any, ignoreDiscriminator: boolean): TagTypeEnum { + return json as TagTypeEnum; +} + +export function TagTypeEnumToJSON(value?: TagTypeEnum | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ThumbnailFormat.ts b/open-api/typescript-sdk/fetch-client/models/ThumbnailFormat.ts new file mode 100644 index 00000000000000..653f0f6a974917 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ThumbnailFormat.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ThumbnailFormat = { + Jpeg: 'JPEG', + Webp: 'WEBP' +} as const; +export type ThumbnailFormat = typeof ThumbnailFormat[keyof typeof ThumbnailFormat]; + + +export function ThumbnailFormatFromJSON(json: any): ThumbnailFormat { + return ThumbnailFormatFromJSONTyped(json, false); +} + +export function ThumbnailFormatFromJSONTyped(json: any, ignoreDiscriminator: boolean): ThumbnailFormat { + return json as ThumbnailFormat; +} + +export function ThumbnailFormatToJSON(value?: ThumbnailFormat | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/TimeBucketResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/TimeBucketResponseDto.ts new file mode 100644 index 00000000000000..325691f47e08ea --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/TimeBucketResponseDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface TimeBucketResponseDto + */ +export interface TimeBucketResponseDto { + /** + * + * @type {number} + * @memberof TimeBucketResponseDto + */ + count: number; + /** + * + * @type {string} + * @memberof TimeBucketResponseDto + */ + timeBucket: string; +} + +/** + * Check if a given object implements the TimeBucketResponseDto interface. + */ +export function instanceOfTimeBucketResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "count" in value; + isInstance = isInstance && "timeBucket" in value; + + return isInstance; +} + +export function TimeBucketResponseDtoFromJSON(json: any): TimeBucketResponseDto { + return TimeBucketResponseDtoFromJSONTyped(json, false); +} + +export function TimeBucketResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): TimeBucketResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'count': json['count'], + 'timeBucket': json['timeBucket'], + }; +} + +export function TimeBucketResponseDtoToJSON(value?: TimeBucketResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'count': value.count, + 'timeBucket': value.timeBucket, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/TimeBucketSize.ts b/open-api/typescript-sdk/fetch-client/models/TimeBucketSize.ts new file mode 100644 index 00000000000000..d21da0cf1bb15e --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/TimeBucketSize.ts @@ -0,0 +1,38 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const TimeBucketSize = { + Day: 'DAY', + Month: 'MONTH' +} as const; +export type TimeBucketSize = typeof TimeBucketSize[keyof typeof TimeBucketSize]; + + +export function TimeBucketSizeFromJSON(json: any): TimeBucketSize { + return TimeBucketSizeFromJSONTyped(json, false); +} + +export function TimeBucketSizeFromJSONTyped(json: any, ignoreDiscriminator: boolean): TimeBucketSize { + return json as TimeBucketSize; +} + +export function TimeBucketSizeToJSON(value?: TimeBucketSize | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ToneMapping.ts b/open-api/typescript-sdk/fetch-client/models/ToneMapping.ts new file mode 100644 index 00000000000000..48a42cd3280a1e --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ToneMapping.ts @@ -0,0 +1,40 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const ToneMapping = { + Hable: 'hable', + Mobius: 'mobius', + Reinhard: 'reinhard', + Disabled: 'disabled' +} as const; +export type ToneMapping = typeof ToneMapping[keyof typeof ToneMapping]; + + +export function ToneMappingFromJSON(json: any): ToneMapping { + return ToneMappingFromJSONTyped(json, false); +} + +export function ToneMappingFromJSONTyped(json: any, ignoreDiscriminator: boolean): ToneMapping { + return json as ToneMapping; +} + +export function ToneMappingToJSON(value?: ToneMapping | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/TranscodeHWAccel.ts b/open-api/typescript-sdk/fetch-client/models/TranscodeHWAccel.ts new file mode 100644 index 00000000000000..7de80988da764c --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/TranscodeHWAccel.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const TranscodeHWAccel = { + Nvenc: 'nvenc', + Qsv: 'qsv', + Vaapi: 'vaapi', + Rkmpp: 'rkmpp', + Disabled: 'disabled' +} as const; +export type TranscodeHWAccel = typeof TranscodeHWAccel[keyof typeof TranscodeHWAccel]; + + +export function TranscodeHWAccelFromJSON(json: any): TranscodeHWAccel { + return TranscodeHWAccelFromJSONTyped(json, false); +} + +export function TranscodeHWAccelFromJSONTyped(json: any, ignoreDiscriminator: boolean): TranscodeHWAccel { + return json as TranscodeHWAccel; +} + +export function TranscodeHWAccelToJSON(value?: TranscodeHWAccel | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/TranscodePolicy.ts b/open-api/typescript-sdk/fetch-client/models/TranscodePolicy.ts new file mode 100644 index 00000000000000..96afdbd6080ad9 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/TranscodePolicy.ts @@ -0,0 +1,41 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const TranscodePolicy = { + All: 'all', + Optimal: 'optimal', + Bitrate: 'bitrate', + Required: 'required', + Disabled: 'disabled' +} as const; +export type TranscodePolicy = typeof TranscodePolicy[keyof typeof TranscodePolicy]; + + +export function TranscodePolicyFromJSON(json: any): TranscodePolicy { + return TranscodePolicyFromJSONTyped(json, false); +} + +export function TranscodePolicyFromJSONTyped(json: any, ignoreDiscriminator: boolean): TranscodePolicy { + return json as TranscodePolicy; +} + +export function TranscodePolicyToJSON(value?: TranscodePolicy | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UpdateAlbumDto.ts b/open-api/typescript-sdk/fetch-client/models/UpdateAlbumDto.ts new file mode 100644 index 00000000000000..d6fe84172b6777 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UpdateAlbumDto.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface UpdateAlbumDto + */ +export interface UpdateAlbumDto { + /** + * + * @type {string} + * @memberof UpdateAlbumDto + */ + albumName?: string; + /** + * + * @type {string} + * @memberof UpdateAlbumDto + */ + albumThumbnailAssetId?: string; + /** + * + * @type {string} + * @memberof UpdateAlbumDto + */ + description?: string; + /** + * + * @type {boolean} + * @memberof UpdateAlbumDto + */ + isActivityEnabled?: boolean; +} + +/** + * Check if a given object implements the UpdateAlbumDto interface. + */ +export function instanceOfUpdateAlbumDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateAlbumDtoFromJSON(json: any): UpdateAlbumDto { + return UpdateAlbumDtoFromJSONTyped(json, false); +} + +export function UpdateAlbumDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateAlbumDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'albumName': !exists(json, 'albumName') ? undefined : json['albumName'], + 'albumThumbnailAssetId': !exists(json, 'albumThumbnailAssetId') ? undefined : json['albumThumbnailAssetId'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'isActivityEnabled': !exists(json, 'isActivityEnabled') ? undefined : json['isActivityEnabled'], + }; +} + +export function UpdateAlbumDtoToJSON(value?: UpdateAlbumDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'albumName': value.albumName, + 'albumThumbnailAssetId': value.albumThumbnailAssetId, + 'description': value.description, + 'isActivityEnabled': value.isActivityEnabled, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UpdateAssetDto.ts b/open-api/typescript-sdk/fetch-client/models/UpdateAssetDto.ts new file mode 100644 index 00000000000000..de19f0acca5445 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UpdateAssetDto.ts @@ -0,0 +1,105 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface UpdateAssetDto + */ +export interface UpdateAssetDto { + /** + * + * @type {string} + * @memberof UpdateAssetDto + */ + dateTimeOriginal?: string; + /** + * + * @type {string} + * @memberof UpdateAssetDto + */ + description?: string; + /** + * + * @type {boolean} + * @memberof UpdateAssetDto + */ + isArchived?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateAssetDto + */ + isFavorite?: boolean; + /** + * + * @type {number} + * @memberof UpdateAssetDto + */ + latitude?: number; + /** + * + * @type {number} + * @memberof UpdateAssetDto + */ + longitude?: number; +} + +/** + * Check if a given object implements the UpdateAssetDto interface. + */ +export function instanceOfUpdateAssetDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateAssetDtoFromJSON(json: any): UpdateAssetDto { + return UpdateAssetDtoFromJSONTyped(json, false); +} + +export function UpdateAssetDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateAssetDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'dateTimeOriginal': !exists(json, 'dateTimeOriginal') ? undefined : json['dateTimeOriginal'], + 'description': !exists(json, 'description') ? undefined : json['description'], + 'isArchived': !exists(json, 'isArchived') ? undefined : json['isArchived'], + 'isFavorite': !exists(json, 'isFavorite') ? undefined : json['isFavorite'], + 'latitude': !exists(json, 'latitude') ? undefined : json['latitude'], + 'longitude': !exists(json, 'longitude') ? undefined : json['longitude'], + }; +} + +export function UpdateAssetDtoToJSON(value?: UpdateAssetDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'dateTimeOriginal': value.dateTimeOriginal, + 'description': value.description, + 'isArchived': value.isArchived, + 'isFavorite': value.isFavorite, + 'latitude': value.latitude, + 'longitude': value.longitude, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UpdateLibraryDto.ts b/open-api/typescript-sdk/fetch-client/models/UpdateLibraryDto.ts new file mode 100644 index 00000000000000..4a7c42f45dbaec --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UpdateLibraryDto.ts @@ -0,0 +1,89 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface UpdateLibraryDto + */ +export interface UpdateLibraryDto { + /** + * + * @type {Array} + * @memberof UpdateLibraryDto + */ + exclusionPatterns?: Array; + /** + * + * @type {Array} + * @memberof UpdateLibraryDto + */ + importPaths?: Array; + /** + * + * @type {boolean} + * @memberof UpdateLibraryDto + */ + isVisible?: boolean; + /** + * + * @type {string} + * @memberof UpdateLibraryDto + */ + name?: string; +} + +/** + * Check if a given object implements the UpdateLibraryDto interface. + */ +export function instanceOfUpdateLibraryDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateLibraryDtoFromJSON(json: any): UpdateLibraryDto { + return UpdateLibraryDtoFromJSONTyped(json, false); +} + +export function UpdateLibraryDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateLibraryDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'exclusionPatterns': !exists(json, 'exclusionPatterns') ? undefined : json['exclusionPatterns'], + 'importPaths': !exists(json, 'importPaths') ? undefined : json['importPaths'], + 'isVisible': !exists(json, 'isVisible') ? undefined : json['isVisible'], + 'name': !exists(json, 'name') ? undefined : json['name'], + }; +} + +export function UpdateLibraryDtoToJSON(value?: UpdateLibraryDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'exclusionPatterns': value.exclusionPatterns, + 'importPaths': value.importPaths, + 'isVisible': value.isVisible, + 'name': value.name, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UpdatePartnerDto.ts b/open-api/typescript-sdk/fetch-client/models/UpdatePartnerDto.ts new file mode 100644 index 00000000000000..7f0746223050e2 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UpdatePartnerDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface UpdatePartnerDto + */ +export interface UpdatePartnerDto { + /** + * + * @type {boolean} + * @memberof UpdatePartnerDto + */ + inTimeline: boolean; +} + +/** + * Check if a given object implements the UpdatePartnerDto interface. + */ +export function instanceOfUpdatePartnerDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "inTimeline" in value; + + return isInstance; +} + +export function UpdatePartnerDtoFromJSON(json: any): UpdatePartnerDto { + return UpdatePartnerDtoFromJSONTyped(json, false); +} + +export function UpdatePartnerDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdatePartnerDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'inTimeline': json['inTimeline'], + }; +} + +export function UpdatePartnerDtoToJSON(value?: UpdatePartnerDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'inTimeline': value.inTimeline, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UpdateStackParentDto.ts b/open-api/typescript-sdk/fetch-client/models/UpdateStackParentDto.ts new file mode 100644 index 00000000000000..930d6f4ad6180e --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UpdateStackParentDto.ts @@ -0,0 +1,75 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface UpdateStackParentDto + */ +export interface UpdateStackParentDto { + /** + * + * @type {string} + * @memberof UpdateStackParentDto + */ + newParentId: string; + /** + * + * @type {string} + * @memberof UpdateStackParentDto + */ + oldParentId: string; +} + +/** + * Check if a given object implements the UpdateStackParentDto interface. + */ +export function instanceOfUpdateStackParentDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "newParentId" in value; + isInstance = isInstance && "oldParentId" in value; + + return isInstance; +} + +export function UpdateStackParentDtoFromJSON(json: any): UpdateStackParentDto { + return UpdateStackParentDtoFromJSONTyped(json, false); +} + +export function UpdateStackParentDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateStackParentDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'newParentId': json['newParentId'], + 'oldParentId': json['oldParentId'], + }; +} + +export function UpdateStackParentDtoToJSON(value?: UpdateStackParentDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'newParentId': value.newParentId, + 'oldParentId': value.oldParentId, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UpdateTagDto.ts b/open-api/typescript-sdk/fetch-client/models/UpdateTagDto.ts new file mode 100644 index 00000000000000..dcc606048c6c70 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UpdateTagDto.ts @@ -0,0 +1,65 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface UpdateTagDto + */ +export interface UpdateTagDto { + /** + * + * @type {string} + * @memberof UpdateTagDto + */ + name?: string; +} + +/** + * Check if a given object implements the UpdateTagDto interface. + */ +export function instanceOfUpdateTagDto(value: object): boolean { + let isInstance = true; + + return isInstance; +} + +export function UpdateTagDtoFromJSON(json: any): UpdateTagDto { + return UpdateTagDtoFromJSONTyped(json, false); +} + +export function UpdateTagDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateTagDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'name': !exists(json, 'name') ? undefined : json['name'], + }; +} + +export function UpdateTagDtoToJSON(value?: UpdateTagDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'name': value.name, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UpdateUserDto.ts b/open-api/typescript-sdk/fetch-client/models/UpdateUserDto.ts new file mode 100644 index 00000000000000..8b6bc2fa975a15 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UpdateUserDto.ts @@ -0,0 +1,153 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserAvatarColor } from './UserAvatarColor'; +import { + UserAvatarColorFromJSON, + UserAvatarColorFromJSONTyped, + UserAvatarColorToJSON, +} from './UserAvatarColor'; + +/** + * + * @export + * @interface UpdateUserDto + */ +export interface UpdateUserDto { + /** + * + * @type {UserAvatarColor} + * @memberof UpdateUserDto + */ + avatarColor?: UserAvatarColor; + /** + * + * @type {string} + * @memberof UpdateUserDto + */ + email?: string; + /** + * + * @type {string} + * @memberof UpdateUserDto + */ + externalPath?: string; + /** + * + * @type {string} + * @memberof UpdateUserDto + */ + id: string; + /** + * + * @type {boolean} + * @memberof UpdateUserDto + */ + isAdmin?: boolean; + /** + * + * @type {boolean} + * @memberof UpdateUserDto + */ + memoriesEnabled?: boolean; + /** + * + * @type {string} + * @memberof UpdateUserDto + */ + name?: string; + /** + * + * @type {string} + * @memberof UpdateUserDto + */ + password?: string; + /** + * + * @type {number} + * @memberof UpdateUserDto + */ + quotaSizeInBytes?: number | null; + /** + * + * @type {boolean} + * @memberof UpdateUserDto + */ + shouldChangePassword?: boolean; + /** + * + * @type {string} + * @memberof UpdateUserDto + */ + storageLabel?: string; +} + +/** + * Check if a given object implements the UpdateUserDto interface. + */ +export function instanceOfUpdateUserDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "id" in value; + + return isInstance; +} + +export function UpdateUserDtoFromJSON(json: any): UpdateUserDto { + return UpdateUserDtoFromJSONTyped(json, false); +} + +export function UpdateUserDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UpdateUserDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'avatarColor': !exists(json, 'avatarColor') ? undefined : UserAvatarColorFromJSON(json['avatarColor']), + 'email': !exists(json, 'email') ? undefined : json['email'], + 'externalPath': !exists(json, 'externalPath') ? undefined : json['externalPath'], + 'id': json['id'], + 'isAdmin': !exists(json, 'isAdmin') ? undefined : json['isAdmin'], + 'memoriesEnabled': !exists(json, 'memoriesEnabled') ? undefined : json['memoriesEnabled'], + 'name': !exists(json, 'name') ? undefined : json['name'], + 'password': !exists(json, 'password') ? undefined : json['password'], + 'quotaSizeInBytes': !exists(json, 'quotaSizeInBytes') ? undefined : json['quotaSizeInBytes'], + 'shouldChangePassword': !exists(json, 'shouldChangePassword') ? undefined : json['shouldChangePassword'], + 'storageLabel': !exists(json, 'storageLabel') ? undefined : json['storageLabel'], + }; +} + +export function UpdateUserDtoToJSON(value?: UpdateUserDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'avatarColor': UserAvatarColorToJSON(value.avatarColor), + 'email': value.email, + 'externalPath': value.externalPath, + 'id': value.id, + 'isAdmin': value.isAdmin, + 'memoriesEnabled': value.memoriesEnabled, + 'name': value.name, + 'password': value.password, + 'quotaSizeInBytes': value.quotaSizeInBytes, + 'shouldChangePassword': value.shouldChangePassword, + 'storageLabel': value.storageLabel, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UsageByUserDto.ts b/open-api/typescript-sdk/fetch-client/models/UsageByUserDto.ts new file mode 100644 index 00000000000000..bb66d92654adc6 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UsageByUserDto.ts @@ -0,0 +1,111 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface UsageByUserDto + */ +export interface UsageByUserDto { + /** + * + * @type {number} + * @memberof UsageByUserDto + */ + photos: number; + /** + * + * @type {number} + * @memberof UsageByUserDto + */ + quotaSizeInBytes: number | null; + /** + * + * @type {number} + * @memberof UsageByUserDto + */ + usage: number; + /** + * + * @type {string} + * @memberof UsageByUserDto + */ + userId: string; + /** + * + * @type {string} + * @memberof UsageByUserDto + */ + userName: string; + /** + * + * @type {number} + * @memberof UsageByUserDto + */ + videos: number; +} + +/** + * Check if a given object implements the UsageByUserDto interface. + */ +export function instanceOfUsageByUserDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "photos" in value; + isInstance = isInstance && "quotaSizeInBytes" in value; + isInstance = isInstance && "usage" in value; + isInstance = isInstance && "userId" in value; + isInstance = isInstance && "userName" in value; + isInstance = isInstance && "videos" in value; + + return isInstance; +} + +export function UsageByUserDtoFromJSON(json: any): UsageByUserDto { + return UsageByUserDtoFromJSONTyped(json, false); +} + +export function UsageByUserDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UsageByUserDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'photos': json['photos'], + 'quotaSizeInBytes': json['quotaSizeInBytes'], + 'usage': json['usage'], + 'userId': json['userId'], + 'userName': json['userName'], + 'videos': json['videos'], + }; +} + +export function UsageByUserDtoToJSON(value?: UsageByUserDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'photos': value.photos, + 'quotaSizeInBytes': value.quotaSizeInBytes, + 'usage': value.usage, + 'userId': value.userId, + 'userName': value.userName, + 'videos': value.videos, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UserAvatarColor.ts b/open-api/typescript-sdk/fetch-client/models/UserAvatarColor.ts new file mode 100644 index 00000000000000..cf7632a3f33129 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UserAvatarColor.ts @@ -0,0 +1,46 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const UserAvatarColor = { + Primary: 'primary', + Pink: 'pink', + Red: 'red', + Yellow: 'yellow', + Blue: 'blue', + Green: 'green', + Purple: 'purple', + Orange: 'orange', + Gray: 'gray', + Amber: 'amber' +} as const; +export type UserAvatarColor = typeof UserAvatarColor[keyof typeof UserAvatarColor]; + + +export function UserAvatarColorFromJSON(json: any): UserAvatarColor { + return UserAvatarColorFromJSONTyped(json, false); +} + +export function UserAvatarColorFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserAvatarColor { + return json as UserAvatarColor; +} + +export function UserAvatarColorToJSON(value?: UserAvatarColor | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UserDto.ts b/open-api/typescript-sdk/fetch-client/models/UserDto.ts new file mode 100644 index 00000000000000..40d35810a835e4 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UserDto.ts @@ -0,0 +1,109 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserAvatarColor } from './UserAvatarColor'; +import { + UserAvatarColorFromJSON, + UserAvatarColorFromJSONTyped, + UserAvatarColorToJSON, +} from './UserAvatarColor'; + +/** + * + * @export + * @interface UserDto + */ +export interface UserDto { + /** + * + * @type {UserAvatarColor} + * @memberof UserDto + */ + avatarColor: UserAvatarColor; + /** + * + * @type {string} + * @memberof UserDto + */ + email: string; + /** + * + * @type {string} + * @memberof UserDto + */ + id: string; + /** + * + * @type {string} + * @memberof UserDto + */ + name: string; + /** + * + * @type {string} + * @memberof UserDto + */ + profileImagePath: string; +} + +/** + * Check if a given object implements the UserDto interface. + */ +export function instanceOfUserDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "avatarColor" in value; + isInstance = isInstance && "email" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "profileImagePath" in value; + + return isInstance; +} + +export function UserDtoFromJSON(json: any): UserDto { + return UserDtoFromJSONTyped(json, false); +} + +export function UserDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'avatarColor': UserAvatarColorFromJSON(json['avatarColor']), + 'email': json['email'], + 'id': json['id'], + 'name': json['name'], + 'profileImagePath': json['profileImagePath'], + }; +} + +export function UserDtoToJSON(value?: UserDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'avatarColor': UserAvatarColorToJSON(value.avatarColor), + 'email': value.email, + 'id': value.id, + 'name': value.name, + 'profileImagePath': value.profileImagePath, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/UserResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/UserResponseDto.ts new file mode 100644 index 00000000000000..b606a3052cfaa8 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/UserResponseDto.ts @@ -0,0 +1,207 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +import type { UserAvatarColor } from './UserAvatarColor'; +import { + UserAvatarColorFromJSON, + UserAvatarColorFromJSONTyped, + UserAvatarColorToJSON, +} from './UserAvatarColor'; + +/** + * + * @export + * @interface UserResponseDto + */ +export interface UserResponseDto { + /** + * + * @type {UserAvatarColor} + * @memberof UserResponseDto + */ + avatarColor: UserAvatarColor; + /** + * + * @type {Date} + * @memberof UserResponseDto + */ + createdAt: Date; + /** + * + * @type {Date} + * @memberof UserResponseDto + */ + deletedAt: Date | null; + /** + * + * @type {string} + * @memberof UserResponseDto + */ + email: string; + /** + * + * @type {string} + * @memberof UserResponseDto + */ + externalPath: string | null; + /** + * + * @type {string} + * @memberof UserResponseDto + */ + id: string; + /** + * + * @type {boolean} + * @memberof UserResponseDto + */ + isAdmin: boolean; + /** + * + * @type {boolean} + * @memberof UserResponseDto + */ + memoriesEnabled?: boolean; + /** + * + * @type {string} + * @memberof UserResponseDto + */ + name: string; + /** + * + * @type {string} + * @memberof UserResponseDto + */ + oauthId: string; + /** + * + * @type {string} + * @memberof UserResponseDto + */ + profileImagePath: string; + /** + * + * @type {number} + * @memberof UserResponseDto + */ + quotaSizeInBytes: number | null; + /** + * + * @type {number} + * @memberof UserResponseDto + */ + quotaUsageInBytes: number | null; + /** + * + * @type {boolean} + * @memberof UserResponseDto + */ + shouldChangePassword: boolean; + /** + * + * @type {string} + * @memberof UserResponseDto + */ + storageLabel: string | null; + /** + * + * @type {Date} + * @memberof UserResponseDto + */ + updatedAt: Date; +} + +/** + * Check if a given object implements the UserResponseDto interface. + */ +export function instanceOfUserResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "avatarColor" in value; + isInstance = isInstance && "createdAt" in value; + isInstance = isInstance && "deletedAt" in value; + isInstance = isInstance && "email" in value; + isInstance = isInstance && "externalPath" in value; + isInstance = isInstance && "id" in value; + isInstance = isInstance && "isAdmin" in value; + isInstance = isInstance && "name" in value; + isInstance = isInstance && "oauthId" in value; + isInstance = isInstance && "profileImagePath" in value; + isInstance = isInstance && "quotaSizeInBytes" in value; + isInstance = isInstance && "quotaUsageInBytes" in value; + isInstance = isInstance && "shouldChangePassword" in value; + isInstance = isInstance && "storageLabel" in value; + isInstance = isInstance && "updatedAt" in value; + + return isInstance; +} + +export function UserResponseDtoFromJSON(json: any): UserResponseDto { + return UserResponseDtoFromJSONTyped(json, false); +} + +export function UserResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): UserResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'avatarColor': UserAvatarColorFromJSON(json['avatarColor']), + 'createdAt': (new Date(json['createdAt'])), + 'deletedAt': (json['deletedAt'] === null ? null : new Date(json['deletedAt'])), + 'email': json['email'], + 'externalPath': json['externalPath'], + 'id': json['id'], + 'isAdmin': json['isAdmin'], + 'memoriesEnabled': !exists(json, 'memoriesEnabled') ? undefined : json['memoriesEnabled'], + 'name': json['name'], + 'oauthId': json['oauthId'], + 'profileImagePath': json['profileImagePath'], + 'quotaSizeInBytes': json['quotaSizeInBytes'], + 'quotaUsageInBytes': json['quotaUsageInBytes'], + 'shouldChangePassword': json['shouldChangePassword'], + 'storageLabel': json['storageLabel'], + 'updatedAt': (new Date(json['updatedAt'])), + }; +} + +export function UserResponseDtoToJSON(value?: UserResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'avatarColor': UserAvatarColorToJSON(value.avatarColor), + 'createdAt': (value.createdAt.toISOString()), + 'deletedAt': (value.deletedAt === null ? null : value.deletedAt.toISOString()), + 'email': value.email, + 'externalPath': value.externalPath, + 'id': value.id, + 'isAdmin': value.isAdmin, + 'memoriesEnabled': value.memoriesEnabled, + 'name': value.name, + 'oauthId': value.oauthId, + 'profileImagePath': value.profileImagePath, + 'quotaSizeInBytes': value.quotaSizeInBytes, + 'quotaUsageInBytes': value.quotaUsageInBytes, + 'shouldChangePassword': value.shouldChangePassword, + 'storageLabel': value.storageLabel, + 'updatedAt': (value.updatedAt.toISOString()), + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/ValidateAccessTokenResponseDto.ts b/open-api/typescript-sdk/fetch-client/models/ValidateAccessTokenResponseDto.ts new file mode 100644 index 00000000000000..028be01f2c355e --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/ValidateAccessTokenResponseDto.ts @@ -0,0 +1,66 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + +import { exists, mapValues } from '../runtime'; +/** + * + * @export + * @interface ValidateAccessTokenResponseDto + */ +export interface ValidateAccessTokenResponseDto { + /** + * + * @type {boolean} + * @memberof ValidateAccessTokenResponseDto + */ + authStatus: boolean; +} + +/** + * Check if a given object implements the ValidateAccessTokenResponseDto interface. + */ +export function instanceOfValidateAccessTokenResponseDto(value: object): boolean { + let isInstance = true; + isInstance = isInstance && "authStatus" in value; + + return isInstance; +} + +export function ValidateAccessTokenResponseDtoFromJSON(json: any): ValidateAccessTokenResponseDto { + return ValidateAccessTokenResponseDtoFromJSONTyped(json, false); +} + +export function ValidateAccessTokenResponseDtoFromJSONTyped(json: any, ignoreDiscriminator: boolean): ValidateAccessTokenResponseDto { + if ((json === undefined) || (json === null)) { + return json; + } + return { + + 'authStatus': json['authStatus'], + }; +} + +export function ValidateAccessTokenResponseDtoToJSON(value?: ValidateAccessTokenResponseDto | null): any { + if (value === undefined) { + return undefined; + } + if (value === null) { + return null; + } + return { + + 'authStatus': value.authStatus, + }; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/VideoCodec.ts b/open-api/typescript-sdk/fetch-client/models/VideoCodec.ts new file mode 100644 index 00000000000000..820491caa0e379 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/VideoCodec.ts @@ -0,0 +1,39 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +/** + * + * @export + */ +export const VideoCodec = { + H264: 'h264', + Hevc: 'hevc', + Vp9: 'vp9' +} as const; +export type VideoCodec = typeof VideoCodec[keyof typeof VideoCodec]; + + +export function VideoCodecFromJSON(json: any): VideoCodec { + return VideoCodecFromJSONTyped(json, false); +} + +export function VideoCodecFromJSONTyped(json: any, ignoreDiscriminator: boolean): VideoCodec { + return json as VideoCodec; +} + +export function VideoCodecToJSON(value?: VideoCodec | null): any { + return value as any; +} + diff --git a/open-api/typescript-sdk/fetch-client/models/index.ts b/open-api/typescript-sdk/fetch-client/models/index.ts new file mode 100644 index 00000000000000..ce30d3afe87a46 --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/models/index.ts @@ -0,0 +1,160 @@ +/* tslint:disable */ +/* eslint-disable */ +export * from './APIKeyCreateDto'; +export * from './APIKeyCreateResponseDto'; +export * from './APIKeyResponseDto'; +export * from './APIKeyUpdateDto'; +export * from './ActivityCreateDto'; +export * from './ActivityResponseDto'; +export * from './ActivityStatisticsResponseDto'; +export * from './AddUsersDto'; +export * from './AlbumCountResponseDto'; +export * from './AlbumResponseDto'; +export * from './AllJobStatusResponseDto'; +export * from './AssetBulkDeleteDto'; +export * from './AssetBulkUpdateDto'; +export * from './AssetBulkUploadCheckDto'; +export * from './AssetBulkUploadCheckItem'; +export * from './AssetBulkUploadCheckResponseDto'; +export * from './AssetBulkUploadCheckResult'; +export * from './AssetFaceResponseDto'; +export * from './AssetFaceUpdateDto'; +export * from './AssetFaceUpdateItem'; +export * from './AssetFaceWithoutPersonResponseDto'; +export * from './AssetFileUploadResponseDto'; +export * from './AssetIdsDto'; +export * from './AssetIdsResponseDto'; +export * from './AssetJobName'; +export * from './AssetJobsDto'; +export * from './AssetOrder'; +export * from './AssetResponseDto'; +export * from './AssetStatsResponseDto'; +export * from './AssetTypeEnum'; +export * from './AudioCodec'; +export * from './AuditDeletesResponseDto'; +export * from './AuthDeviceResponseDto'; +export * from './BulkIdResponseDto'; +export * from './BulkIdsDto'; +export * from './CLIPConfig'; +export * from './CLIPMode'; +export * from './CQMode'; +export * from './ChangePasswordDto'; +export * from './CheckExistingAssetsDto'; +export * from './CheckExistingAssetsResponseDto'; +export * from './Colorspace'; +export * from './CreateAlbumDto'; +export * from './CreateLibraryDto'; +export * from './CreateProfileImageResponseDto'; +export * from './CreateTagDto'; +export * from './CreateUserDto'; +export * from './CuratedLocationsResponseDto'; +export * from './CuratedObjectsResponseDto'; +export * from './DownloadArchiveInfo'; +export * from './DownloadInfoDto'; +export * from './DownloadResponseDto'; +export * from './EntityType'; +export * from './ExifResponseDto'; +export * from './FaceDto'; +export * from './FileChecksumDto'; +export * from './FileChecksumResponseDto'; +export * from './FileReportDto'; +export * from './FileReportFixDto'; +export * from './FileReportItemDto'; +export * from './JobCommand'; +export * from './JobCommandDto'; +export * from './JobCountsDto'; +export * from './JobName'; +export * from './JobSettingsDto'; +export * from './JobStatusDto'; +export * from './LibraryResponseDto'; +export * from './LibraryStatsResponseDto'; +export * from './LibraryType'; +export * from './LogLevel'; +export * from './LoginCredentialDto'; +export * from './LoginResponseDto'; +export * from './LogoutResponseDto'; +export * from './MapMarkerResponseDto'; +export * from './MapTheme'; +export * from './MemoryLaneResponseDto'; +export * from './MergePersonDto'; +export * from './ModelType'; +export * from './OAuthAuthorizeResponseDto'; +export * from './OAuthCallbackDto'; +export * from './OAuthConfigDto'; +export * from './OAuthConfigResponseDto'; +export * from './PartnerResponseDto'; +export * from './PathEntityType'; +export * from './PathType'; +export * from './PeopleResponseDto'; +export * from './PeopleUpdateDto'; +export * from './PeopleUpdateItem'; +export * from './PersonResponseDto'; +export * from './PersonStatisticsResponseDto'; +export * from './PersonUpdateDto'; +export * from './PersonWithFacesResponseDto'; +export * from './QueueStatusDto'; +export * from './ReactionLevel'; +export * from './ReactionType'; +export * from './RecognitionConfig'; +export * from './ScanLibraryDto'; +export * from './SearchAlbumResponseDto'; +export * from './SearchAssetResponseDto'; +export * from './SearchExploreItem'; +export * from './SearchExploreResponseDto'; +export * from './SearchFacetCountResponseDto'; +export * from './SearchFacetResponseDto'; +export * from './SearchResponseDto'; +export * from './ServerConfigDto'; +export * from './ServerFeaturesDto'; +export * from './ServerInfoResponseDto'; +export * from './ServerMediaTypesResponseDto'; +export * from './ServerPingResponse'; +export * from './ServerStatsResponseDto'; +export * from './ServerThemeDto'; +export * from './ServerVersionResponseDto'; +export * from './SharedLinkCreateDto'; +export * from './SharedLinkEditDto'; +export * from './SharedLinkResponseDto'; +export * from './SharedLinkType'; +export * from './SignUpDto'; +export * from './SmartInfoResponseDto'; +export * from './SystemConfigDto'; +export * from './SystemConfigFFmpegDto'; +export * from './SystemConfigJobDto'; +export * from './SystemConfigLibraryDto'; +export * from './SystemConfigLibraryScanDto'; +export * from './SystemConfigLibraryWatchDto'; +export * from './SystemConfigLoggingDto'; +export * from './SystemConfigMachineLearningDto'; +export * from './SystemConfigMapDto'; +export * from './SystemConfigNewVersionCheckDto'; +export * from './SystemConfigOAuthDto'; +export * from './SystemConfigPasswordLoginDto'; +export * from './SystemConfigReverseGeocodingDto'; +export * from './SystemConfigServerDto'; +export * from './SystemConfigStorageTemplateDto'; +export * from './SystemConfigTemplateStorageOptionDto'; +export * from './SystemConfigThemeDto'; +export * from './SystemConfigThumbnailDto'; +export * from './SystemConfigTrashDto'; +export * from './TagResponseDto'; +export * from './TagTypeEnum'; +export * from './ThumbnailFormat'; +export * from './TimeBucketResponseDto'; +export * from './TimeBucketSize'; +export * from './ToneMapping'; +export * from './TranscodeHWAccel'; +export * from './TranscodePolicy'; +export * from './UpdateAlbumDto'; +export * from './UpdateAssetDto'; +export * from './UpdateLibraryDto'; +export * from './UpdatePartnerDto'; +export * from './UpdateStackParentDto'; +export * from './UpdateTagDto'; +export * from './UpdateUserDto'; +export * from './UsageByUserDto'; +export * from './UserAvatarColor'; +export * from './UserDto'; +export * from './UserResponseDto'; +export * from './ValidateAccessTokenResponseDto'; +export * from './VideoCodec'; diff --git a/open-api/typescript-sdk/fetch-client/runtime.ts b/open-api/typescript-sdk/fetch-client/runtime.ts new file mode 100644 index 00000000000000..0661620add7f8d --- /dev/null +++ b/open-api/typescript-sdk/fetch-client/runtime.ts @@ -0,0 +1,431 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * Immich + * Immich API + * + * The version of the OpenAPI document: 1.94.1 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +export const BASE_PATH = "/api".replace(/\/+$/, ""); + +export interface ConfigurationParameters { + basePath?: string; // override base path + fetchApi?: FetchAPI; // override for fetch implementation + middleware?: Middleware[]; // middleware to apply before/after fetch requests + queryParamsStringify?: (params: HTTPQuery) => string; // stringify function for query strings + username?: string; // parameter for basic security + password?: string; // parameter for basic security + apiKey?: string | ((name: string) => string); // parameter for apiKey security + accessToken?: string | Promise | ((name?: string, scopes?: string[]) => string | Promise); // parameter for oauth2 security + headers?: HTTPHeaders; //header params we want to use on every request + credentials?: RequestCredentials; //value for the credentials param we want to use on each request +} + +export class Configuration { + constructor(private configuration: ConfigurationParameters = {}) {} + + set config(configuration: Configuration) { + this.configuration = configuration; + } + + get basePath(): string { + return this.configuration.basePath != null ? this.configuration.basePath : BASE_PATH; + } + + get fetchApi(): FetchAPI | undefined { + return this.configuration.fetchApi; + } + + get middleware(): Middleware[] { + return this.configuration.middleware || []; + } + + get queryParamsStringify(): (params: HTTPQuery) => string { + return this.configuration.queryParamsStringify || querystring; + } + + get username(): string | undefined { + return this.configuration.username; + } + + get password(): string | undefined { + return this.configuration.password; + } + + get apiKey(): ((name: string) => string) | undefined { + const apiKey = this.configuration.apiKey; + if (apiKey) { + return typeof apiKey === 'function' ? apiKey : () => apiKey; + } + return undefined; + } + + get accessToken(): ((name?: string, scopes?: string[]) => string | Promise) | undefined { + const accessToken = this.configuration.accessToken; + if (accessToken) { + return typeof accessToken === 'function' ? accessToken : async () => accessToken; + } + return undefined; + } + + get headers(): HTTPHeaders | undefined { + return this.configuration.headers; + } + + get credentials(): RequestCredentials | undefined { + return this.configuration.credentials; + } +} + +export const DefaultConfig = new Configuration(); + +/** + * This is the base class for all generated API classes. + */ +export class BaseAPI { + + private static readonly jsonRegex = new RegExp('^(:?application\/json|[^;/ \t]+\/[^;/ \t]+[+]json)[ \t]*(:?;.*)?$', 'i'); + private middleware: Middleware[]; + + constructor(protected configuration = DefaultConfig) { + this.middleware = configuration.middleware; + } + + withMiddleware(this: T, ...middlewares: Middleware[]) { + const next = this.clone(); + next.middleware = next.middleware.concat(...middlewares); + return next; + } + + withPreMiddleware(this: T, ...preMiddlewares: Array) { + const middlewares = preMiddlewares.map((pre) => ({ pre })); + return this.withMiddleware(...middlewares); + } + + withPostMiddleware(this: T, ...postMiddlewares: Array) { + const middlewares = postMiddlewares.map((post) => ({ post })); + return this.withMiddleware(...middlewares); + } + + /** + * Check if the given MIME is a JSON MIME. + * JSON MIME examples: + * application/json + * application/json; charset=UTF8 + * APPLICATION/JSON + * application/vnd.company+json + * @param mime - MIME (Multipurpose Internet Mail Extensions) + * @return True if the given MIME is JSON, false otherwise. + */ + protected isJsonMime(mime: string | null | undefined): boolean { + if (!mime) { + return false; + } + return BaseAPI.jsonRegex.test(mime); + } + + protected async request(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction): Promise { + const { url, init } = await this.createFetchParams(context, initOverrides); + const response = await this.fetchApi(url, init); + if (response && (response.status >= 200 && response.status < 300)) { + return response; + } + throw new ResponseError(response, 'Response returned an error code'); + } + + private async createFetchParams(context: RequestOpts, initOverrides?: RequestInit | InitOverrideFunction) { + let url = this.configuration.basePath + context.path; + if (context.query !== undefined && Object.keys(context.query).length !== 0) { + // only add the querystring to the URL if there are query parameters. + // this is done to avoid urls ending with a "?" character which buggy webservers + // do not handle correctly sometimes. + url += '?' + this.configuration.queryParamsStringify(context.query); + } + + const headers = Object.assign({}, this.configuration.headers, context.headers); + Object.keys(headers).forEach(key => headers[key] === undefined ? delete headers[key] : {}); + + const initOverrideFn = + typeof initOverrides === "function" + ? initOverrides + : async () => initOverrides; + + const initParams = { + method: context.method, + headers, + body: context.body, + credentials: this.configuration.credentials, + }; + + const overriddenInit: RequestInit = { + ...initParams, + ...(await initOverrideFn({ + init: initParams, + context, + })) + }; + + let body: any; + if (isFormData(overriddenInit.body) + || (overriddenInit.body instanceof URLSearchParams) + || isBlob(overriddenInit.body)) { + body = overriddenInit.body; + } else if (this.isJsonMime(headers['Content-Type'])) { + body = JSON.stringify(overriddenInit.body); + } else { + body = overriddenInit.body; + } + + const init: RequestInit = { + ...overriddenInit, + body + }; + + return { url, init }; + } + + private fetchApi = async (url: string, init: RequestInit) => { + let fetchParams = { url, init }; + for (const middleware of this.middleware) { + if (middleware.pre) { + fetchParams = await middleware.pre({ + fetch: this.fetchApi, + ...fetchParams, + }) || fetchParams; + } + } + let response: Response | undefined = undefined; + try { + response = await (this.configuration.fetchApi || fetch)(fetchParams.url, fetchParams.init); + } catch (e) { + for (const middleware of this.middleware) { + if (middleware.onError) { + response = await middleware.onError({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + error: e, + response: response ? response.clone() : undefined, + }) || response; + } + } + if (response === undefined) { + if (e instanceof Error) { + throw new FetchError(e, 'The request failed and the interceptors did not return an alternative response'); + } else { + throw e; + } + } + } + for (const middleware of this.middleware) { + if (middleware.post) { + response = await middleware.post({ + fetch: this.fetchApi, + url: fetchParams.url, + init: fetchParams.init, + response: response.clone(), + }) || response; + } + } + return response; + } + + /** + * Create a shallow clone of `this` by constructing a new instance + * and then shallow cloning data members. + */ + private clone(this: T): T { + const constructor = this.constructor as any; + const next = new constructor(this.configuration); + next.middleware = this.middleware.slice(); + return next; + } +}; + +function isBlob(value: any): value is Blob { + return typeof Blob !== 'undefined' && value instanceof Blob; +} + +function isFormData(value: any): value is FormData { + return typeof FormData !== "undefined" && value instanceof FormData; +} + +export class ResponseError extends Error { + override name: "ResponseError" = "ResponseError"; + constructor(public response: Response, msg?: string) { + super(msg); + } +} + +export class FetchError extends Error { + override name: "FetchError" = "FetchError"; + constructor(public cause: Error, msg?: string) { + super(msg); + } +} + +export class RequiredError extends Error { + override name: "RequiredError" = "RequiredError"; + constructor(public field: string, msg?: string) { + super(msg); + } +} + +export const COLLECTION_FORMATS = { + csv: ",", + ssv: " ", + tsv: "\t", + pipes: "|", +}; + +export type FetchAPI = WindowOrWorkerGlobalScope['fetch']; + +export type Json = any; +export type HTTPMethod = 'GET' | 'POST' | 'PUT' | 'PATCH' | 'DELETE' | 'OPTIONS' | 'HEAD'; +export type HTTPHeaders = { [key: string]: string }; +export type HTTPQuery = { [key: string]: string | number | null | boolean | Array | Set | HTTPQuery }; +export type HTTPBody = Json | FormData | URLSearchParams; +export type HTTPRequestInit = { headers?: HTTPHeaders; method: HTTPMethod; credentials?: RequestCredentials; body?: HTTPBody }; +export type ModelPropertyNaming = 'camelCase' | 'snake_case' | 'PascalCase' | 'original'; + +export type InitOverrideFunction = (requestContext: { init: HTTPRequestInit, context: RequestOpts }) => Promise + +export interface FetchParams { + url: string; + init: RequestInit; +} + +export interface RequestOpts { + path: string; + method: HTTPMethod; + headers: HTTPHeaders; + query?: HTTPQuery; + body?: HTTPBody; +} + +export function exists(json: any, key: string) { + const value = json[key]; + return value !== null && value !== undefined; +} + +export function querystring(params: HTTPQuery, prefix: string = ''): string { + return Object.keys(params) + .map(key => querystringSingleKey(key, params[key], prefix)) + .filter(part => part.length > 0) + .join('&'); +} + +function querystringSingleKey(key: string, value: string | number | null | undefined | boolean | Array | Set | HTTPQuery, keyPrefix: string = ''): string { + const fullKey = keyPrefix + (keyPrefix.length ? `[${key}]` : key); + if (value instanceof Array) { + const multiValue = value.map(singleValue => encodeURIComponent(String(singleValue))) + .join(`&${encodeURIComponent(fullKey)}=`); + return `${encodeURIComponent(fullKey)}=${multiValue}`; + } + if (value instanceof Set) { + const valueAsArray = Array.from(value); + return querystringSingleKey(key, valueAsArray, keyPrefix); + } + if (value instanceof Date) { + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(value.toISOString())}`; + } + if (value instanceof Object) { + return querystring(value as HTTPQuery, fullKey); + } + return `${encodeURIComponent(fullKey)}=${encodeURIComponent(String(value))}`; +} + +export function mapValues(data: any, fn: (item: any) => any) { + return Object.keys(data).reduce( + (acc, key) => ({ ...acc, [key]: fn(data[key]) }), + {} + ); +} + +export function canConsumeForm(consumes: Consume[]): boolean { + for (const consume of consumes) { + if ('multipart/form-data' === consume.contentType) { + return true; + } + } + return false; +} + +export interface Consume { + contentType: string; +} + +export interface RequestContext { + fetch: FetchAPI; + url: string; + init: RequestInit; +} + +export interface ResponseContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + response: Response; +} + +export interface ErrorContext { + fetch: FetchAPI; + url: string; + init: RequestInit; + error: unknown; + response?: Response; +} + +export interface Middleware { + pre?(context: RequestContext): Promise; + post?(context: ResponseContext): Promise; + onError?(context: ErrorContext): Promise; +} + +export interface ApiResponse { + raw: Response; + value(): Promise; +} + +export interface ResponseTransformer { + (json: any): T; +} + +export class JSONApiResponse { + constructor(public raw: Response, private transformer: ResponseTransformer = (jsonValue: any) => jsonValue) {} + + async value(): Promise { + return this.transformer(await this.raw.json()); + } +} + +export class VoidApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return undefined; + } +} + +export class BlobApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.blob(); + }; +} + +export class TextApiResponse { + constructor(public raw: Response) {} + + async value(): Promise { + return await this.raw.text(); + }; +} diff --git a/open-api/typescript-sdk/fetch.ts b/open-api/typescript-sdk/fetch.ts new file mode 100644 index 00000000000000..5441cd826885ef --- /dev/null +++ b/open-api/typescript-sdk/fetch.ts @@ -0,0 +1 @@ +export * from './fetch-client'; diff --git a/open-api/typescript-sdk/index.ts b/open-api/typescript-sdk/index.ts deleted file mode 100644 index eb7f6b43e0192e..00000000000000 --- a/open-api/typescript-sdk/index.ts +++ /dev/null @@ -1,4 +0,0 @@ -export * from './client'; -export * as base from './client/base'; -export * as configuration from './client/configuration'; -export * as common from './client/common'; diff --git a/open-api/typescript-sdk/package.json b/open-api/typescript-sdk/package.json index e1c94e5b668e11..5175fcf4a1594e 100644 --- a/open-api/typescript-sdk/package.json +++ b/open-api/typescript-sdk/package.json @@ -3,23 +3,32 @@ "version": "1.92.1", "description": "", "type": "module", - "main": "./build/index.js", - "types": "./build/index.d.ts", + "main": "./build/fetch/index.js", + "types": "./build/fetch/index.d.ts", "exports": { + "./axios": { + "types": "./build/axios/axios.d.ts", + "default": "./build/axios/axios.js" + }, ".": { - "types": "./build/index.d.ts", - "default": "./build/index.js" + "types": "./build/fetch/fetch.d.ts", + "default": "./build/fetch/fetch.js" } }, "scripts": { - "build": "tsc -b ./tsconfig.json" + "build": "tsc -b ./tsconfig.axios.json ./tsconfig.fetch.json" }, "license": "MIT", "devDependencies": { "@types/node": "^20.11.0", "typescript": "^5.3.3" }, - "dependencies": { + "peerDependencies": { "axios": "^1.6.7" + }, + "peerDependenciesMeta": { + "axios": { + "optional": true + } } } diff --git a/open-api/typescript-sdk/tsconfig.json b/open-api/typescript-sdk/tsconfig.axios.json similarity index 70% rename from open-api/typescript-sdk/tsconfig.json rename to open-api/typescript-sdk/tsconfig.axios.json index 62c64e5be0035a..77336203c1acef 100644 --- a/open-api/typescript-sdk/tsconfig.json +++ b/open-api/typescript-sdk/tsconfig.axios.json @@ -1,9 +1,10 @@ { + "include": ["axios.ts", "axios-client/**/*"], "compilerOptions": { "strict": true, "skipLibCheck": true, "declaration": true, - "outDir": "build", + "outDir": "build/axios", "module": "esnext", "moduleResolution": "Bundler", "lib": ["esnext"] diff --git a/open-api/typescript-sdk/tsconfig.fetch.json b/open-api/typescript-sdk/tsconfig.fetch.json new file mode 100644 index 00000000000000..c7dc6bfd50900f --- /dev/null +++ b/open-api/typescript-sdk/tsconfig.fetch.json @@ -0,0 +1,12 @@ +{ + "include": ["fetch.ts", "fetch-client/**/*"], + "compilerOptions": { + "strict": true, + "skipLibCheck": true, + "declaration": true, + "outDir": "build/fetch", + "module": "esnext", + "moduleResolution": "Bundler", + "lib": ["esnext", "dom"] + } +} diff --git a/web/package-lock.json b/web/package-lock.json index 93c04c47b68a6c..11e62f5342a021 100644 --- a/web/package-lock.json +++ b/web/package-lock.json @@ -65,12 +65,17 @@ "name": "@immich/sdk", "version": "1.92.1", "license": "MIT", - "dependencies": { - "axios": "^1.6.7" - }, "devDependencies": { "@types/node": "^20.11.0", "typescript": "^5.3.3" + }, + "peerDependencies": { + "axios": "^1.6.7" + }, + "peerDependenciesMeta": { + "axios": { + "optional": true + } } }, "node_modules/@aashutoshrathi/word-wrap": { diff --git a/web/src/api/api.ts b/web/src/api/api.ts index 78228aee1f1a14..72162c52169050 100644 --- a/web/src/api/api.ts +++ b/web/src/api/api.ts @@ -25,7 +25,7 @@ import { base, common, configuration, -} from '@immich/sdk'; +} from '@immich/sdk/axios'; import type { ApiParams as ApiParameters } from './types'; class ImmichApi { diff --git a/web/src/api/index.ts b/web/src/api/index.ts index 4d50cff5382ec9..886f439d8e796a 100644 --- a/web/src/api/index.ts +++ b/web/src/api/index.ts @@ -1,3 +1,3 @@ export * from './api'; -export * from '@immich/sdk'; +export * from '@immich/sdk/axios'; export * from './utils'; diff --git a/web/src/api/types.ts b/web/src/api/types.ts index 96baf2f3aa16e2..7a2ae17f671fc3 100644 --- a/web/src/api/types.ts +++ b/web/src/api/types.ts @@ -1,4 +1,4 @@ -import type { Configuration } from '@immich/sdk'; +import type { Configuration } from '@immich/sdk/axios'; /* eslint-disable @typescript-eslint/no-explicit-any */ export type ApiFp = (configuration: Configuration) => Record any>; diff --git a/web/src/api/utils.ts b/web/src/api/utils.ts index a3fed43d32b4b4..18b992463e26e2 100644 --- a/web/src/api/utils.ts +++ b/web/src/api/utils.ts @@ -5,7 +5,7 @@ import { } from '../lib/components/shared-components/notification/notification'; import { handleError } from '../lib/utils/handle-error'; import { api } from './api'; -import type { UserResponseDto } from '@immich/sdk'; +import type { UserResponseDto } from '@immich/sdk/axios'; export type ApiError = AxiosError<{ message: string }>;