mirror of
https://github.com/immich-app/immich.git
synced 2026-05-18 03:10:24 +03:00
Merge remote-tracking branch 'origin/main' into feat/yucca-integration
This commit is contained in:
@@ -17,7 +17,7 @@ function dart {
|
||||
patch --no-backup-if-mismatch -u api.mustache <api.mustache.patch
|
||||
|
||||
cd ../../
|
||||
pnpm dlx @openapitools/openapi-generator-cli generate -g dart -i ./immich-openapi-specs.json -o ../mobile/openapi -t ./templates/mobile
|
||||
pnpm dlx --allow-build="" @openapitools/openapi-generator-cli generate -g dart -i ./immich-openapi-specs.json -o ../mobile/openapi -t ./templates/mobile
|
||||
|
||||
# Post generate patches
|
||||
patch --no-backup-if-mismatch -u ../mobile/openapi/lib/api_client.dart <./patch/api_client.dart.patch
|
||||
|
||||
@@ -7359,6 +7359,38 @@
|
||||
"x-immich-state": "Stable"
|
||||
}
|
||||
},
|
||||
"/oauth/backchannel-logout": {
|
||||
"post": {
|
||||
"description": "Logout the OAuth account and invalidate the session specified by the sid claim or all sessions if the sid claim is not present.",
|
||||
"operationId": "logoutOAuth",
|
||||
"parameters": [],
|
||||
"requestBody": {
|
||||
"content": {
|
||||
"application/x-www-form-urlencoded": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/OAuthBackchannelLogoutDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"required": true
|
||||
},
|
||||
"responses": {
|
||||
"200": {
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"summary": "Backchannel OAuth logout",
|
||||
"tags": [
|
||||
"Authentication"
|
||||
],
|
||||
"x-immich-history": [
|
||||
{
|
||||
"version": "v2",
|
||||
"state": "Added"
|
||||
}
|
||||
]
|
||||
}
|
||||
},
|
||||
"/oauth/callback": {
|
||||
"post": {
|
||||
"description": "Complete the OAuth authorization process by exchanging the authorization code for a session token.",
|
||||
@@ -10550,44 +10582,6 @@
|
||||
"x-immich-state": "Stable"
|
||||
}
|
||||
},
|
||||
"/server/theme": {
|
||||
"get": {
|
||||
"description": "Retrieve the custom CSS, if existent.",
|
||||
"operationId": "getTheme",
|
||||
"parameters": [],
|
||||
"responses": {
|
||||
"200": {
|
||||
"content": {
|
||||
"application/json": {
|
||||
"schema": {
|
||||
"$ref": "#/components/schemas/ServerThemeDto"
|
||||
}
|
||||
}
|
||||
},
|
||||
"description": ""
|
||||
}
|
||||
},
|
||||
"summary": "Get theme",
|
||||
"tags": [
|
||||
"Server"
|
||||
],
|
||||
"x-immich-history": [
|
||||
{
|
||||
"version": "v1",
|
||||
"state": "Added"
|
||||
},
|
||||
{
|
||||
"version": "v1",
|
||||
"state": "Beta"
|
||||
},
|
||||
{
|
||||
"version": "v2",
|
||||
"state": "Stable"
|
||||
}
|
||||
],
|
||||
"x-immich-state": "Stable"
|
||||
}
|
||||
},
|
||||
"/server/version": {
|
||||
"get": {
|
||||
"description": "Retrieve the current server version in semantic versioning (semver) format.",
|
||||
@@ -17618,7 +17612,8 @@
|
||||
"type": "string"
|
||||
},
|
||||
"duration": {
|
||||
"description": "Video duration (for videos)",
|
||||
"description": "Video/gif duration in hh:mm:ss.SSS format (null for static images)",
|
||||
"nullable": true,
|
||||
"type": "string"
|
||||
},
|
||||
"exifInfo": {
|
||||
@@ -20431,6 +20426,18 @@
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"OAuthBackchannelLogoutDto": {
|
||||
"properties": {
|
||||
"logout_token": {
|
||||
"description": "OAuth logout token",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"logout_token"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"OAuthCallbackDto": {
|
||||
"properties": {
|
||||
"codeVerifier": {
|
||||
@@ -23170,18 +23177,6 @@
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"ServerThemeDto": {
|
||||
"properties": {
|
||||
"customCss": {
|
||||
"description": "Custom CSS for theming",
|
||||
"type": "string"
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"customCss"
|
||||
],
|
||||
"type": "object"
|
||||
},
|
||||
"ServerVersionHistoryResponseDto": {
|
||||
"properties": {
|
||||
"createdAt": {
|
||||
@@ -26122,6 +26117,10 @@
|
||||
},
|
||||
"SystemConfigOAuthDto": {
|
||||
"properties": {
|
||||
"allowInsecureRequests": {
|
||||
"description": "Allow insecure requests",
|
||||
"type": "boolean"
|
||||
},
|
||||
"autoLaunch": {
|
||||
"description": "Auto launch",
|
||||
"type": "boolean"
|
||||
@@ -26152,6 +26151,10 @@
|
||||
"description": "Enabled",
|
||||
"type": "boolean"
|
||||
},
|
||||
"endSessionEndpoint": {
|
||||
"description": "End session endpoint",
|
||||
"type": "string"
|
||||
},
|
||||
"issuerUrl": {
|
||||
"description": "Issuer URL",
|
||||
"type": "string"
|
||||
@@ -26168,6 +26171,10 @@
|
||||
"description": "Profile signing algorithm",
|
||||
"type": "string"
|
||||
},
|
||||
"prompt": {
|
||||
"description": "OAuth prompt parameter (e.g. select_account, login, consent)",
|
||||
"type": "string"
|
||||
},
|
||||
"roleClaim": {
|
||||
"description": "Role claim",
|
||||
"type": "string"
|
||||
@@ -26199,6 +26206,7 @@
|
||||
}
|
||||
},
|
||||
"required": [
|
||||
"allowInsecureRequests",
|
||||
"autoLaunch",
|
||||
"autoRegister",
|
||||
"buttonText",
|
||||
@@ -26206,10 +26214,12 @@
|
||||
"clientSecret",
|
||||
"defaultStorageQuota",
|
||||
"enabled",
|
||||
"endSessionEndpoint",
|
||||
"issuerUrl",
|
||||
"mobileOverrideEnabled",
|
||||
"mobileRedirectUri",
|
||||
"profileSigningAlgorithm",
|
||||
"prompt",
|
||||
"roleClaim",
|
||||
"scope",
|
||||
"signingAlgorithm",
|
||||
@@ -26743,7 +26753,7 @@
|
||||
"type": "array"
|
||||
},
|
||||
"duration": {
|
||||
"description": "Array of video durations in HH:MM:SS format (null for images)",
|
||||
"description": "Array of video/gif durations in hh:mm:ss.SSS format (null for static images)",
|
||||
"items": {
|
||||
"nullable": true,
|
||||
"type": "string"
|
||||
|
||||
@@ -856,8 +856,8 @@ export type AssetResponseDto = {
|
||||
createdAt: string;
|
||||
/** Duplicate group ID */
|
||||
duplicateId?: string | null;
|
||||
/** Video duration (for videos) */
|
||||
duration: string;
|
||||
/** Video/gif duration in hh:mm:ss.SSS format (null for static images) */
|
||||
duration: string | null;
|
||||
exifInfo?: ExifResponseDto;
|
||||
/** The actual UTC timestamp when the file was created/captured, preserving timezone information. This is the authoritative timestamp for chronological sorting within timeline groups. Combined with timezone data, this can be used to determine the exact moment the photo was taken. */
|
||||
fileCreatedAt: string;
|
||||
@@ -1409,6 +1409,10 @@ export type OAuthAuthorizeResponseDto = {
|
||||
/** OAuth authorization URL */
|
||||
url: string;
|
||||
};
|
||||
export type OAuthBackchannelLogoutDto = {
|
||||
/** OAuth logout token */
|
||||
logout_token: string;
|
||||
};
|
||||
export type OAuthCallbackDto = {
|
||||
/** OAuth code verifier (PKCE) */
|
||||
codeVerifier?: string;
|
||||
@@ -2123,10 +2127,6 @@ export type ServerStorageResponseDto = {
|
||||
/** Used disk space in bytes */
|
||||
diskUseRaw: number;
|
||||
};
|
||||
export type ServerThemeDto = {
|
||||
/** Custom CSS for theming */
|
||||
customCss: string;
|
||||
};
|
||||
export type ServerVersionResponseDto = {
|
||||
/** Major version number */
|
||||
major: number;
|
||||
@@ -2502,6 +2502,8 @@ export type SystemConfigNotificationsDto = {
|
||||
smtp: SystemConfigSmtpDto;
|
||||
};
|
||||
export type SystemConfigOAuthDto = {
|
||||
/** Allow insecure requests */
|
||||
allowInsecureRequests: boolean;
|
||||
/** Auto launch */
|
||||
autoLaunch: boolean;
|
||||
/** Auto register */
|
||||
@@ -2516,6 +2518,8 @@ export type SystemConfigOAuthDto = {
|
||||
defaultStorageQuota: number | null;
|
||||
/** Enabled */
|
||||
enabled: boolean;
|
||||
/** End session endpoint */
|
||||
endSessionEndpoint: string;
|
||||
/** Issuer URL */
|
||||
issuerUrl: string;
|
||||
/** Mobile override enabled */
|
||||
@@ -2524,6 +2528,8 @@ export type SystemConfigOAuthDto = {
|
||||
mobileRedirectUri: string;
|
||||
/** Profile signing algorithm */
|
||||
profileSigningAlgorithm: string;
|
||||
/** OAuth prompt parameter (e.g. select_account, login, consent) */
|
||||
prompt: string;
|
||||
/** Role claim */
|
||||
roleClaim: string;
|
||||
/** Scope */
|
||||
@@ -2669,7 +2675,7 @@ export type TimeBucketAssetResponseDto = {
|
||||
city: (string | null)[];
|
||||
/** Array of country names extracted from EXIF GPS data */
|
||||
country: (string | null)[];
|
||||
/** Array of video durations in HH:MM:SS format (null for images) */
|
||||
/** Array of video/gif durations in hh:mm:ss.SSS format (null for static images) */
|
||||
duration: (string | null)[];
|
||||
/** Array of file creation timestamps in UTC */
|
||||
fileCreatedAt: string[];
|
||||
@@ -5111,6 +5117,18 @@ export function startOAuth({ oAuthConfigDto }: {
|
||||
body: oAuthConfigDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* Backchannel OAuth logout
|
||||
*/
|
||||
export function logoutOAuth({ oAuthBackchannelLogoutDto }: {
|
||||
oAuthBackchannelLogoutDto: OAuthBackchannelLogoutDto;
|
||||
}, opts?: Oazapfts.RequestOpts) {
|
||||
return oazapfts.ok(oazapfts.fetchText("/oauth/backchannel-logout", oazapfts.form({
|
||||
...opts,
|
||||
method: "POST",
|
||||
body: oAuthBackchannelLogoutDto
|
||||
})));
|
||||
}
|
||||
/**
|
||||
* Finish OAuth
|
||||
*/
|
||||
@@ -5841,17 +5859,6 @@ export function getStorage(opts?: Oazapfts.RequestOpts) {
|
||||
...opts
|
||||
}));
|
||||
}
|
||||
/**
|
||||
* Get theme
|
||||
*/
|
||||
export function getTheme(opts?: Oazapfts.RequestOpts) {
|
||||
return oazapfts.ok(oazapfts.fetchJson<{
|
||||
status: 200;
|
||||
data: ServerThemeDto;
|
||||
}>("/server/theme", {
|
||||
...opts
|
||||
}));
|
||||
}
|
||||
/**
|
||||
* Get server version
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user