You've already forked immich
mirror of
https://github.com/immich-app/immich.git
synced 2025-08-09 23:17:29 +02:00
feat: configure token endpoint auth method (#17968)
This commit is contained in:
1
mobile/openapi/lib/api.dart
generated
1
mobile/openapi/lib/api.dart
generated
@@ -178,6 +178,7 @@ part 'model/notification_update_dto.dart';
|
||||
part 'model/o_auth_authorize_response_dto.dart';
|
||||
part 'model/o_auth_callback_dto.dart';
|
||||
part 'model/o_auth_config_dto.dart';
|
||||
part 'model/o_auth_token_endpoint_auth_method.dart';
|
||||
part 'model/on_this_day_dto.dart';
|
||||
part 'model/partner_direction.dart';
|
||||
part 'model/partner_response_dto.dart';
|
||||
|
2
mobile/openapi/lib/api_client.dart
generated
2
mobile/openapi/lib/api_client.dart
generated
@@ -410,6 +410,8 @@ class ApiClient {
|
||||
return OAuthCallbackDto.fromJson(value);
|
||||
case 'OAuthConfigDto':
|
||||
return OAuthConfigDto.fromJson(value);
|
||||
case 'OAuthTokenEndpointAuthMethod':
|
||||
return OAuthTokenEndpointAuthMethodTypeTransformer().decode(value);
|
||||
case 'OnThisDayDto':
|
||||
return OnThisDayDto.fromJson(value);
|
||||
case 'PartnerDirection':
|
||||
|
3
mobile/openapi/lib/api_helper.dart
generated
3
mobile/openapi/lib/api_helper.dart
generated
@@ -106,6 +106,9 @@ String parameterToString(dynamic value) {
|
||||
if (value is NotificationType) {
|
||||
return NotificationTypeTypeTransformer().encode(value).toString();
|
||||
}
|
||||
if (value is OAuthTokenEndpointAuthMethod) {
|
||||
return OAuthTokenEndpointAuthMethodTypeTransformer().encode(value).toString();
|
||||
}
|
||||
if (value is PartnerDirection) {
|
||||
return PartnerDirectionTypeTransformer().encode(value).toString();
|
||||
}
|
||||
|
85
mobile/openapi/lib/model/o_auth_token_endpoint_auth_method.dart
generated
Normal file
85
mobile/openapi/lib/model/o_auth_token_endpoint_auth_method.dart
generated
Normal file
@@ -0,0 +1,85 @@
|
||||
//
|
||||
// AUTO-GENERATED FILE, DO NOT MODIFY!
|
||||
//
|
||||
// @dart=2.18
|
||||
|
||||
// ignore_for_file: unused_element, unused_import
|
||||
// ignore_for_file: always_put_required_named_parameters_first
|
||||
// ignore_for_file: constant_identifier_names
|
||||
// ignore_for_file: lines_longer_than_80_chars
|
||||
|
||||
part of openapi.api;
|
||||
|
||||
|
||||
class OAuthTokenEndpointAuthMethod {
|
||||
/// Instantiate a new enum with the provided [value].
|
||||
const OAuthTokenEndpointAuthMethod._(this.value);
|
||||
|
||||
/// The underlying value of this enum member.
|
||||
final String value;
|
||||
|
||||
@override
|
||||
String toString() => value;
|
||||
|
||||
String toJson() => value;
|
||||
|
||||
static const post = OAuthTokenEndpointAuthMethod._(r'client_secret_post');
|
||||
static const basic = OAuthTokenEndpointAuthMethod._(r'client_secret_basic');
|
||||
|
||||
/// List of all possible values in this [enum][OAuthTokenEndpointAuthMethod].
|
||||
static const values = <OAuthTokenEndpointAuthMethod>[
|
||||
post,
|
||||
basic,
|
||||
];
|
||||
|
||||
static OAuthTokenEndpointAuthMethod? fromJson(dynamic value) => OAuthTokenEndpointAuthMethodTypeTransformer().decode(value);
|
||||
|
||||
static List<OAuthTokenEndpointAuthMethod> listFromJson(dynamic json, {bool growable = false,}) {
|
||||
final result = <OAuthTokenEndpointAuthMethod>[];
|
||||
if (json is List && json.isNotEmpty) {
|
||||
for (final row in json) {
|
||||
final value = OAuthTokenEndpointAuthMethod.fromJson(row);
|
||||
if (value != null) {
|
||||
result.add(value);
|
||||
}
|
||||
}
|
||||
}
|
||||
return result.toList(growable: growable);
|
||||
}
|
||||
}
|
||||
|
||||
/// Transformation class that can [encode] an instance of [OAuthTokenEndpointAuthMethod] to String,
|
||||
/// and [decode] dynamic data back to [OAuthTokenEndpointAuthMethod].
|
||||
class OAuthTokenEndpointAuthMethodTypeTransformer {
|
||||
factory OAuthTokenEndpointAuthMethodTypeTransformer() => _instance ??= const OAuthTokenEndpointAuthMethodTypeTransformer._();
|
||||
|
||||
const OAuthTokenEndpointAuthMethodTypeTransformer._();
|
||||
|
||||
String encode(OAuthTokenEndpointAuthMethod data) => data.value;
|
||||
|
||||
/// Decodes a [dynamic value][data] to a OAuthTokenEndpointAuthMethod.
|
||||
///
|
||||
/// If [allowNull] is true and the [dynamic value][data] cannot be decoded successfully,
|
||||
/// then null is returned. However, if [allowNull] is false and the [dynamic value][data]
|
||||
/// cannot be decoded successfully, then an [UnimplementedError] is thrown.
|
||||
///
|
||||
/// The [allowNull] is very handy when an API changes and a new enum value is added or removed,
|
||||
/// and users are still using an old app with the old code.
|
||||
OAuthTokenEndpointAuthMethod? decode(dynamic data, {bool allowNull = true}) {
|
||||
if (data != null) {
|
||||
switch (data) {
|
||||
case r'client_secret_post': return OAuthTokenEndpointAuthMethod.post;
|
||||
case r'client_secret_basic': return OAuthTokenEndpointAuthMethod.basic;
|
||||
default:
|
||||
if (!allowNull) {
|
||||
throw ArgumentError('Unknown enum value to decode: $data');
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/// Singleton [OAuthTokenEndpointAuthMethodTypeTransformer] instance.
|
||||
static OAuthTokenEndpointAuthMethodTypeTransformer? _instance;
|
||||
}
|
||||
|
@@ -28,6 +28,8 @@ class SystemConfigOAuthDto {
|
||||
required this.signingAlgorithm,
|
||||
required this.storageLabelClaim,
|
||||
required this.storageQuotaClaim,
|
||||
required this.timeout,
|
||||
required this.tokenEndpointAuthMethod,
|
||||
});
|
||||
|
||||
bool autoLaunch;
|
||||
@@ -61,6 +63,11 @@ class SystemConfigOAuthDto {
|
||||
|
||||
String storageQuotaClaim;
|
||||
|
||||
/// Minimum value: 1
|
||||
int timeout;
|
||||
|
||||
OAuthTokenEndpointAuthMethod tokenEndpointAuthMethod;
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) => identical(this, other) || other is SystemConfigOAuthDto &&
|
||||
other.autoLaunch == autoLaunch &&
|
||||
@@ -77,7 +84,9 @@ class SystemConfigOAuthDto {
|
||||
other.scope == scope &&
|
||||
other.signingAlgorithm == signingAlgorithm &&
|
||||
other.storageLabelClaim == storageLabelClaim &&
|
||||
other.storageQuotaClaim == storageQuotaClaim;
|
||||
other.storageQuotaClaim == storageQuotaClaim &&
|
||||
other.timeout == timeout &&
|
||||
other.tokenEndpointAuthMethod == tokenEndpointAuthMethod;
|
||||
|
||||
@override
|
||||
int get hashCode =>
|
||||
@@ -96,10 +105,12 @@ class SystemConfigOAuthDto {
|
||||
(scope.hashCode) +
|
||||
(signingAlgorithm.hashCode) +
|
||||
(storageLabelClaim.hashCode) +
|
||||
(storageQuotaClaim.hashCode);
|
||||
(storageQuotaClaim.hashCode) +
|
||||
(timeout.hashCode) +
|
||||
(tokenEndpointAuthMethod.hashCode);
|
||||
|
||||
@override
|
||||
String toString() => 'SystemConfigOAuthDto[autoLaunch=$autoLaunch, autoRegister=$autoRegister, buttonText=$buttonText, clientId=$clientId, clientSecret=$clientSecret, defaultStorageQuota=$defaultStorageQuota, enabled=$enabled, issuerUrl=$issuerUrl, mobileOverrideEnabled=$mobileOverrideEnabled, mobileRedirectUri=$mobileRedirectUri, profileSigningAlgorithm=$profileSigningAlgorithm, scope=$scope, signingAlgorithm=$signingAlgorithm, storageLabelClaim=$storageLabelClaim, storageQuotaClaim=$storageQuotaClaim]';
|
||||
String toString() => 'SystemConfigOAuthDto[autoLaunch=$autoLaunch, autoRegister=$autoRegister, buttonText=$buttonText, clientId=$clientId, clientSecret=$clientSecret, defaultStorageQuota=$defaultStorageQuota, enabled=$enabled, issuerUrl=$issuerUrl, mobileOverrideEnabled=$mobileOverrideEnabled, mobileRedirectUri=$mobileRedirectUri, profileSigningAlgorithm=$profileSigningAlgorithm, scope=$scope, signingAlgorithm=$signingAlgorithm, storageLabelClaim=$storageLabelClaim, storageQuotaClaim=$storageQuotaClaim, timeout=$timeout, tokenEndpointAuthMethod=$tokenEndpointAuthMethod]';
|
||||
|
||||
Map<String, dynamic> toJson() {
|
||||
final json = <String, dynamic>{};
|
||||
@@ -118,6 +129,8 @@ class SystemConfigOAuthDto {
|
||||
json[r'signingAlgorithm'] = this.signingAlgorithm;
|
||||
json[r'storageLabelClaim'] = this.storageLabelClaim;
|
||||
json[r'storageQuotaClaim'] = this.storageQuotaClaim;
|
||||
json[r'timeout'] = this.timeout;
|
||||
json[r'tokenEndpointAuthMethod'] = this.tokenEndpointAuthMethod;
|
||||
return json;
|
||||
}
|
||||
|
||||
@@ -145,6 +158,8 @@ class SystemConfigOAuthDto {
|
||||
signingAlgorithm: mapValueOfType<String>(json, r'signingAlgorithm')!,
|
||||
storageLabelClaim: mapValueOfType<String>(json, r'storageLabelClaim')!,
|
||||
storageQuotaClaim: mapValueOfType<String>(json, r'storageQuotaClaim')!,
|
||||
timeout: mapValueOfType<int>(json, r'timeout')!,
|
||||
tokenEndpointAuthMethod: OAuthTokenEndpointAuthMethod.fromJson(json[r'tokenEndpointAuthMethod'])!,
|
||||
);
|
||||
}
|
||||
return null;
|
||||
@@ -207,6 +222,8 @@ class SystemConfigOAuthDto {
|
||||
'signingAlgorithm',
|
||||
'storageLabelClaim',
|
||||
'storageQuotaClaim',
|
||||
'timeout',
|
||||
'tokenEndpointAuthMethod',
|
||||
};
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user