feat: appbar

This commit is contained in:
shenlong-tanwen
2024-10-27 23:43:58 +05:30
parent 5385d43c8c
commit 8450c8cc4f
40 changed files with 1150 additions and 211 deletions
@@ -1,6 +1,8 @@
import 'package:immich_mobile/domain/interfaces/api/server_api.interface.dart';
import 'package:immich_mobile/domain/models/server-info/server_config.model.dart';
import 'package:immich_mobile/domain/models/server-info/server_disk_info.model.dart';
import 'package:immich_mobile/domain/models/server-info/server_features.model.dart';
import 'package:immich_mobile/domain/models/server-info/server_version.model.dart';
import 'package:immich_mobile/utils/mixins/log.mixin.dart';
import 'package:openapi/api.dart' as api;
@@ -40,6 +42,32 @@ class ServerApiRepository with LogMixin implements IServerApiRepository {
}
return null;
}
@override
Future<ServerDiskInfo?> getServerDiskInfo() async {
try {
final storage = await _serverApi.getStorage();
if (storage != null) {
return _fromStorageDto(storage);
}
} catch (e, s) {
log.e("Exception occured while fetching server disk info", e, s);
}
return null;
}
@override
Future<ServerVersion?> getServerVersion() async {
try {
final version = await _serverApi.getServerVersion();
if (version != null) {
return _fromVersionDto(version);
}
} catch (e, s) {
log.e("Exception occured while fetching server version", e, s);
}
return null;
}
}
ServerConfig _fromConfigDto(api.ServerConfigDto dto) => ServerConfig(
@@ -50,3 +78,14 @@ ServerFeatures _fromFeatureDto(api.ServerFeaturesDto dto) => ServerFeatures(
hasPasswordLogin: dto.passwordLogin,
hasOAuthLogin: dto.oauth,
);
ServerDiskInfo _fromStorageDto(api.ServerStorageResponseDto dto) =>
ServerDiskInfo(
diskAvailableInBytes: dto.diskAvailableRaw,
diskSizeInBytes: dto.diskSizeRaw,
diskUseInBytes: dto.diskUseRaw,
diskUsagePercentage: dto.diskUsagePercentage,
);
ServerVersion _fromVersionDto(api.ServerVersionResponseDto dto) =>
ServerVersion(major: dto.major, minor: dto.minor, patch: dto.patch_);