mirror of
https://github.com/immich-app/immich.git
synced 2026-01-27 06:07:26 -05:00
43 lines
1.1 KiB
Dart
43 lines
1.1 KiB
Dart
import 'package:openapi/api.dart';
|
|
|
|
class ServerFeatures {
|
|
final bool hasPasswordLogin;
|
|
final bool hasOAuthLogin;
|
|
|
|
const ServerFeatures({
|
|
required this.hasPasswordLogin,
|
|
required this.hasOAuthLogin,
|
|
});
|
|
|
|
ServerFeatures copyWith({bool? hasPasswordLogin, bool? hasOAuthLogin}) {
|
|
return ServerFeatures(
|
|
hasPasswordLogin: hasPasswordLogin ?? this.hasPasswordLogin,
|
|
hasOAuthLogin: hasOAuthLogin ?? this.hasOAuthLogin,
|
|
);
|
|
}
|
|
|
|
factory ServerFeatures.fromDto(ServerFeaturesDto dto) => ServerFeatures(
|
|
hasPasswordLogin: dto.passwordLogin,
|
|
hasOAuthLogin: dto.oauth,
|
|
);
|
|
|
|
const ServerFeatures.reset()
|
|
: hasPasswordLogin = true,
|
|
hasOAuthLogin = false;
|
|
|
|
@override
|
|
String toString() =>
|
|
'ServerFeatures(hasPasswordLogin: $hasPasswordLogin, hasOAuthLogin: $hasOAuthLogin)';
|
|
|
|
@override
|
|
bool operator ==(covariant ServerFeatures other) {
|
|
if (identical(this, other)) return true;
|
|
|
|
return other.hasPasswordLogin == hasPasswordLogin &&
|
|
other.hasOAuthLogin == hasOAuthLogin;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => hasPasswordLogin.hashCode ^ hasOAuthLogin.hashCode;
|
|
}
|