45 lines
1.5 KiB
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;';
|
|
|