refactor(backups): Rename BackbaleCredential to BackupsCredential

Also adding provider field
pull/228/head
Inex Code 2023-06-16 04:28:45 +03:00
parent 4a7f986ff4
commit a5bb654a76
12 changed files with 168 additions and 93 deletions

View File

@ -4,7 +4,7 @@ import 'dart:typed_data';
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:hive_flutter/hive_flutter.dart';
import 'package:selfprivacy/logic/models/hive/backblaze_bucket.dart';
import 'package:selfprivacy/logic/models/hive/backblaze_credential.dart';
import 'package:selfprivacy/logic/models/hive/backups_credential.dart';
import 'package:selfprivacy/logic/models/hive/server_details.dart';
import 'package:selfprivacy/logic/models/hive/server_domain.dart';
import 'package:selfprivacy/logic/models/hive/user.dart';
@ -111,7 +111,7 @@ class BNames {
/// A [ServerHostingDetails] field of [serverInstallationBox] box.
static String serverDetails = 'hetznerServer';
/// A [BackblazeCredential] field of [serverInstallationBox] box.
/// A [BackupsCredential] field of [serverInstallationBox] box.
static String backblazeCredential = 'backblazeKey';
/// A [BackblazeBucket] field of [serverInstallationBox] box.

View File

@ -4,7 +4,7 @@ import 'package:dio/dio.dart';
import 'package:selfprivacy/config/get_it_config.dart';
import 'package:selfprivacy/logic/api_maps/api_generic_result.dart';
import 'package:selfprivacy/logic/api_maps/rest_maps/api_map.dart';
import 'package:selfprivacy/logic/models/hive/backblaze_credential.dart';
import 'package:selfprivacy/logic/models/hive/backups_credential.dart';
export 'package:selfprivacy/logic/api_maps/api_generic_result.dart';
@ -36,7 +36,7 @@ class BackblazeApi extends ApiMap {
responseType: ResponseType.json,
);
if (isWithToken) {
final BackblazeCredential? backblazeCredential =
final BackupsCredential? backblazeCredential =
getIt<ApiConfigModel>().backblazeCredential;
final String token = backblazeCredential!.applicationKey;
options.headers = {'Authorization': 'Basic $token'};
@ -56,7 +56,7 @@ class BackblazeApi extends ApiMap {
Future<BackblazeApiAuth> getAuthorizationToken() async {
final Dio client = await getClient();
final BackblazeCredential? backblazeCredential =
final BackupsCredential? backblazeCredential =
getIt<ApiConfigModel>().backblazeCredential;
if (backblazeCredential == null) {
throw Exception('Backblaze credential is null');
@ -121,7 +121,7 @@ class BackblazeApi extends ApiMap {
// Create bucket
Future<String> createBucket(final String bucketName) async {
final BackblazeApiAuth auth = await getAuthorizationToken();
final BackblazeCredential? backblazeCredential =
final BackupsCredential? backblazeCredential =
getIt<ApiConfigModel>().backblazeCredential;
final Dio client = await getClient();
client.options.baseUrl = auth.apiUrl;

View File

@ -3,7 +3,7 @@ import 'package:cubit_form/cubit_form.dart';
import 'package:selfprivacy/config/get_it_config.dart';
import 'package:selfprivacy/logic/api_maps/rest_maps/backblaze.dart';
import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart';
import 'package:selfprivacy/logic/models/hive/backblaze_credential.dart';
import 'package:selfprivacy/logic/models/hive/backups_credential.dart';
import 'package:easy_localization/easy_localization.dart';
class BackblazeFormCubit extends FormCubit {

View File

@ -11,7 +11,7 @@ import 'package:selfprivacy/logic/api_maps/rest_maps/dns_providers/dns_provider_
import 'package:selfprivacy/logic/api_maps/rest_maps/server_providers/server_provider.dart';
import 'package:selfprivacy/logic/api_maps/rest_maps/server_providers/server_provider_api_settings.dart';
import 'package:selfprivacy/logic/api_maps/staging_options.dart';
import 'package:selfprivacy/logic/models/hive/backblaze_credential.dart';
import 'package:selfprivacy/logic/models/hive/backups_credential.dart';
import 'package:selfprivacy/logic/models/hive/server_details.dart';
import 'package:selfprivacy/logic/models/hive/server_domain.dart';
import 'package:selfprivacy/logic/models/hive/user.dart';
@ -228,9 +228,10 @@ class ServerInstallationCubit extends Cubit<ServerInstallationState> {
}
void setBackblazeKey(final String keyId, final String applicationKey) async {
final BackblazeCredential backblazeCredential = BackblazeCredential(
final BackupsCredential backblazeCredential = BackupsCredential(
keyId: keyId,
applicationKey: applicationKey,
provider: BackupsProvider.backblaze,
);
await repository.saveBackblazeKey(backblazeCredential);
if (state is ServerInstallationRecovery) {
@ -735,7 +736,7 @@ class ServerInstallationCubit extends Cubit<ServerInstallationState> {
}
void finishRecoveryProcess(
final BackblazeCredential backblazeCredential,
final BackupsCredential backblazeCredential,
) async {
await repository.saveIsServerStarted(true);
await repository.saveIsServerResetedFirstTime(true);

View File

@ -16,7 +16,7 @@ import 'package:selfprivacy/logic/api_maps/graphql_maps/server_api/server_api.da
import 'package:selfprivacy/logic/api_maps/rest_maps/server_providers/server_provider.dart';
import 'package:selfprivacy/logic/api_maps/staging_options.dart';
import 'package:selfprivacy/logic/cubit/server_installation/server_installation_cubit.dart';
import 'package:selfprivacy/logic/models/hive/backblaze_credential.dart';
import 'package:selfprivacy/logic/models/hive/backups_credential.dart';
import 'package:selfprivacy/logic/models/hive/server_details.dart';
import 'package:selfprivacy/logic/models/hive/server_domain.dart';
import 'package:selfprivacy/logic/models/hive/user.dart';
@ -49,7 +49,7 @@ class ServerInstallationRepository {
final ServerDomain? serverDomain = getIt<ApiConfigModel>().serverDomain;
final ServerProvider? serverProvider =
getIt<ApiConfigModel>().serverProvider;
final BackblazeCredential? backblazeCredential =
final BackupsCredential? backblazeCredential =
getIt<ApiConfigModel>().backblazeCredential;
final ServerHostingDetails? serverDetails =
getIt<ApiConfigModel>().serverDetails;
@ -228,7 +228,7 @@ class ServerInstallationRepository {
final User rootUser,
final String domainName,
final String dnsApiToken,
final BackblazeCredential backblazeCredential, {
final BackupsCredential backblazeCredential, {
required final void Function() onCancel,
required final Future<void> Function(ServerHostingDetails serverDetails)
onSuccess,
@ -706,7 +706,7 @@ class ServerInstallationRepository {
}
Future<void> saveBackblazeKey(
final BackblazeCredential backblazeCredential,
final BackupsCredential backblazeCredential,
) async {
await getIt<ApiConfigModel>().storeBackblazeCredential(backblazeCredential);
}

View File

@ -30,7 +30,7 @@ abstract class ServerInstallationState extends Equatable {
final String? providerApiToken;
final String? dnsApiToken;
final String? serverTypeIdentificator;
final BackblazeCredential? backblazeCredential;
final BackupsCredential? backblazeCredential;
final ServerDomain? serverDomain;
final User? rootUser;
final ServerHostingDetails? serverDetails;
@ -161,7 +161,7 @@ class ServerInstallationNotFinished extends ServerInstallationState {
final String? providerApiToken,
final String? serverTypeIdentificator,
final String? dnsApiToken,
final BackblazeCredential? backblazeCredential,
final BackupsCredential? backblazeCredential,
final ServerDomain? serverDomain,
final User? rootUser,
final ServerHostingDetails? serverDetails,
@ -226,7 +226,7 @@ class ServerInstallationFinished extends ServerInstallationState {
required String super.providerApiToken,
required String super.serverTypeIdentificator,
required String super.dnsApiToken,
required BackblazeCredential super.backblazeCredential,
required BackupsCredential super.backblazeCredential,
required ServerDomain super.serverDomain,
required User super.rootUser,
required ServerHostingDetails super.serverDetails,
@ -309,7 +309,7 @@ class ServerInstallationRecovery extends ServerInstallationState {
final String? providerApiToken,
final String? serverTypeIdentificator,
final String? dnsApiToken,
final BackblazeCredential? backblazeCredential,
final BackupsCredential? backblazeCredential,
final ServerDomain? serverDomain,
final User? rootUser,
final ServerHostingDetails? serverDetails,

View File

@ -1,7 +1,7 @@
import 'package:hive/hive.dart';
import 'package:selfprivacy/config/hive_config.dart';
import 'package:selfprivacy/logic/models/hive/backblaze_bucket.dart';
import 'package:selfprivacy/logic/models/hive/backblaze_credential.dart';
import 'package:selfprivacy/logic/models/hive/backups_credential.dart';
import 'package:selfprivacy/logic/models/hive/server_details.dart';
import 'package:selfprivacy/logic/models/hive/server_domain.dart';
@ -16,7 +16,7 @@ class ApiConfigModel {
ServerProvider? get serverProvider => _serverProvider;
DnsProvider? get dnsProvider => _dnsProvider;
BackblazeCredential? get backblazeCredential => _backblazeCredential;
BackupsCredential? get backblazeCredential => _backblazeCredential;
ServerDomain? get serverDomain => _serverDomain;
BackblazeBucket? get backblazeBucket => _backblazeBucket;
@ -27,7 +27,7 @@ class ApiConfigModel {
ServerProvider? _serverProvider;
DnsProvider? _dnsProvider;
ServerHostingDetails? _serverDetails;
BackblazeCredential? _backblazeCredential;
BackupsCredential? _backblazeCredential;
ServerDomain? _serverDomain;
BackblazeBucket? _backblazeBucket;
@ -61,7 +61,7 @@ class ApiConfigModel {
_serverLocation = serverLocation;
}
Future<void> storeBackblazeCredential(final BackblazeCredential value) async {
Future<void> storeBackblazeCredential(final BackupsCredential value) async {
await _box.put(BNames.backblazeCredential, value);
_backblazeCredential = value;
}

View File

@ -12,3 +12,4 @@
100. DnsProvider
101. ServerProvider
102. UserType
103. BackupsProvider

View File

@ -1,27 +0,0 @@
import 'dart:convert';
import 'package:hive/hive.dart';
part 'backblaze_credential.g.dart';
@HiveType(typeId: 4)
class BackblazeCredential {
BackblazeCredential({required this.keyId, required this.applicationKey});
@HiveField(0)
final String keyId;
@HiveField(1)
final String applicationKey;
String get encodedApiKey => encodedBackblazeKey(keyId, applicationKey);
@override
String toString() => '$keyId: $encodedApiKey';
}
String encodedBackblazeKey(final String? keyId, final String? applicationKey) {
final String apiKey = '$keyId:$applicationKey';
final String encodedApiKey = base64.encode(utf8.encode(apiKey));
return encodedApiKey;
}

View File

@ -1,44 +0,0 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'backblaze_credential.dart';
// **************************************************************************
// TypeAdapterGenerator
// **************************************************************************
class BackblazeCredentialAdapter extends TypeAdapter<BackblazeCredential> {
@override
final int typeId = 4;
@override
BackblazeCredential read(BinaryReader reader) {
final numOfFields = reader.readByte();
final fields = <int, dynamic>{
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return BackblazeCredential(
keyId: fields[0] as String,
applicationKey: fields[1] as String,
);
}
@override
void write(BinaryWriter writer, BackblazeCredential obj) {
writer
..writeByte(2)
..writeByte(0)
..write(obj.keyId)
..writeByte(1)
..write(obj.applicationKey);
}
@override
int get hashCode => typeId.hashCode;
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is BackblazeCredentialAdapter &&
runtimeType == other.runtimeType &&
typeId == other.typeId;
}

View File

@ -0,0 +1,51 @@
import 'dart:convert';
import 'package:hive/hive.dart';
import 'package:selfprivacy/logic/api_maps/graphql_maps/schema/schema.graphql.dart';
part 'backups_credential.g.dart';
@HiveType(typeId: 4)
class BackupsCredential {
BackupsCredential({required this.keyId, required this.applicationKey, required this.provider});
@HiveField(0)
final String keyId;
@HiveField(1)
final String applicationKey;
@HiveField(2, defaultValue: BackupsProvider.backblaze)
final BackupsProvider provider;
String get encodedApiKey => encodedBackblazeKey(keyId, applicationKey);
@override
String toString() => '$keyId: $encodedApiKey';
}
String encodedBackblazeKey(final String? keyId, final String? applicationKey) {
final String apiKey = '$keyId:$applicationKey';
final String encodedApiKey = base64.encode(utf8.encode(apiKey));
return encodedApiKey;
}
@HiveType(typeId: 103)
enum BackupsProvider {
@HiveField(0)
none,
@HiveField(1)
memory,
@HiveField(2)
file,
@HiveField(3)
backblaze;
factory BackupsProvider.fromGraphQL(final Enum$BackupProvider provider) => switch (provider) {
Enum$BackupProvider.NONE => none,
Enum$BackupProvider.MEMORY => memory,
Enum$BackupProvider.FILE => file,
Enum$BackupProvider.BACKBLAZE => backblaze,
Enum$BackupProvider.$unknown => none
};
}

View File

@ -0,0 +1,93 @@
// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'backups_credential.dart';
// **************************************************************************
// TypeAdapterGenerator
// **************************************************************************
class BackblazeCredentialAdapter extends TypeAdapter<BackblazeCredential> {
@override
final int typeId = 4;
@override
BackblazeCredential read(BinaryReader reader) {
final numOfFields = reader.readByte();
final fields = <int, dynamic>{
for (int i = 0; i < numOfFields; i++) reader.readByte(): reader.read(),
};
return BackblazeCredential(
keyId: fields[0] as String,
applicationKey: fields[1] as String,
);
}
@override
void write(BinaryWriter writer, BackblazeCredential obj) {
writer
..writeByte(2)
..writeByte(0)
..write(obj.keyId)
..writeByte(1)
..write(obj.applicationKey);
}
@override
int get hashCode => typeId.hashCode;
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is BackblazeCredentialAdapter &&
runtimeType == other.runtimeType &&
typeId == other.typeId;
}
class BackupsProviderAdapter extends TypeAdapter<BackupsProvider> {
@override
final int typeId = 103;
@override
BackupsProvider read(BinaryReader reader) {
switch (reader.readByte()) {
case 0:
return BackupsProvider.none;
case 1:
return BackupsProvider.memory;
case 2:
return BackupsProvider.file;
case 3:
return BackupsProvider.backblaze;
default:
return BackupsProvider.none;
}
}
@override
void write(BinaryWriter writer, BackupsProvider obj) {
switch (obj) {
case BackupsProvider.none:
writer.writeByte(0);
break;
case BackupsProvider.memory:
writer.writeByte(1);
break;
case BackupsProvider.file:
writer.writeByte(2);
break;
case BackupsProvider.backblaze:
writer.writeByte(3);
break;
}
}
@override
int get hashCode => typeId.hashCode;
@override
bool operator ==(Object other) =>
identical(this, other) ||
other is BackupsProviderAdapter &&
runtimeType == other.runtimeType &&
typeId == other.typeId;
}