selfprivacy.org.app/lib/logic/cubit/server_detailed_info/server_detailed_info_reposi...

55 lines
1.8 KiB
Dart
Raw Normal View History

import 'package:selfprivacy/config/get_it_config.dart';
import 'package:selfprivacy/logic/api_maps/graphql_maps/server_api/server_api.dart';
import 'package:selfprivacy/logic/models/auto_upgrade_settings.dart';
import 'package:selfprivacy/logic/models/server_metadata.dart';
2022-02-08 23:01:08 +02:00
import 'package:selfprivacy/logic/models/timezone_settings.dart';
import 'package:selfprivacy/logic/providers/providers_controller.dart';
2021-03-26 15:38:39 +02:00
class ServerDetailsRepository {
2022-09-12 20:38:22 +03:00
ServerApi server = ServerApi();
2022-02-08 23:01:08 +02:00
Future<ServerDetailsRepositoryDto> load() async {
final settings = await server.getSystemSettings();
return ServerDetailsRepositoryDto(
autoUpgradeSettings: settings.autoUpgradeSettings,
metadata: await metadata,
serverTimezone: TimeZoneSettings.fromString(
settings.timezone,
),
);
}
Future<List<ServerMetadataEntity>> get metadata async {
List<ServerMetadataEntity> data = [];
final serverProviderApi = ProvidersController.currentServerProvider;
final dnsProviderApi = ProvidersController.currentDnsProvider;
if (serverProviderApi != null && dnsProviderApi != null) {
final serverId = getIt<ApiConfigModel>().serverDetails?.id ?? 0;
final metadataResult = await serverProviderApi.getMetadata(serverId);
metadataResult.data.add(
ServerMetadataEntity(
trId: 'server.dns_provider',
value: dnsProviderApi.type.displayName,
type: MetadataType.other,
),
);
data = metadataResult.data;
}
return data;
}
2021-03-26 15:38:39 +02:00
}
2022-02-08 23:01:08 +02:00
2022-05-24 21:55:39 +03:00
class ServerDetailsRepositoryDto {
ServerDetailsRepositoryDto({
required this.metadata,
2022-02-08 23:01:08 +02:00
required this.serverTimezone,
required this.autoUpgradeSettings,
});
final List<ServerMetadataEntity> metadata;
2022-06-05 22:36:32 +03:00
final TimeZoneSettings serverTimezone;
final AutoUpgradeSettings autoUpgradeSettings;
2022-02-08 23:01:08 +02:00
}