Merge branch 'feat/fd-905' into feat/fd-1023

This commit is contained in:
J. A. Messias 2024-12-09 09:37:45 -03:00
commit b3d7bfa6d5
3 changed files with 25 additions and 13 deletions

View File

@ -9,7 +9,6 @@ class LocalsLocalDataSourceImpl {
Future<void> unlinkLocal() async {
await StorageHelper().set(KeychainStorageKey.clientUUID.value, '');
await StorageHelper().set(KeychainStorageKey.ownerName.value, '');
await StorageHelper().set(KeychainStorageKey.clientName.value, '');
await StorageHelper().set(KeychainStorageKey.ownerName.value, '');
}

View File

@ -18,7 +18,8 @@ import 'package:hub/shared/utils/dialog_util.dart';
import 'package:hub/shared/utils/snackbar_util.dart';
abstract class LocalsRemoteDataSource {
Future<void> checkLocals(BuildContext context);
Future<void> linkLocal(BuildContext context);
Future<bool> checkLocals(BuildContext context);
Future<bool> processLocals(BuildContext context) ;
Future<bool> processData(BuildContext context);
Future<bool> selectLocal(BuildContext context, ApiCallResponse? response) ;
@ -31,7 +32,7 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource {
LocalsRemoteDataSourceImpl._internal();
@override
Future<void> checkLocals(BuildContext context) async {
Future<void> linkLocal(BuildContext context) async {
try {
final GetLocalsCall callback = PhpGroup.getLocalsCall;
var response = await callback.call();
@ -142,6 +143,13 @@ class LocalsRemoteDataSourceImpl implements LocalsRemoteDataSource {
}
}
@override
Future<bool> checkLocals(BuildContext context) async {
String cliUUID = (await StorageHelper().get(KeychainStorageKey.clientUUID.value)) ?? '';
String cliName = (await StorageHelper().get(KeychainStorageKey.clientName.value)) ?? '';
return cliUUID.isEmpty && cliName.isEmpty;
}
@override
Future<bool> processData(BuildContext context) async {
try {

View File

@ -20,7 +20,7 @@ class LocalsRepositoryImpl implements LocalsRepository {
@override
Future<void> validateLocal(BuildContext context) async {
return await remoteDataSource.checkLocals(context);
return await remoteDataSource.linkLocal(context);
}
@override
@ -49,6 +49,8 @@ class LocalsRepositoryImpl implements LocalsRepository {
Future<bool> _handleReponse(BuildContext context) async {
bool response = false;
final bool isUnselected = await remoteDataSource.checkLocals(context);
if (isUnselected) {
while (!response) {
try {
response = await remoteDataSource.processLocals(context);
@ -60,6 +62,9 @@ class LocalsRepositoryImpl implements LocalsRepository {
await _handleUpdateError(context);
}
}
} else {
return true;
}
return response;
}