flutter-freaccess-hub/lib/shared/components/molecules/modules/domain/entities/license.dart

762 lines
24 KiB
Dart

import 'package:hub/shared/extensions/string_extensions.dart';
import 'package:hub/shared/helpers/database/database_helper.dart';
import 'package:hub/shared/helpers/storage/base_storage.dart';
import 'package:hub/shared/helpers/storage/storage_helper.dart';
import 'module.dart';
class License {
final List<Module> modules;
const License(
this.modules,
);
static List<String> mods = [
'FRE-HUB-MESSAGES',
'FRE-HUB-LIBERATIONS',
'FRE-HUB-RESERVATIONS',
'FRE-HUB-ACCESS',
'FRE-HUB-OPENED-VISITS',
'FRE-HUB-VEHICLES',
'FRE-HUB-RESIDENTS',
'FRE-HUB-PETS',
'FRE-HUB-ORDERS',
'FRE-HUB-COMPLETE-SCHEDULE',
'FRE-HUB-AGE-PROV-PRESTADOR',
'FRE-HUB-AGE-PROV-DELIVERY',
'FRE-HUB-PROPERTY',
'FRE-HUB-FASTPASS',
'FRE-HUB-VISITORS',
'FRE-HUB-QRCODE',
'FRE-HUB-PEOPLE',
'FRE-HUB-PETS-HISTORY'
];
void processOldVersion() async {
final bool whatsapp = await StorageHelper().g(KeychainStorageKey.whatsapp as String).then((v) => v.toBoolean());
final bool provisional = await StorageHelper().g(KeychainStorageKey.provisional as String).then((v) => v.toBoolean());
final bool pets = await StorageHelper().g(KeychainStorageKey.pets as String).then((v) => v.toBoolean());
}
factory License.getLicense(bool isNewVersion) {
return License([
Module(
key: 'FRE-HUB-MESSAGES',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-LIBERATIONS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-RESERVATIONS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-ACCESS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-OPENED-VISITS',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-VEHICLES',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-RESIDENTS',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-PETS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-ORDERS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-COMPLETE-SCHEDULE',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-AGE-PROV-PRESTADOR',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-AGE-PROV-DELIVERY',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-FASTPASS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-QRCODE',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-VISITORS',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-PROPERTY',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-PEOPLE',
display: isNewVersion ? ModuleStatus.inactive.key : ModuleStatus.active.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
Module(
key: 'FRE-HUB-PETS-HISTORY',
display: isNewVersion ? ModuleStatus.active.key : ModuleStatus.inactive.key,
expirationDate: '',
startDate: '',
quantity: 0,
),
]
);
}
}
// import 'package:equatable/equatable.dart';
// import 'module.dart';
// import 'package:flutter/material.dart';
// import 'package:hub/flutter_flow/internationalization.dart';
// import 'package:hub/flutter_flow/nav/nav.dart';
// import 'package:hub/shared/components/molecules/modules/index.dart';
// enum ModuleStatus { active, inactive, disabled }
// extension ModuleStatusExtension on ModuleStatus {
// String get value {
// switch (this) {
// case ModuleStatus.active:
// return 'VISIVEL';
// case ModuleStatus.inactive:
// return 'INVISIVEL';
// case ModuleStatus.disabled:
// return 'DESABILITADO';
// }
// }
// }
// class ModuleExt {
// final String value;
// final String name;
// final IconData icon;
// final String route;
// final (ModuleStatus inOldVersion, ModuleStatus inNewVersion) status;
// const ModuleExt({
// required this.value,
// required this.name,
// required this.icon,
// required this.route,
// required this.status,
// });
// static List<ModuleExt> get license => [
// ModuleExt(
// value: 'FRE-HUB-MESSAGES',
// name: FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Mensagens',
// enText: 'Messages History',
// ),
// icon: Icons.chat_outlined,
// route: '/messageHistoryPage',
// status: (ModuleStatus.active, ModuleStatus.disabled),
// ),
// ];
// }
// enum EModule implements BaseModule {
// providerSchedule,
// deliverySchedule,
// fastPass,
// completeSchedule,
// orders,
// reservations,
// visitors,
// vehicles,
// residents,
// openedVisits,
// qrCode,
// pets,
// access,
// liberations,
// messages,
// aboutProperty,
// petsHistory,
// peopleOnTheProperty,
// settings,
// logout;
// @override
// String get value {
// switch (this) {
// case Module.messages:
// return 'FRE-HUB-MESSAGES';
// case Module.liberations:
// return 'FRE-HUB-LIBERATIONS';
// case Module.reservations:
// return 'FRE-HUB-RESERVATIONS';
// case Module.access:
// return 'FRE-HUB-ACCESS';
// case Module.openedVisits:
// return 'FRE-HUB-OPENED-VISITS';
// case Module.vehicles:
// return 'FRE-HUB-VEHICLES';
// case Module.residents:
// return 'FRE-HUB-RESIDENTS';
// case Module.pets:
// return 'FRE-HUB-PETS';
// case Module.orders:
// return 'FRE-HUB-ORDERS';
// case Module.completeSchedule:
// return 'FRE-HUB-COMPLETE-SCHEDULE';
// case Module.providerSchedule:
// return 'FRE-HUB-AGE-PROV-PRESTADOR';
// case Module.deliverySchedule:
// return 'FRE-HUB-AGE-PROV-DELIVERY';
// case Module.aboutProperty:
// return 'FRE-HUB-PROPERTY';
// case Module.fastPass:
// return 'FRE-HUB-FASTPASS';
// case Module.visitors:
// return 'FRE-HUB-VISITORS';
// case Module.qrCode:
// return 'FRE-HUB-QRCODE';
// case Module.peopleOnTheProperty:
// return 'FRE-HUB-PEOPLE';
// case Module.petsHistory:
// return 'FRE-HUB-PETS-HISTORY';
// default:
// return '';
// }
// }
// @override
// String get name {
// switch (this) {
// case Module.messages:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Mensagens',
// enText: 'Messages History',
// );
// case Module.liberations:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Liberações',
// enText: 'Liberations History',
// );
// case Module.reservations:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Reservas',
// enText: 'Reservations',
// );
// case Module.access:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Acessos',
// enText: 'Access History',
// );
// case Module.openedVisits:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Visitas em Aberto',
// enText: 'Opened Visits',
// );
// case Module.vehicles:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Veículos',
// enText: 'Vehicles',
// );
// case Module.residents:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Moradores',
// enText: 'Residents',
// );
// case Module.pets:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pets',
// enText: 'Pets',
// );
// case Module.petsHistory:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pets',
// enText: 'Pets',
// );
// case Module.peopleOnTheProperty:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pessoas na Propriedade',
// enText: 'People on the Property',
// );
// case Module.orders:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Minhas Encomendas',
// enText: 'My Orders',
// );
// case Module.completeSchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agenda Completa',
// enText: 'Complete Schedule',
// );
// case Module.providerSchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agendar Prestadores',
// enText: 'Schedule Providers',
// );
// case Module.deliverySchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agendar Delivery',
// enText: 'Schedule Delivery',
// );
// case Module.fastPass:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Fast Pass',
// enText: 'Fast Pass',
// );
// case Module.qrCode:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'QRCode de Acesso',
// enText: 'Access QRCode',
// );
// case Module.visitors:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Cadastrar Visitantes',
// enText: 'Register Visitors',
// );
// case Module.aboutProperty:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Sobre a Propriedade',
// enText: 'About the Property',
// );
// case Module.settings:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Configurações',
// enText: 'Settings',
// );
// case Module.logout:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Sair',
// enText: 'Logout',
// );
// }
// }
// @override
// IconData get icon {
// switch (this) {
// case Module.messages:
// return Icons.chat_outlined;
// case Module.liberations:
// return Icons.how_to_reg_outlined;
// case Module.reservations:
// return Icons.event_available;
// case Module.access:
// return Icons.transfer_within_a_station_outlined;
// case Module.openedVisits:
// return Icons.perm_contact_calendar;
// case Module.vehicles:
// return Icons.directions_car;
// case Module.residents:
// return Icons.groups;
// case Module.pets:
// return Icons.pets;
// case Module.petsHistory:
// return Icons.pets;
// case Module.peopleOnTheProperty:
// return Icons.groups;
// case Module.orders:
// return Icons.inventory_2_outlined;
// case Module.completeSchedule:
// return Icons.event;
// case Module.providerSchedule:
// return Icons.engineering_outlined;
// case Module.deliverySchedule:
// return Icons.sports_motorsports_outlined;
// case Module.fastPass:
// return Icons.attach_email_outlined;
// case Module.qrCode:
// return Icons.qr_code;
// case Module.visitors:
// return Icons.person_add_alt_1_outlined;
// case Module.aboutProperty:
// return Icons.home;
// case Module.settings:
// return Icons.settings;
// case Module.logout:
// return Icons.logout;
// }
// }
// @override
// String get route {
// switch (this) {
// case Module.messages:
// return '/messageHistoryPage';
// case Module.liberations:
// return '/liberationHistory';
// case Module.reservations:
// return '/reservation';
// case Module.access:
// return '/acessHistoryPage';
// case Module.openedVisits:
// return '/visitsOnThePropertyPage';
// case Module.vehicles:
// return '/vehiclesOnThePropertyPage';
// case Module.residents:
// return '/residentsOnThePropertyPage';
// case Module.pets:
// return '/petsPage';
// case Module.petsHistory:
// return '/petsHistoryPage';
// case Module.peopleOnTheProperty:
// return '/peopleOnThePropertyPage';
// case Module.orders:
// return '/packageOrder';
// case Module.completeSchedule:
// return '/scheduleCompleteVisitPage';
// case Module.providerSchedule:
// return '/provisionalSchedule';
// case Module.aboutProperty:
// return '/aboutProperty';
// case Module.deliverySchedule:
// return '/deliverySchedule';
// case Module.fastPass:
// return '/fastPassPage';
// case Module.qrCode:
// return '/qrCodePage';
// case Module.visitors:
// return '/registerVisitorPage';
// case Module.settings:
// return '/preferencesSettings';
// case Module.logout:
// return '/WelcomePage';
// default:
// return '';
// }
// }
// }
// enum ELicense implements BaseModule {
// providerSchedule,
// deliverySchedule,
// fastPass,
// completeSchedule,
// orders,
// reservations,
// visitors,
// vehicles,
// residents,
// openedVisits,
// qrCode,
// pets,
// access,
// liberations,
// messages,
// aboutProperty,
// petsHistory,
// peopleOnTheProperty,
// settings,
// logout;
// @override
// String get value {
// switch (this) {
// case License.messages:
// return 'FRE-HUB-MESSAGES';
// case License.liberations:
// return 'FRE-HUB-LIBERATIONS';
// case License.reservations:
// return 'FRE-HUB-RESERVATIONS';
// case License.access:
// return 'FRE-HUB-ACCESS';
// case License.openedVisits:
// return 'FRE-HUB-OPENED-VISITS';
// case License.vehicles:
// return 'FRE-HUB-VEHICLES';
// case License.residents:
// return 'FRE-HUB-RESIDENTS';
// case License.pets:
// return 'FRE-HUB-PETS';
// case License.orders:
// return 'FRE-HUB-ORDERS';
// case License.completeSchedule:
// return 'FRE-HUB-COMPLETE-SCHEDULE';
// case License.providerSchedule:
// return 'FRE-HUB-AGE-PROV-PRESTADOR';
// case License.deliverySchedule:
// return 'FRE-HUB-AGE-PROV-DELIVERY';
// case License.aboutProperty:
// return 'FRE-HUB-PROPERTY';
// case License.fastPass:
// return 'FRE-HUB-FASTPASS';
// case License.visitors:
// return 'FRE-HUB-VISITORS';
// case License.qrCode:
// return 'FRE-HUB-QRCODE';
// case License.peopleOnTheProperty:
// return 'FRE-HUB-PEOPLE';
// case License.petsHistory:
// return 'FRE-HUB-PETS-HISTORY';
// default:
// return '';
// }
// }
// @override
// String get name {
// switch (this) {
// case License.messages:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Mensagens',
// enText: 'Messages History',
// );
// case License.liberations:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Liberações',
// enText: 'Liberations History',
// );
// case License.reservations:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Reservas',
// enText: 'Reservations',
// );
// case License.access:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Consultar Acessos',
// enText: 'Access History',
// );
// case License.openedVisits:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Visitas em Aberto',
// enText: 'Opened Visits',
// );
// case License.vehicles:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Veículos',
// enText: 'Vehicles',
// );
// case License.residents:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Moradores',
// enText: 'Residents',
// );
// case License.pets:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pets',
// enText: 'Pets',
// );
// case License.petsHistory:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pets',
// enText: 'Pets',
// );
// case License.peopleOnTheProperty:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Pessoas na Propriedade',
// enText: 'People on the Property',
// );
// case License.orders:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Minhas Encomendas',
// enText: 'My Orders',
// );
// case License.completeSchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agenda Completa',
// enText: 'Complete Schedule',
// );
// case License.providerSchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agendar Prestadores',
// enText: 'Schedule Providers',
// );
// case License.deliverySchedule:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Agendar Delivery',
// enText: 'Schedule Delivery',
// );
// case License.fastPass:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Fast Pass',
// enText: 'Fast Pass',
// );
// case License.qrCode:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'QRCode de Acesso',
// enText: 'Access QRCode',
// );
// case License.visitors:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Cadastrar Visitantes',
// enText: 'Register Visitors',
// );
// case License.aboutProperty:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Sobre a Propriedade',
// enText: 'About the Property',
// );
// case License.settings:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Configurações',
// enText: 'Settings',
// );
// case License.logout:
// return FFLocalizations.of(navigatorKey.currentContext!).getVariableText(
// ptText: 'Sair',
// enText: 'Logout',
// );
// }
// }
// @override
// IconData get icon {
// switch (this) {
// case License.messages:
// return Icons.chat_outlined;
// case License.liberations:
// return Icons.how_to_reg_outlined;
// case License.reservations:
// return Icons.event_available;
// case License.access:
// return Icons.transfer_within_a_station_outlined;
// case License.openedVisits:
// return Icons.perm_contact_calendar;
// case License.vehicles:
// return Icons.directions_car;
// case License.residents:
// return Icons.groups;
// case License.pets:
// return Icons.pets;
// case License.petsHistory:
// return Icons.pets;
// case License.peopleOnTheProperty:
// return Icons.groups;
// case License.orders:
// return Icons.inventory_2_outlined;
// case License.completeSchedule:
// return Icons.event;
// case License.providerSchedule:
// return Icons.engineering_outlined;
// case License.deliverySchedule:
// return Icons.sports_motorsports_outlined;
// case License.fastPass:
// return Icons.attach_email_outlined;
// case License.qrCode:
// return Icons.qr_code;
// case License.visitors:
// return Icons.person_add_alt_1_outlined;
// case License.aboutProperty:
// return Icons.home;
// case License.settings:
// return Icons.settings;
// case License.logout:
// return Icons.logout;
// }
// }
// @override
// String get route {
// switch (this) {
// case License.messages:
// return '/messageHistoryPage';
// case License.liberations:
// return '/liberationHistory';
// case License.reservations:
// return '/reservation';
// case License.access:
// return '/acessHistoryPage';
// case License.openedVisits:
// return '/visitsOnThePropertyPage';
// case License.vehicles:
// return '/vehiclesOnThePropertyPage';
// case License.residents:
// return '/residentsOnThePropertyPage';
// case License.pets:
// return '/petsPage';
// case License.petsHistory:
// return '/petsHistoryPage';
// case License.peopleOnTheProperty:
// return '/peopleOnThePropertyPage';
// case License.orders:
// return '/packageOrder';
// case License.completeSchedule:
// return '/scheduleCompleteVisitPage';
// case License.providerSchedule:
// return '/provisionalSchedule';
// case License.aboutProperty:
// return '/aboutProperty';
// case License.deliverySchedule:
// return '/deliverySchedule';
// case License.fastPass:
// return '/fastPassPage';
// case License.qrCode:
// return '/qrCodePage';
// case License.visitors:
// return '/registerVisitorPage';
// case License.settings:
// return '/preferencesSettings';
// case License.logout:
// return '/WelcomePage';
// default:
// return '';
// }
// }
// }