2025-10-20 16:13:31 -05:00
|
|
|
import 'package:easy_localization/easy_localization.dart';
|
2026-08-05 12:00:49 -07:00
|
|
|
import 'package:flutter/foundation.dart';
|
|
|
|
|
import 'package:freezed_annotation/freezed_annotation.dart';
|
2024-04-30 21:36:40 -05:00
|
|
|
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';
|
2022-03-22 01:22:04 -05:00
|
|
|
|
2026-08-05 12:00:49 -07:00
|
|
|
part 'server_info.model.freezed.dart';
|
|
|
|
|
|
2025-10-20 16:13:31 -05:00
|
|
|
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(),
|
|
|
|
|
};
|
|
|
|
|
}
|
|
|
|
|
|
2026-08-05 12:00:49 -07:00
|
|
|
@freezed
|
|
|
|
|
abstract class ServerInfo with _$ServerInfo {
|
|
|
|
|
const factory ServerInfo({
|
|
|
|
|
required ServerVersion serverVersion,
|
2023-11-17 21:46:18 +00:00
|
|
|
ServerVersion? latestVersion,
|
2026-08-05 12:00:49 -07:00
|
|
|
required ServerFeatures serverFeatures,
|
|
|
|
|
required ServerConfig serverConfig,
|
|
|
|
|
required ServerDiskInfo serverDiskInfo,
|
|
|
|
|
required VersionStatus versionStatus,
|
|
|
|
|
}) = _ServerInfo;
|
2022-03-22 01:22:04 -05:00
|
|
|
}
|