flutter-freaccess-hub/lib/shared/components/molecules/modules/constants/license_constants.dart

45 lines
1.5 KiB
Dart

const String tableLicense = 'license';
String get createLicenseTable => '''
CREATE TABLE IF NOT EXISTS $tableLicense (
key TEXT UNIQUE,
display TEXT,
expirationDate TEXT,
startDate TEXT,
quantity TEXT
);
''';
String get deleteLicenseTable => 'DROP TABLE IF EXISTS $tableLicense;';
String get updatePetsHistoryTrigger => '''
CREATE TRIGGER update_fre_hub_pets_history
AFTER INSERT ON $tableLicense
WHEN NEW.key = 'FRE-HUB-PETS'
BEGIN
INSERT OR REPLACE INTO $tableLicense (key, display, expirationDate, startDate, quantity)
VALUES ('FRE-HUB-PETS-HISTORY', NEW.display, NEW.expirationDate, NEW.startDate, NEW.quantity);
END;
''';
String get dropPetsHistoryTrigger => 'DROP TRIGGER IF EXISTS update_fre_hub_pets_history;';
String get updateDisplayTrigger => '''
CREATE TRIGGER update_display_trigger
AFTER UPDATE ON $tableLicense
WHEN NEW.key IN ('FRE-HUB-OPENED-VISITS', 'FRE-HUB-VEHICLES', 'FRE-HUB-RESIDENTS', 'FRE-HUB-PETS')
BEGIN
UPDATE $tableLicense
SET display = CASE
WHEN (SELECT COUNT(*) FROM $tableLicense WHERE key IN ('FRE-HUB-OPENED-VISITS', 'FRE-HUB-VEHICLES', 'FRE-HUB-RESIDENTS', 'FRE-HUB-PETS') AND display = 'VISIVEL') > 0
THEN 'VISIVEL'
ELSE 'INVISIVEL'
END
WHERE key = 'FRE-HUB-ABOUT-PROPERTY';
END;
''';
String get dropDisplayTrigger => 'DROP TRIGGER IF EXISTS update_display_trigger;';