// dart format width=80 // GENERATED BY drift_dev, DO NOT MODIFY. // ignore_for_file: type=lint,unused_import // import 'package:drift/drift.dart'; class Bang extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; Bang(this.attachedDatabase, [this._alias]); late final GeneratedColumn trigger = GeneratedColumn( 'trigger', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn group = GeneratedColumn( 'group', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn websiteName = GeneratedColumn( 'website_name', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn domain = GeneratedColumn( 'domain', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn urlTemplate = GeneratedColumn( 'url_template', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn category = GeneratedColumn( 'category', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: '', ); late final GeneratedColumn subCategory = GeneratedColumn( 'sub_category', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: '', ); late final GeneratedColumn format = GeneratedColumn( 'format', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: '', ); late final GeneratedColumn additionalTriggers = GeneratedColumn( 'additional_triggers', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: '', ); late final GeneratedColumn searxngApi = GeneratedColumn( 'searxng_api', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'NOT NULL DEFAULT FALSE', defaultValue: const CustomExpression('FALSE'), ); @override List get $columns => [ trigger, group, websiteName, domain, urlTemplate, category, subCategory, format, additionalTriggers, searxngApi, ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'bang'; @override Set get $primaryKey => {trigger, group}; @override BangData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return BangData( trigger: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}trigger'], )!, group: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}group'], )!, websiteName: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}website_name'], )!, domain: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}domain'], )!, urlTemplate: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}url_template'], )!, category: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}category'], ), subCategory: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}sub_category'], ), format: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}format'], ), additionalTriggers: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}additional_triggers'], ), searxngApi: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}searxng_api'], )!, ); } @override Bang createAlias(String alias) { return Bang(attachedDatabase, alias); } @override List get customConstraints => const [ 'PRIMARY KEY("trigger", "group")', ]; @override bool get dontWriteConstraints => true; } class BangData extends DataClass implements Insertable { final String trigger; final int group; final String websiteName; final String domain; final String urlTemplate; final String? category; final String? subCategory; final String? format; final String? additionalTriggers; final int searxngApi; const BangData({ required this.trigger, required this.group, required this.websiteName, required this.domain, required this.urlTemplate, this.category, this.subCategory, this.format, this.additionalTriggers, required this.searxngApi, }); @override Map toColumns(bool nullToAbsent) { final map = {}; map['trigger'] = Variable(trigger); map['group'] = Variable(group); map['website_name'] = Variable(websiteName); map['domain'] = Variable(domain); map['url_template'] = Variable(urlTemplate); if (!nullToAbsent || category != null) { map['category'] = Variable(category); } if (!nullToAbsent || subCategory != null) { map['sub_category'] = Variable(subCategory); } if (!nullToAbsent || format != null) { map['format'] = Variable(format); } if (!nullToAbsent || additionalTriggers != null) { map['additional_triggers'] = Variable(additionalTriggers); } map['searxng_api'] = Variable(searxngApi); return map; } factory BangData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return BangData( trigger: serializer.fromJson(json['trigger']), group: serializer.fromJson(json['group']), websiteName: serializer.fromJson(json['websiteName']), domain: serializer.fromJson(json['domain']), urlTemplate: serializer.fromJson(json['urlTemplate']), category: serializer.fromJson(json['category']), subCategory: serializer.fromJson(json['subCategory']), format: serializer.fromJson(json['format']), additionalTriggers: serializer.fromJson( json['additionalTriggers'], ), searxngApi: serializer.fromJson(json['searxngApi']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'trigger': serializer.toJson(trigger), 'group': serializer.toJson(group), 'websiteName': serializer.toJson(websiteName), 'domain': serializer.toJson(domain), 'urlTemplate': serializer.toJson(urlTemplate), 'category': serializer.toJson(category), 'subCategory': serializer.toJson(subCategory), 'format': serializer.toJson(format), 'additionalTriggers': serializer.toJson(additionalTriggers), 'searxngApi': serializer.toJson(searxngApi), }; } BangData copyWith({ String? trigger, int? group, String? websiteName, String? domain, String? urlTemplate, Value category = const Value.absent(), Value subCategory = const Value.absent(), Value format = const Value.absent(), Value additionalTriggers = const Value.absent(), int? searxngApi, }) => BangData( trigger: trigger ?? this.trigger, group: group ?? this.group, websiteName: websiteName ?? this.websiteName, domain: domain ?? this.domain, urlTemplate: urlTemplate ?? this.urlTemplate, category: category.present ? category.value : this.category, subCategory: subCategory.present ? subCategory.value : this.subCategory, format: format.present ? format.value : this.format, additionalTriggers: additionalTriggers.present ? additionalTriggers.value : this.additionalTriggers, searxngApi: searxngApi ?? this.searxngApi, ); BangData copyWithCompanion(BangCompanion data) { return BangData( trigger: data.trigger.present ? data.trigger.value : this.trigger, group: data.group.present ? data.group.value : this.group, websiteName: data.websiteName.present ? data.websiteName.value : this.websiteName, domain: data.domain.present ? data.domain.value : this.domain, urlTemplate: data.urlTemplate.present ? data.urlTemplate.value : this.urlTemplate, category: data.category.present ? data.category.value : this.category, subCategory: data.subCategory.present ? data.subCategory.value : this.subCategory, format: data.format.present ? data.format.value : this.format, additionalTriggers: data.additionalTriggers.present ? data.additionalTriggers.value : this.additionalTriggers, searxngApi: data.searxngApi.present ? data.searxngApi.value : this.searxngApi, ); } @override String toString() { return (StringBuffer('BangData(') ..write('trigger: $trigger, ') ..write('group: $group, ') ..write('websiteName: $websiteName, ') ..write('domain: $domain, ') ..write('urlTemplate: $urlTemplate, ') ..write('category: $category, ') ..write('subCategory: $subCategory, ') ..write('format: $format, ') ..write('additionalTriggers: $additionalTriggers, ') ..write('searxngApi: $searxngApi') ..write(')')) .toString(); } @override int get hashCode => Object.hash( trigger, group, websiteName, domain, urlTemplate, category, subCategory, format, additionalTriggers, searxngApi, ); @override bool operator ==(Object other) => identical(this, other) || (other is BangData && other.trigger == this.trigger && other.group == this.group && other.websiteName == this.websiteName && other.domain == this.domain && other.urlTemplate == this.urlTemplate && other.category == this.category && other.subCategory == this.subCategory && other.format == this.format && other.additionalTriggers == this.additionalTriggers && other.searxngApi == this.searxngApi); } class BangCompanion extends UpdateCompanion { final Value trigger; final Value group; final Value websiteName; final Value domain; final Value urlTemplate; final Value category; final Value subCategory; final Value format; final Value additionalTriggers; final Value searxngApi; final Value rowid; const BangCompanion({ this.trigger = const Value.absent(), this.group = const Value.absent(), this.websiteName = const Value.absent(), this.domain = const Value.absent(), this.urlTemplate = const Value.absent(), this.category = const Value.absent(), this.subCategory = const Value.absent(), this.format = const Value.absent(), this.additionalTriggers = const Value.absent(), this.searxngApi = const Value.absent(), this.rowid = const Value.absent(), }); BangCompanion.insert({ required String trigger, required int group, required String websiteName, required String domain, required String urlTemplate, this.category = const Value.absent(), this.subCategory = const Value.absent(), this.format = const Value.absent(), this.additionalTriggers = const Value.absent(), this.searxngApi = const Value.absent(), this.rowid = const Value.absent(), }) : trigger = Value(trigger), group = Value(group), websiteName = Value(websiteName), domain = Value(domain), urlTemplate = Value(urlTemplate); static Insertable custom({ Expression? trigger, Expression? group, Expression? websiteName, Expression? domain, Expression? urlTemplate, Expression? category, Expression? subCategory, Expression? format, Expression? additionalTriggers, Expression? searxngApi, Expression? rowid, }) { return RawValuesInsertable({ if (trigger != null) 'trigger': trigger, if (group != null) 'group': group, if (websiteName != null) 'website_name': websiteName, if (domain != null) 'domain': domain, if (urlTemplate != null) 'url_template': urlTemplate, if (category != null) 'category': category, if (subCategory != null) 'sub_category': subCategory, if (format != null) 'format': format, if (additionalTriggers != null) 'additional_triggers': additionalTriggers, if (searxngApi != null) 'searxng_api': searxngApi, if (rowid != null) 'rowid': rowid, }); } BangCompanion copyWith({ Value? trigger, Value? group, Value? websiteName, Value? domain, Value? urlTemplate, Value? category, Value? subCategory, Value? format, Value? additionalTriggers, Value? searxngApi, Value? rowid, }) { return BangCompanion( trigger: trigger ?? this.trigger, group: group ?? this.group, websiteName: websiteName ?? this.websiteName, domain: domain ?? this.domain, urlTemplate: urlTemplate ?? this.urlTemplate, category: category ?? this.category, subCategory: subCategory ?? this.subCategory, format: format ?? this.format, additionalTriggers: additionalTriggers ?? this.additionalTriggers, searxngApi: searxngApi ?? this.searxngApi, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (trigger.present) { map['trigger'] = Variable(trigger.value); } if (group.present) { map['group'] = Variable(group.value); } if (websiteName.present) { map['website_name'] = Variable(websiteName.value); } if (domain.present) { map['domain'] = Variable(domain.value); } if (urlTemplate.present) { map['url_template'] = Variable(urlTemplate.value); } if (category.present) { map['category'] = Variable(category.value); } if (subCategory.present) { map['sub_category'] = Variable(subCategory.value); } if (format.present) { map['format'] = Variable(format.value); } if (additionalTriggers.present) { map['additional_triggers'] = Variable(additionalTriggers.value); } if (searxngApi.present) { map['searxng_api'] = Variable(searxngApi.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('BangCompanion(') ..write('trigger: $trigger, ') ..write('group: $group, ') ..write('websiteName: $websiteName, ') ..write('domain: $domain, ') ..write('urlTemplate: $urlTemplate, ') ..write('category: $category, ') ..write('subCategory: $subCategory, ') ..write('format: $format, ') ..write('additionalTriggers: $additionalTriggers, ') ..write('searxngApi: $searxngApi, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class BangTriggers extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; BangTriggers(this.attachedDatabase, [this._alias]); late final GeneratedColumn trigger = GeneratedColumn( 'trigger', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn group = GeneratedColumn( 'group', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn additionalTrigger = GeneratedColumn( 'additional_trigger', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); @override List get $columns => [trigger, group, additionalTrigger]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'bang_triggers'; @override Set get $primaryKey => {trigger, group, additionalTrigger}; @override BangTriggersData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return BangTriggersData( trigger: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}trigger'], )!, group: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}group'], )!, additionalTrigger: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}additional_trigger'], )!, ); } @override BangTriggers createAlias(String alias) { return BangTriggers(attachedDatabase, alias); } @override List get customConstraints => const [ 'PRIMARY KEY("trigger", "group", additional_trigger)', 'FOREIGN KEY("trigger", "group")REFERENCES bang("trigger", "group")ON DELETE CASCADE', ]; @override bool get dontWriteConstraints => true; } class BangTriggersData extends DataClass implements Insertable { final String trigger; final int group; final String additionalTrigger; const BangTriggersData({ required this.trigger, required this.group, required this.additionalTrigger, }); @override Map toColumns(bool nullToAbsent) { final map = {}; map['trigger'] = Variable(trigger); map['group'] = Variable(group); map['additional_trigger'] = Variable(additionalTrigger); return map; } factory BangTriggersData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return BangTriggersData( trigger: serializer.fromJson(json['trigger']), group: serializer.fromJson(json['group']), additionalTrigger: serializer.fromJson(json['additionalTrigger']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'trigger': serializer.toJson(trigger), 'group': serializer.toJson(group), 'additionalTrigger': serializer.toJson(additionalTrigger), }; } BangTriggersData copyWith({ String? trigger, int? group, String? additionalTrigger, }) => BangTriggersData( trigger: trigger ?? this.trigger, group: group ?? this.group, additionalTrigger: additionalTrigger ?? this.additionalTrigger, ); BangTriggersData copyWithCompanion(BangTriggersCompanion data) { return BangTriggersData( trigger: data.trigger.present ? data.trigger.value : this.trigger, group: data.group.present ? data.group.value : this.group, additionalTrigger: data.additionalTrigger.present ? data.additionalTrigger.value : this.additionalTrigger, ); } @override String toString() { return (StringBuffer('BangTriggersData(') ..write('trigger: $trigger, ') ..write('group: $group, ') ..write('additionalTrigger: $additionalTrigger') ..write(')')) .toString(); } @override int get hashCode => Object.hash(trigger, group, additionalTrigger); @override bool operator ==(Object other) => identical(this, other) || (other is BangTriggersData && other.trigger == this.trigger && other.group == this.group && other.additionalTrigger == this.additionalTrigger); } class BangTriggersCompanion extends UpdateCompanion { final Value trigger; final Value group; final Value additionalTrigger; final Value rowid; const BangTriggersCompanion({ this.trigger = const Value.absent(), this.group = const Value.absent(), this.additionalTrigger = const Value.absent(), this.rowid = const Value.absent(), }); BangTriggersCompanion.insert({ required String trigger, required int group, required String additionalTrigger, this.rowid = const Value.absent(), }) : trigger = Value(trigger), group = Value(group), additionalTrigger = Value(additionalTrigger); static Insertable custom({ Expression? trigger, Expression? group, Expression? additionalTrigger, Expression? rowid, }) { return RawValuesInsertable({ if (trigger != null) 'trigger': trigger, if (group != null) 'group': group, if (additionalTrigger != null) 'additional_trigger': additionalTrigger, if (rowid != null) 'rowid': rowid, }); } BangTriggersCompanion copyWith({ Value? trigger, Value? group, Value? additionalTrigger, Value? rowid, }) { return BangTriggersCompanion( trigger: trigger ?? this.trigger, group: group ?? this.group, additionalTrigger: additionalTrigger ?? this.additionalTrigger, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (trigger.present) { map['trigger'] = Variable(trigger.value); } if (group.present) { map['group'] = Variable(group.value); } if (additionalTrigger.present) { map['additional_trigger'] = Variable(additionalTrigger.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('BangTriggersCompanion(') ..write('trigger: $trigger, ') ..write('group: $group, ') ..write('additionalTrigger: $additionalTrigger, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class BangSync extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; BangSync(this.attachedDatabase, [this._alias]); late final GeneratedColumn group = GeneratedColumn( 'group', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: false, $customConstraints: 'PRIMARY KEY NOT NULL', ); late final GeneratedColumn lastSync = GeneratedColumn( 'last_sync', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); @override List get $columns => [group, lastSync]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'bang_sync'; @override Set get $primaryKey => {group}; @override BangSyncData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return BangSyncData( group: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}group'], )!, lastSync: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}last_sync'], )!, ); } @override BangSync createAlias(String alias) { return BangSync(attachedDatabase, alias); } @override bool get dontWriteConstraints => true; } class BangSyncData extends DataClass implements Insertable { final int group; final int lastSync; const BangSyncData({required this.group, required this.lastSync}); @override Map toColumns(bool nullToAbsent) { final map = {}; map['group'] = Variable(group); map['last_sync'] = Variable(lastSync); return map; } factory BangSyncData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return BangSyncData( group: serializer.fromJson(json['group']), lastSync: serializer.fromJson(json['lastSync']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'group': serializer.toJson(group), 'lastSync': serializer.toJson(lastSync), }; } BangSyncData copyWith({int? group, int? lastSync}) => BangSyncData( group: group ?? this.group, lastSync: lastSync ?? this.lastSync, ); BangSyncData copyWithCompanion(BangSyncCompanion data) { return BangSyncData( group: data.group.present ? data.group.value : this.group, lastSync: data.lastSync.present ? data.lastSync.value : this.lastSync, ); } @override String toString() { return (StringBuffer('BangSyncData(') ..write('group: $group, ') ..write('lastSync: $lastSync') ..write(')')) .toString(); } @override int get hashCode => Object.hash(group, lastSync); @override bool operator ==(Object other) => identical(this, other) || (other is BangSyncData && other.group == this.group && other.lastSync == this.lastSync); } class BangSyncCompanion extends UpdateCompanion { final Value group; final Value lastSync; const BangSyncCompanion({ this.group = const Value.absent(), this.lastSync = const Value.absent(), }); BangSyncCompanion.insert({ this.group = const Value.absent(), required int lastSync, }) : lastSync = Value(lastSync); static Insertable custom({ Expression? group, Expression? lastSync, }) { return RawValuesInsertable({ if (group != null) 'group': group, if (lastSync != null) 'last_sync': lastSync, }); } BangSyncCompanion copyWith({Value? group, Value? lastSync}) { return BangSyncCompanion( group: group ?? this.group, lastSync: lastSync ?? this.lastSync, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (group.present) { map['group'] = Variable(group.value); } if (lastSync.present) { map['last_sync'] = Variable(lastSync.value); } return map; } @override String toString() { return (StringBuffer('BangSyncCompanion(') ..write('group: $group, ') ..write('lastSync: $lastSync') ..write(')')) .toString(); } } class BangFrequency extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; BangFrequency(this.attachedDatabase, [this._alias]); late final GeneratedColumn trigger = GeneratedColumn( 'trigger', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn group = GeneratedColumn( 'group', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn frequency = GeneratedColumn( 'frequency', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn lastUsed = GeneratedColumn( 'last_used', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); @override List get $columns => [trigger, group, frequency, lastUsed]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'bang_frequency'; @override Set get $primaryKey => {trigger, group}; @override BangFrequencyData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return BangFrequencyData( trigger: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}trigger'], )!, group: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}group'], )!, frequency: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}frequency'], )!, lastUsed: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}last_used'], )!, ); } @override BangFrequency createAlias(String alias) { return BangFrequency(attachedDatabase, alias); } @override List get customConstraints => const [ 'PRIMARY KEY("trigger", "group")', 'FOREIGN KEY("trigger", "group")REFERENCES bang("trigger", "group")ON DELETE CASCADE', ]; @override bool get dontWriteConstraints => true; } class BangFrequencyData extends DataClass implements Insertable { final String trigger; final int group; final int frequency; final int lastUsed; const BangFrequencyData({ required this.trigger, required this.group, required this.frequency, required this.lastUsed, }); @override Map toColumns(bool nullToAbsent) { final map = {}; map['trigger'] = Variable(trigger); map['group'] = Variable(group); map['frequency'] = Variable(frequency); map['last_used'] = Variable(lastUsed); return map; } factory BangFrequencyData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return BangFrequencyData( trigger: serializer.fromJson(json['trigger']), group: serializer.fromJson(json['group']), frequency: serializer.fromJson(json['frequency']), lastUsed: serializer.fromJson(json['lastUsed']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'trigger': serializer.toJson(trigger), 'group': serializer.toJson(group), 'frequency': serializer.toJson(frequency), 'lastUsed': serializer.toJson(lastUsed), }; } BangFrequencyData copyWith({ String? trigger, int? group, int? frequency, int? lastUsed, }) => BangFrequencyData( trigger: trigger ?? this.trigger, group: group ?? this.group, frequency: frequency ?? this.frequency, lastUsed: lastUsed ?? this.lastUsed, ); BangFrequencyData copyWithCompanion(BangFrequencyCompanion data) { return BangFrequencyData( trigger: data.trigger.present ? data.trigger.value : this.trigger, group: data.group.present ? data.group.value : this.group, frequency: data.frequency.present ? data.frequency.value : this.frequency, lastUsed: data.lastUsed.present ? data.lastUsed.value : this.lastUsed, ); } @override String toString() { return (StringBuffer('BangFrequencyData(') ..write('trigger: $trigger, ') ..write('group: $group, ') ..write('frequency: $frequency, ') ..write('lastUsed: $lastUsed') ..write(')')) .toString(); } @override int get hashCode => Object.hash(trigger, group, frequency, lastUsed); @override bool operator ==(Object other) => identical(this, other) || (other is BangFrequencyData && other.trigger == this.trigger && other.group == this.group && other.frequency == this.frequency && other.lastUsed == this.lastUsed); } class BangFrequencyCompanion extends UpdateCompanion { final Value trigger; final Value group; final Value frequency; final Value lastUsed; final Value rowid; const BangFrequencyCompanion({ this.trigger = const Value.absent(), this.group = const Value.absent(), this.frequency = const Value.absent(), this.lastUsed = const Value.absent(), this.rowid = const Value.absent(), }); BangFrequencyCompanion.insert({ required String trigger, required int group, required int frequency, required int lastUsed, this.rowid = const Value.absent(), }) : trigger = Value(trigger), group = Value(group), frequency = Value(frequency), lastUsed = Value(lastUsed); static Insertable custom({ Expression? trigger, Expression? group, Expression? frequency, Expression? lastUsed, Expression? rowid, }) { return RawValuesInsertable({ if (trigger != null) 'trigger': trigger, if (group != null) 'group': group, if (frequency != null) 'frequency': frequency, if (lastUsed != null) 'last_used': lastUsed, if (rowid != null) 'rowid': rowid, }); } BangFrequencyCompanion copyWith({ Value? trigger, Value? group, Value? frequency, Value? lastUsed, Value? rowid, }) { return BangFrequencyCompanion( trigger: trigger ?? this.trigger, group: group ?? this.group, frequency: frequency ?? this.frequency, lastUsed: lastUsed ?? this.lastUsed, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (trigger.present) { map['trigger'] = Variable(trigger.value); } if (group.present) { map['group'] = Variable(group.value); } if (frequency.present) { map['frequency'] = Variable(frequency.value); } if (lastUsed.present) { map['last_used'] = Variable(lastUsed.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('BangFrequencyCompanion(') ..write('trigger: $trigger, ') ..write('group: $group, ') ..write('frequency: $frequency, ') ..write('lastUsed: $lastUsed, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class BangHistory extends Table with TableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; BangHistory(this.attachedDatabase, [this._alias]); late final GeneratedColumn searchQuery = GeneratedColumn( 'search_query', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'UNIQUE NOT NULL', ); late final GeneratedColumn trigger = GeneratedColumn( 'trigger', aliasedName, false, type: DriftSqlType.string, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn group = GeneratedColumn( 'group', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); late final GeneratedColumn searchDate = GeneratedColumn( 'search_date', aliasedName, false, type: DriftSqlType.int, requiredDuringInsert: true, $customConstraints: 'NOT NULL', ); @override List get $columns => [ searchQuery, trigger, group, searchDate, ]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'bang_history'; @override Set get $primaryKey => const {}; @override BangHistoryData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return BangHistoryData( searchQuery: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}search_query'], )!, trigger: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}trigger'], )!, group: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}group'], )!, searchDate: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}search_date'], )!, ); } @override BangHistory createAlias(String alias) { return BangHistory(attachedDatabase, alias); } @override List get customConstraints => const [ 'FOREIGN KEY("trigger", "group")REFERENCES bang("trigger", "group")ON DELETE CASCADE', ]; @override bool get dontWriteConstraints => true; } class BangHistoryData extends DataClass implements Insertable { final String searchQuery; final String trigger; final int group; final int searchDate; const BangHistoryData({ required this.searchQuery, required this.trigger, required this.group, required this.searchDate, }); @override Map toColumns(bool nullToAbsent) { final map = {}; map['search_query'] = Variable(searchQuery); map['trigger'] = Variable(trigger); map['group'] = Variable(group); map['search_date'] = Variable(searchDate); return map; } factory BangHistoryData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return BangHistoryData( searchQuery: serializer.fromJson(json['searchQuery']), trigger: serializer.fromJson(json['trigger']), group: serializer.fromJson(json['group']), searchDate: serializer.fromJson(json['searchDate']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'searchQuery': serializer.toJson(searchQuery), 'trigger': serializer.toJson(trigger), 'group': serializer.toJson(group), 'searchDate': serializer.toJson(searchDate), }; } BangHistoryData copyWith({ String? searchQuery, String? trigger, int? group, int? searchDate, }) => BangHistoryData( searchQuery: searchQuery ?? this.searchQuery, trigger: trigger ?? this.trigger, group: group ?? this.group, searchDate: searchDate ?? this.searchDate, ); BangHistoryData copyWithCompanion(BangHistoryCompanion data) { return BangHistoryData( searchQuery: data.searchQuery.present ? data.searchQuery.value : this.searchQuery, trigger: data.trigger.present ? data.trigger.value : this.trigger, group: data.group.present ? data.group.value : this.group, searchDate: data.searchDate.present ? data.searchDate.value : this.searchDate, ); } @override String toString() { return (StringBuffer('BangHistoryData(') ..write('searchQuery: $searchQuery, ') ..write('trigger: $trigger, ') ..write('group: $group, ') ..write('searchDate: $searchDate') ..write(')')) .toString(); } @override int get hashCode => Object.hash(searchQuery, trigger, group, searchDate); @override bool operator ==(Object other) => identical(this, other) || (other is BangHistoryData && other.searchQuery == this.searchQuery && other.trigger == this.trigger && other.group == this.group && other.searchDate == this.searchDate); } class BangHistoryCompanion extends UpdateCompanion { final Value searchQuery; final Value trigger; final Value group; final Value searchDate; final Value rowid; const BangHistoryCompanion({ this.searchQuery = const Value.absent(), this.trigger = const Value.absent(), this.group = const Value.absent(), this.searchDate = const Value.absent(), this.rowid = const Value.absent(), }); BangHistoryCompanion.insert({ required String searchQuery, required String trigger, required int group, required int searchDate, this.rowid = const Value.absent(), }) : searchQuery = Value(searchQuery), trigger = Value(trigger), group = Value(group), searchDate = Value(searchDate); static Insertable custom({ Expression? searchQuery, Expression? trigger, Expression? group, Expression? searchDate, Expression? rowid, }) { return RawValuesInsertable({ if (searchQuery != null) 'search_query': searchQuery, if (trigger != null) 'trigger': trigger, if (group != null) 'group': group, if (searchDate != null) 'search_date': searchDate, if (rowid != null) 'rowid': rowid, }); } BangHistoryCompanion copyWith({ Value? searchQuery, Value? trigger, Value? group, Value? searchDate, Value? rowid, }) { return BangHistoryCompanion( searchQuery: searchQuery ?? this.searchQuery, trigger: trigger ?? this.trigger, group: group ?? this.group, searchDate: searchDate ?? this.searchDate, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (searchQuery.present) { map['search_query'] = Variable(searchQuery.value); } if (trigger.present) { map['trigger'] = Variable(trigger.value); } if (group.present) { map['group'] = Variable(group.value); } if (searchDate.present) { map['search_date'] = Variable(searchDate.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('BangHistoryCompanion(') ..write('searchQuery: $searchQuery, ') ..write('trigger: $trigger, ') ..write('group: $group, ') ..write('searchDate: $searchDate, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class BangFts extends Table with TableInfo, VirtualTableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; BangFts(this.attachedDatabase, [this._alias]); late final GeneratedColumn trigger = GeneratedColumn( 'trigger', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: '', ); late final GeneratedColumn websiteName = GeneratedColumn( 'website_name', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: '', ); @override List get $columns => [trigger, websiteName]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'bang_fts'; @override Set get $primaryKey => const {}; @override BangFtsData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return BangFtsData( trigger: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}trigger'], ), websiteName: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}website_name'], ), ); } @override BangFts createAlias(String alias) { return BangFts(attachedDatabase, alias); } @override bool get dontWriteConstraints => true; @override String get moduleAndArgs => 'fts5(trigger, website_name, content=bang, prefix=\'2 3\')'; } class BangFtsData extends DataClass implements Insertable { final String? trigger; final String? websiteName; const BangFtsData({this.trigger, this.websiteName}); @override Map toColumns(bool nullToAbsent) { final map = {}; if (!nullToAbsent || trigger != null) { map['trigger'] = Variable(trigger); } if (!nullToAbsent || websiteName != null) { map['website_name'] = Variable(websiteName); } return map; } factory BangFtsData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return BangFtsData( trigger: serializer.fromJson(json['trigger']), websiteName: serializer.fromJson(json['websiteName']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'trigger': serializer.toJson(trigger), 'websiteName': serializer.toJson(websiteName), }; } BangFtsData copyWith({ Value trigger = const Value.absent(), Value websiteName = const Value.absent(), }) => BangFtsData( trigger: trigger.present ? trigger.value : this.trigger, websiteName: websiteName.present ? websiteName.value : this.websiteName, ); BangFtsData copyWithCompanion(BangFtsCompanion data) { return BangFtsData( trigger: data.trigger.present ? data.trigger.value : this.trigger, websiteName: data.websiteName.present ? data.websiteName.value : this.websiteName, ); } @override String toString() { return (StringBuffer('BangFtsData(') ..write('trigger: $trigger, ') ..write('websiteName: $websiteName') ..write(')')) .toString(); } @override int get hashCode => Object.hash(trigger, websiteName); @override bool operator ==(Object other) => identical(this, other) || (other is BangFtsData && other.trigger == this.trigger && other.websiteName == this.websiteName); } class BangFtsCompanion extends UpdateCompanion { final Value trigger; final Value websiteName; final Value rowid; const BangFtsCompanion({ this.trigger = const Value.absent(), this.websiteName = const Value.absent(), this.rowid = const Value.absent(), }); BangFtsCompanion.insert({ this.trigger = const Value.absent(), this.websiteName = const Value.absent(), this.rowid = const Value.absent(), }); static Insertable custom({ Expression? trigger, Expression? websiteName, Expression? rowid, }) { return RawValuesInsertable({ if (trigger != null) 'trigger': trigger, if (websiteName != null) 'website_name': websiteName, if (rowid != null) 'rowid': rowid, }); } BangFtsCompanion copyWith({ Value? trigger, Value? websiteName, Value? rowid, }) { return BangFtsCompanion( trigger: trigger ?? this.trigger, websiteName: websiteName ?? this.websiteName, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (trigger.present) { map['trigger'] = Variable(trigger.value); } if (websiteName.present) { map['website_name'] = Variable(websiteName.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('BangFtsCompanion(') ..write('trigger: $trigger, ') ..write('websiteName: $websiteName, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class BangTriggersFts extends Table with TableInfo, VirtualTableInfo { @override final GeneratedDatabase attachedDatabase; final String? _alias; BangTriggersFts(this.attachedDatabase, [this._alias]); late final GeneratedColumn additionalTrigger = GeneratedColumn( 'additional_trigger', aliasedName, true, type: DriftSqlType.string, requiredDuringInsert: false, $customConstraints: '', ); @override List get $columns => [additionalTrigger]; @override String get aliasedName => _alias ?? actualTableName; @override String get actualTableName => $name; static const String $name = 'bang_triggers_fts'; @override Set get $primaryKey => const {}; @override BangTriggersFtsData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return BangTriggersFtsData( additionalTrigger: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}additional_trigger'], ), ); } @override BangTriggersFts createAlias(String alias) { return BangTriggersFts(attachedDatabase, alias); } @override bool get dontWriteConstraints => true; @override String get moduleAndArgs => 'fts5(additional_trigger, content=bang_triggers, prefix=\'2 3\')'; } class BangTriggersFtsData extends DataClass implements Insertable { final String? additionalTrigger; const BangTriggersFtsData({this.additionalTrigger}); @override Map toColumns(bool nullToAbsent) { final map = {}; if (!nullToAbsent || additionalTrigger != null) { map['additional_trigger'] = Variable(additionalTrigger); } return map; } factory BangTriggersFtsData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return BangTriggersFtsData( additionalTrigger: serializer.fromJson( json['additionalTrigger'], ), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'additionalTrigger': serializer.toJson(additionalTrigger), }; } BangTriggersFtsData copyWith({ Value additionalTrigger = const Value.absent(), }) => BangTriggersFtsData( additionalTrigger: additionalTrigger.present ? additionalTrigger.value : this.additionalTrigger, ); BangTriggersFtsData copyWithCompanion(BangTriggersFtsCompanion data) { return BangTriggersFtsData( additionalTrigger: data.additionalTrigger.present ? data.additionalTrigger.value : this.additionalTrigger, ); } @override String toString() { return (StringBuffer('BangTriggersFtsData(') ..write('additionalTrigger: $additionalTrigger') ..write(')')) .toString(); } @override int get hashCode => additionalTrigger.hashCode; @override bool operator ==(Object other) => identical(this, other) || (other is BangTriggersFtsData && other.additionalTrigger == this.additionalTrigger); } class BangTriggersFtsCompanion extends UpdateCompanion { final Value additionalTrigger; final Value rowid; const BangTriggersFtsCompanion({ this.additionalTrigger = const Value.absent(), this.rowid = const Value.absent(), }); BangTriggersFtsCompanion.insert({ this.additionalTrigger = const Value.absent(), this.rowid = const Value.absent(), }); static Insertable custom({ Expression? additionalTrigger, Expression? rowid, }) { return RawValuesInsertable({ if (additionalTrigger != null) 'additional_trigger': additionalTrigger, if (rowid != null) 'rowid': rowid, }); } BangTriggersFtsCompanion copyWith({ Value? additionalTrigger, Value? rowid, }) { return BangTriggersFtsCompanion( additionalTrigger: additionalTrigger ?? this.additionalTrigger, rowid: rowid ?? this.rowid, ); } @override Map toColumns(bool nullToAbsent) { final map = {}; if (additionalTrigger.present) { map['additional_trigger'] = Variable(additionalTrigger.value); } if (rowid.present) { map['rowid'] = Variable(rowid.value); } return map; } @override String toString() { return (StringBuffer('BangTriggersFtsCompanion(') ..write('additionalTrigger: $additionalTrigger, ') ..write('rowid: $rowid') ..write(')')) .toString(); } } class BangDataViewData extends DataClass { final String trigger; final int group; final String websiteName; final String domain; final String urlTemplate; final String? category; final String? subCategory; final String? format; final String? additionalTriggers; final int searxngApi; final int? frequency; final int? lastUsed; const BangDataViewData({ required this.trigger, required this.group, required this.websiteName, required this.domain, required this.urlTemplate, this.category, this.subCategory, this.format, this.additionalTriggers, required this.searxngApi, this.frequency, this.lastUsed, }); factory BangDataViewData.fromJson( Map json, { ValueSerializer? serializer, }) { serializer ??= driftRuntimeOptions.defaultSerializer; return BangDataViewData( trigger: serializer.fromJson(json['trigger']), group: serializer.fromJson(json['group']), websiteName: serializer.fromJson(json['websiteName']), domain: serializer.fromJson(json['domain']), urlTemplate: serializer.fromJson(json['urlTemplate']), category: serializer.fromJson(json['category']), subCategory: serializer.fromJson(json['subCategory']), format: serializer.fromJson(json['format']), additionalTriggers: serializer.fromJson( json['additionalTriggers'], ), searxngApi: serializer.fromJson(json['searxngApi']), frequency: serializer.fromJson(json['frequency']), lastUsed: serializer.fromJson(json['lastUsed']), ); } @override Map toJson({ValueSerializer? serializer}) { serializer ??= driftRuntimeOptions.defaultSerializer; return { 'trigger': serializer.toJson(trigger), 'group': serializer.toJson(group), 'websiteName': serializer.toJson(websiteName), 'domain': serializer.toJson(domain), 'urlTemplate': serializer.toJson(urlTemplate), 'category': serializer.toJson(category), 'subCategory': serializer.toJson(subCategory), 'format': serializer.toJson(format), 'additionalTriggers': serializer.toJson(additionalTriggers), 'searxngApi': serializer.toJson(searxngApi), 'frequency': serializer.toJson(frequency), 'lastUsed': serializer.toJson(lastUsed), }; } BangDataViewData copyWith({ String? trigger, int? group, String? websiteName, String? domain, String? urlTemplate, Value category = const Value.absent(), Value subCategory = const Value.absent(), Value format = const Value.absent(), Value additionalTriggers = const Value.absent(), int? searxngApi, Value frequency = const Value.absent(), Value lastUsed = const Value.absent(), }) => BangDataViewData( trigger: trigger ?? this.trigger, group: group ?? this.group, websiteName: websiteName ?? this.websiteName, domain: domain ?? this.domain, urlTemplate: urlTemplate ?? this.urlTemplate, category: category.present ? category.value : this.category, subCategory: subCategory.present ? subCategory.value : this.subCategory, format: format.present ? format.value : this.format, additionalTriggers: additionalTriggers.present ? additionalTriggers.value : this.additionalTriggers, searxngApi: searxngApi ?? this.searxngApi, frequency: frequency.present ? frequency.value : this.frequency, lastUsed: lastUsed.present ? lastUsed.value : this.lastUsed, ); @override String toString() { return (StringBuffer('BangDataViewData(') ..write('trigger: $trigger, ') ..write('group: $group, ') ..write('websiteName: $websiteName, ') ..write('domain: $domain, ') ..write('urlTemplate: $urlTemplate, ') ..write('category: $category, ') ..write('subCategory: $subCategory, ') ..write('format: $format, ') ..write('additionalTriggers: $additionalTriggers, ') ..write('searxngApi: $searxngApi, ') ..write('frequency: $frequency, ') ..write('lastUsed: $lastUsed') ..write(')')) .toString(); } @override int get hashCode => Object.hash( trigger, group, websiteName, domain, urlTemplate, category, subCategory, format, additionalTriggers, searxngApi, frequency, lastUsed, ); @override bool operator ==(Object other) => identical(this, other) || (other is BangDataViewData && other.trigger == this.trigger && other.group == this.group && other.websiteName == this.websiteName && other.domain == this.domain && other.urlTemplate == this.urlTemplate && other.category == this.category && other.subCategory == this.subCategory && other.format == this.format && other.additionalTriggers == this.additionalTriggers && other.searxngApi == this.searxngApi && other.frequency == this.frequency && other.lastUsed == this.lastUsed); } class BangDataView extends ViewInfo implements HasResultSet { final String? _alias; @override final DatabaseAtV4 attachedDatabase; BangDataView(this.attachedDatabase, [this._alias]); @override List get $columns => [ trigger, group, websiteName, domain, urlTemplate, category, subCategory, format, additionalTriggers, searxngApi, frequency, lastUsed, ]; @override String get aliasedName => _alias ?? entityName; @override String get entityName => 'bang_data_view'; @override Map get createViewStatements => { SqlDialect.sqlite: 'CREATE VIEW bang_data_view AS SELECT b.*, bf.frequency, bf.last_used FROM bang AS b LEFT JOIN bang_frequency AS bf ON b."trigger" = bf."trigger" AND b."group" = bf."group"', }; @override BangDataView get asDslTable => this; @override BangDataViewData map(Map data, {String? tablePrefix}) { final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : ''; return BangDataViewData( trigger: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}trigger'], )!, group: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}group'], )!, websiteName: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}website_name'], )!, domain: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}domain'], )!, urlTemplate: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}url_template'], )!, category: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}category'], ), subCategory: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}sub_category'], ), format: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}format'], ), additionalTriggers: attachedDatabase.typeMapping.read( DriftSqlType.string, data['${effectivePrefix}additional_triggers'], ), searxngApi: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}searxng_api'], )!, frequency: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}frequency'], ), lastUsed: attachedDatabase.typeMapping.read( DriftSqlType.int, data['${effectivePrefix}last_used'], ), ); } late final GeneratedColumn trigger = GeneratedColumn( 'trigger', aliasedName, false, type: DriftSqlType.string, ); late final GeneratedColumn group = GeneratedColumn( 'group', aliasedName, false, type: DriftSqlType.int, ); late final GeneratedColumn websiteName = GeneratedColumn( 'website_name', aliasedName, false, type: DriftSqlType.string, ); late final GeneratedColumn domain = GeneratedColumn( 'domain', aliasedName, false, type: DriftSqlType.string, ); late final GeneratedColumn urlTemplate = GeneratedColumn( 'url_template', aliasedName, false, type: DriftSqlType.string, ); late final GeneratedColumn category = GeneratedColumn( 'category', aliasedName, true, type: DriftSqlType.string, ); late final GeneratedColumn subCategory = GeneratedColumn( 'sub_category', aliasedName, true, type: DriftSqlType.string, ); late final GeneratedColumn format = GeneratedColumn( 'format', aliasedName, true, type: DriftSqlType.string, ); late final GeneratedColumn additionalTriggers = GeneratedColumn( 'additional_triggers', aliasedName, true, type: DriftSqlType.string, ); late final GeneratedColumn searxngApi = GeneratedColumn( 'searxng_api', aliasedName, false, type: DriftSqlType.int, ); late final GeneratedColumn frequency = GeneratedColumn( 'frequency', aliasedName, true, type: DriftSqlType.int, ); late final GeneratedColumn lastUsed = GeneratedColumn( 'last_used', aliasedName, true, type: DriftSqlType.int, ); @override BangDataView createAlias(String alias) { return BangDataView(attachedDatabase, alias); } @override Query? get query => null; @override Set get readTables => const {'bang', 'bang_frequency'}; } class DatabaseAtV4 extends GeneratedDatabase { DatabaseAtV4(QueryExecutor e) : super(e); late final Bang bang = Bang(this); late final BangTriggers bangTriggers = BangTriggers(this); late final Index idxBangTriggersLookup = Index( 'idx_bang_triggers_lookup', 'CREATE INDEX idx_bang_triggers_lookup ON bang_triggers (additional_trigger, "group")', ); late final Trigger bangTriggersAfterInsert = Trigger( 'CREATE TRIGGER bang_triggers_after_insert AFTER INSERT ON bang WHEN new.additional_triggers IS NOT NULL BEGIN INSERT INTO bang_triggers ("trigger", "group", additional_trigger) SELECT new."trigger", new."group", json_each.value FROM json_each(new.additional_triggers);END', 'bang_triggers_after_insert', ); late final Trigger bangTriggersAfterUpdate = Trigger( 'CREATE TRIGGER bang_triggers_after_update AFTER UPDATE ON bang BEGIN DELETE FROM bang_triggers WHERE "trigger" = old."trigger" AND "group" = old."group";INSERT INTO bang_triggers ("trigger", "group", additional_trigger) SELECT new."trigger", new."group", json_each.value FROM json_each(new.additional_triggers)WHERE new.additional_triggers IS NOT NULL;END', 'bang_triggers_after_update', ); late final BangSync bangSync = BangSync(this); late final BangFrequency bangFrequency = BangFrequency(this); late final BangHistory bangHistory = BangHistory(this); late final BangFts bangFts = BangFts(this); late final BangTriggersFts bangTriggersFts = BangTriggersFts(this); late final BangDataView bangDataView = BangDataView(this); late final Trigger bangAfterInsert = Trigger( 'CREATE TRIGGER bang_after_insert AFTER INSERT ON bang BEGIN INSERT INTO bang_fts ("rowid", "trigger", website_name) VALUES (new."rowid", new."trigger", new.website_name);END', 'bang_after_insert', ); late final Trigger bangAfterDelete = Trigger( 'CREATE TRIGGER bang_after_delete AFTER DELETE ON bang BEGIN INSERT INTO bang_fts (bang_fts, "rowid", "trigger", website_name) VALUES (\'delete\', old."rowid", old."trigger", old.website_name);END', 'bang_after_delete', ); late final Trigger bangAfterUpdate = Trigger( 'CREATE TRIGGER bang_after_update AFTER UPDATE ON bang BEGIN INSERT INTO bang_fts (bang_fts, "rowid", "trigger", website_name) VALUES (\'delete\', old."rowid", old."trigger", old.website_name);INSERT INTO bang_fts ("rowid", "trigger", website_name) VALUES (new."rowid", new."trigger", new.website_name);END', 'bang_after_update', ); late final Trigger bangTriggersAfterInsertFts = Trigger( 'CREATE TRIGGER bang_triggers_after_insert_fts AFTER INSERT ON bang_triggers BEGIN INSERT INTO bang_triggers_fts ("rowid", additional_trigger) VALUES (new."rowid", new.additional_trigger);END', 'bang_triggers_after_insert_fts', ); late final Trigger bangTriggersAfterDeleteFts = Trigger( 'CREATE TRIGGER bang_triggers_after_delete_fts AFTER DELETE ON bang_triggers BEGIN INSERT INTO bang_triggers_fts (bang_triggers_fts, "rowid", additional_trigger) VALUES (\'delete\', old."rowid", old.additional_trigger);END', 'bang_triggers_after_delete_fts', ); late final Trigger bangTriggersAfterUpdateFts = Trigger( 'CREATE TRIGGER bang_triggers_after_update_fts AFTER UPDATE ON bang_triggers BEGIN INSERT INTO bang_triggers_fts (bang_triggers_fts, "rowid", additional_trigger) VALUES (\'delete\', old."rowid", old.additional_trigger);INSERT INTO bang_triggers_fts ("rowid", additional_trigger) VALUES (new."rowid", new.additional_trigger);END', 'bang_triggers_after_update_fts', ); @override Iterable> get allTables => allSchemaEntities.whereType>(); @override List get allSchemaEntities => [ bang, bangTriggers, idxBangTriggersLookup, bangTriggersAfterInsert, bangTriggersAfterUpdate, bangSync, bangFrequency, bangHistory, bangFts, bangTriggersFts, bangDataView, bangAfterInsert, bangAfterDelete, bangAfterUpdate, bangTriggersAfterInsertFts, bangTriggersAfterDeleteFts, bangTriggersAfterUpdateFts, ]; @override StreamQueryUpdateRules get streamUpdateRules => const StreamQueryUpdateRules([ WritePropagation( on: TableUpdateQuery.onTableName( 'bang', limitUpdateKind: UpdateKind.delete, ), result: [TableUpdate('bang_triggers', kind: UpdateKind.delete)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang', limitUpdateKind: UpdateKind.insert, ), result: [TableUpdate('bang_triggers', kind: UpdateKind.insert)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang', limitUpdateKind: UpdateKind.update, ), result: [ TableUpdate('bang_triggers', kind: UpdateKind.delete), TableUpdate('bang_triggers', kind: UpdateKind.insert), ], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang', limitUpdateKind: UpdateKind.delete, ), result: [TableUpdate('bang_frequency', kind: UpdateKind.delete)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang', limitUpdateKind: UpdateKind.delete, ), result: [TableUpdate('bang_history', kind: UpdateKind.delete)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang', limitUpdateKind: UpdateKind.insert, ), result: [TableUpdate('bang_fts', kind: UpdateKind.insert)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang', limitUpdateKind: UpdateKind.delete, ), result: [TableUpdate('bang_fts', kind: UpdateKind.insert)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang', limitUpdateKind: UpdateKind.update, ), result: [TableUpdate('bang_fts', kind: UpdateKind.insert)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang_triggers', limitUpdateKind: UpdateKind.insert, ), result: [TableUpdate('bang_triggers_fts', kind: UpdateKind.insert)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang_triggers', limitUpdateKind: UpdateKind.delete, ), result: [TableUpdate('bang_triggers_fts', kind: UpdateKind.insert)], ), WritePropagation( on: TableUpdateQuery.onTableName( 'bang_triggers', limitUpdateKind: UpdateKind.update, ), result: [TableUpdate('bang_triggers_fts', kind: UpdateKind.insert)], ), ]); @override int get schemaVersion => 4; }