Source Code added
This commit is contained in:
parent
800376eafd
commit
9efa9bc6dd
3912 changed files with 754770 additions and 2 deletions
83
mobile/lib/models/server_info/server_info.model.dart
Normal file
83
mobile/lib/models/server_info/server_info.model.dart
Normal file
|
|
@ -0,0 +1,83 @@
|
|||
import 'package:easy_localization/easy_localization.dart';
|
||||
import 'package:immich_mobile/models/server_info/server_config.model.dart';
|
||||
import 'package:immich_mobile/models/server_info/server_disk_info.model.dart';
|
||||
import 'package:immich_mobile/models/server_info/server_features.model.dart';
|
||||
import 'package:immich_mobile/models/server_info/server_version.model.dart';
|
||||
|
||||
enum VersionStatus {
|
||||
upToDate,
|
||||
clientOutOfDate,
|
||||
serverOutOfDate,
|
||||
error;
|
||||
|
||||
String get message => switch (this) {
|
||||
VersionStatus.upToDate => "",
|
||||
VersionStatus.clientOutOfDate => "app_update_available".tr(),
|
||||
VersionStatus.serverOutOfDate => "server_update_available".tr(),
|
||||
VersionStatus.error => "unable_to_check_version".tr(),
|
||||
};
|
||||
}
|
||||
|
||||
class ServerInfo {
|
||||
final ServerVersion serverVersion;
|
||||
final ServerVersion latestVersion;
|
||||
final ServerFeatures serverFeatures;
|
||||
final ServerConfig serverConfig;
|
||||
final ServerDiskInfo serverDiskInfo;
|
||||
final VersionStatus versionStatus;
|
||||
|
||||
const ServerInfo({
|
||||
required this.serverVersion,
|
||||
required this.latestVersion,
|
||||
required this.serverFeatures,
|
||||
required this.serverConfig,
|
||||
required this.serverDiskInfo,
|
||||
required this.versionStatus,
|
||||
});
|
||||
|
||||
ServerInfo copyWith({
|
||||
ServerVersion? serverVersion,
|
||||
ServerVersion? latestVersion,
|
||||
ServerFeatures? serverFeatures,
|
||||
ServerConfig? serverConfig,
|
||||
ServerDiskInfo? serverDiskInfo,
|
||||
VersionStatus? versionStatus,
|
||||
}) {
|
||||
return ServerInfo(
|
||||
serverVersion: serverVersion ?? this.serverVersion,
|
||||
latestVersion: latestVersion ?? this.latestVersion,
|
||||
serverFeatures: serverFeatures ?? this.serverFeatures,
|
||||
serverConfig: serverConfig ?? this.serverConfig,
|
||||
serverDiskInfo: serverDiskInfo ?? this.serverDiskInfo,
|
||||
versionStatus: versionStatus ?? this.versionStatus,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'ServerInfo(serverVersion: $serverVersion, latestVersion: $latestVersion, serverFeatures: $serverFeatures, serverConfig: $serverConfig, serverDiskInfo: $serverDiskInfo, versionStatus: $versionStatus)';
|
||||
}
|
||||
|
||||
@override
|
||||
bool operator ==(Object other) {
|
||||
if (identical(this, other)) return true;
|
||||
|
||||
return other is ServerInfo &&
|
||||
other.serverVersion == serverVersion &&
|
||||
other.latestVersion == latestVersion &&
|
||||
other.serverFeatures == serverFeatures &&
|
||||
other.serverConfig == serverConfig &&
|
||||
other.serverDiskInfo == serverDiskInfo &&
|
||||
other.versionStatus == versionStatus;
|
||||
}
|
||||
|
||||
@override
|
||||
int get hashCode {
|
||||
return serverVersion.hashCode ^
|
||||
latestVersion.hashCode ^
|
||||
serverFeatures.hashCode ^
|
||||
serverConfig.hashCode ^
|
||||
serverDiskInfo.hashCode ^
|
||||
versionStatus.hashCode;
|
||||
}
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue