115 lines
3.5 KiB
Dart
115 lines
3.5 KiB
Dart
// ignore_for_file: curly_braces_in_flow_control_structures, prefer_is_empty
|
|
|
|
import 'dart:developer';
|
|
|
|
import 'package:hub/backend/api_requests/api_calls.dart';
|
|
import 'package:hub/shared/helpers/base_storage.dart';
|
|
import 'package:hub/shared/helpers/sqlite_storage.dart';
|
|
import 'dart:convert';
|
|
|
|
import 'package:hub/shared/helpers/storage_helper.dart';
|
|
import 'package:sqflite/sqflite.dart';
|
|
|
|
class LicenseService {
|
|
static final LicenseService _instance = LicenseService._internal();
|
|
|
|
factory LicenseService() => _instance;
|
|
LicenseService._internal();
|
|
|
|
static Future<void> initLicenseService() async {
|
|
// for (var element in LicenseStorageKey.values.map((e) => e.value)) {
|
|
// await SQLiteStorage.database.insert(
|
|
// SQLiteStorage.tableLicense,
|
|
// {
|
|
// 'key': element,
|
|
// 'display': 'VISIVEL',
|
|
// 'expirationDate': '',
|
|
// 'startDate': '',
|
|
// 'quantity': '',
|
|
// },
|
|
// conflictAlgorithm: ConflictAlgorithm.ignore,
|
|
// );
|
|
// }
|
|
}
|
|
|
|
static Future<void> processLicense() async {}
|
|
|
|
static Future<void> fetchLicenses() async {
|
|
try {
|
|
log('Obtendo licenças...');
|
|
final ApiCallResponse response = await PhpGroup.testCall();
|
|
final List<dynamic> responseBody = response.jsonBody;
|
|
|
|
if (responseBody == []) {
|
|
// throw Exception('Licensa ausente ou vazia.');
|
|
}
|
|
|
|
if (response.jsonBody is! List<dynamic> && response.jsonBody['error'] != null) {
|
|
final String error = response.jsonBody['error_msg'] ?? 'Erro desconhecido';
|
|
throw Exception('Erro ao consultar licenças: $error');
|
|
}
|
|
|
|
for (var element in responseBody) {
|
|
switch (element['key']) {
|
|
case 'FRE-HUB-MESSAGES':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-LIBERATIONS':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-RESERVATIONS':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-ACCESS':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-OPENED-VISITS':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-VEHICLES':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-RESIDENTS':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-PETS':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-FASTPASS':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-ORDERS':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-COMPLETE-SCHEDULE':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-AGE-PROV-DELIVERY':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-HUB-AGE-PROV-PRESTADOR':
|
|
_saveModule(element);
|
|
break;
|
|
case 'FRE-WHATSAPP':
|
|
_saveModule(element);
|
|
break;
|
|
}
|
|
}
|
|
} catch (e, s) {
|
|
log('Erro ao obter licença', error: e, stackTrace: s);
|
|
}
|
|
}
|
|
|
|
static Future<void> _saveModule(final dynamic body) async {
|
|
if (body is Map<String, dynamic>) log('Salvando módulo: ${body.toString()}');
|
|
// if (body is Map<String, dynamic>) await StorageHelper().set(body['key'], '', Storage.SQLiteStorage);
|
|
if (body is Map<String, dynamic>) await StorageHelper().set(body['key'], jsonEncode(body), Storage.SQLiteStorage);
|
|
}
|
|
|
|
static Future<void> updateLicense(final dynamic body) async {}
|
|
|
|
static Future<void> catchLicense() async {
|
|
await PhpGroup.getLicense();
|
|
}
|
|
}
|