diff --git a/asset_sources/svg/campfire/sib.svg b/asset_sources/svg/campfire/sib.svg
new file mode 100644
index 0000000000..7fe9cbc569
--- /dev/null
+++ b/asset_sources/svg/campfire/sib.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/asset_sources/svg/stack_duo/sib.svg b/asset_sources/svg/stack_duo/sib.svg
new file mode 100644
index 0000000000..7fe9cbc569
--- /dev/null
+++ b/asset_sources/svg/stack_duo/sib.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/asset_sources/svg/stack_wallet/sib.svg b/asset_sources/svg/stack_wallet/sib.svg
new file mode 100644
index 0000000000..7fe9cbc569
--- /dev/null
+++ b/asset_sources/svg/stack_wallet/sib.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/lib/db/drift/shared_db/shared_database.dart b/lib/db/drift/shared_db/shared_database.dart
index fa6f94e53e..70a9acad37 100644
--- a/lib/db/drift/shared_db/shared_database.dart
+++ b/lib/db/drift/shared_db/shared_database.dart
@@ -2,8 +2,8 @@ import 'package:drift/drift.dart';
import 'package:drift_flutter/drift_flutter.dart';
import 'package:path/path.dart' as path;
-import '../../../models/shopinbit/shopinbit_order_model.dart'
- show ShopInBitCategory, ShopInBitOrderStatus;
+import "../../../models/shopinbit/shopinbit_enums.dart";
+import "../../../services/shopinbit/src/models/message.dart";
import '../../../utilities/stack_file_system.dart';
import 'tables/cakepay_orders.dart';
import 'tables/shopin_bit_settings.dart';
@@ -27,8 +27,8 @@ abstract final class SharedDrift {
}
@DriftDatabase(
- tables: [CakepayOrders, ShopinBitSettings, ShopInBitTickets],
- daos: [ShopinBitSettingsDao],
+ tables: [CakepayOrders, ShopInBitSettings, ShopInBitTickets],
+ daos: [ShopInBitSettingsDao, ShopInBitTicketsDao],
)
final class SharedDatabase extends _$SharedDatabase {
SharedDatabase._([QueryExecutor? executor])
@@ -41,7 +41,7 @@ final class SharedDatabase extends _$SharedDatabase {
MigrationStrategy get migration => MigrationStrategy(
onUpgrade: (m, from, to) async {
if (from == 1 && to == 2) {
- await m.createTable(shopinBitSettings);
+ await m.createTable(shopInBitSettings);
await m.createTable(shopInBitTickets);
}
},
@@ -61,35 +61,176 @@ final class SharedDatabase extends _$SharedDatabase {
}
}
-@DriftAccessor(tables: [ShopinBitSettings])
-class ShopinBitSettingsDao extends DatabaseAccessor
- with _$ShopinBitSettingsDaoMixin {
- ShopinBitSettingsDao(super.db);
+@DriftAccessor(tables: [ShopInBitTickets])
+class ShopInBitTicketsDao extends DatabaseAccessor
+ with _$ShopInBitTicketsDaoMixin {
+ ShopInBitTicketsDao(super.db);
- Future getSettings() async {
- final ShopinBitSetting? row = await (select(
- shopinBitSettings,
- )..where((t) => t.id.equals(0))).getSingleOrNull();
- if (row != null) return row;
+ // -- Reads --
- return into(
- shopinBitSettings,
- ).insertReturning(ShopinBitSettingsCompanion.insert(id: const Value(0)));
+ Future getByApiId(int apiTicketId) {
+ return (select(
+ shopInBitTickets,
+ )..where((t) => t.apiTicketId.equals(apiTicketId))).getSingleOrNull();
}
- Future setGuidelinesAccepted(bool accepted) =>
- _update(ShopinBitSettingsCompanion(guidelinesAccepted: Value(accepted)));
+ Stream watchByApiId(int apiTicketId) {
+ return (select(
+ shopInBitTickets,
+ )..where((t) => t.apiTicketId.equals(apiTicketId))).watchSingleOrNull();
+ }
+
+ /// All tickets for the active customer key, newest first.
+ Stream> watchByCustomerKey(String customerKey) {
+ return (select(shopInBitTickets)
+ ..where((t) => t.customerKey.equals(customerKey))
+ ..orderBy([(t) => OrderingTerm.desc(t.createdAt)]))
+ .watch();
+ }
+
+ // -- Writes --
+
+ /// Insert a brand-new ticket. Caller must supply every required field;
+ /// pass nullable fields through the companion's `Value(...)` wrappers.
+ Future insertTicket(ShopInBitTicketsCompanion companion) async {
+ await into(shopInBitTickets).insert(companion);
+ }
+
+ /// Patch an existing ticket. Use `Value.absent()` (the companion default)
+ /// for fields you don't want to touch. Returns true if a row was updated.
+ Future updateTicket(
+ int apiTicketId,
+ ShopInBitTicketsCompanion patch,
+ ) async {
+ final int rows = await (update(
+ shopInBitTickets,
+ )..where((t) => t.apiTicketId.equals(apiTicketId))).write(patch);
+ return rows > 0;
+ }
+
+ Future deleteByApiId(int apiTicketId) {
+ return (delete(
+ shopInBitTickets,
+ )..where((t) => t.apiTicketId.equals(apiTicketId))).go();
+ }
+
+ Future deleteByCustomerKey(String customerKey) {
+ return (delete(
+ shopInBitTickets,
+ )..where((t) => t.customerKey.equals(customerKey))).go();
+ }
+}
+
+@DriftAccessor(tables: [ShopInBitSettings])
+class ShopInBitSettingsDao extends DatabaseAccessor
+ with _$ShopInBitSettingsDaoMixin {
+ ShopInBitSettingsDao(super.db);
+
+ // -- "Current" (= most-recently-used) row --
+
+ /// Returns the settings row for the most-recently-used customer key,
+ /// or null if the user has never generated/recovered one.
+ Future getCurrentSettings() {
+ return (select(shopInBitSettings)
+ ..orderBy([(t) => OrderingTerm.desc(t.lastUsedAt)])
+ ..limit(1))
+ .getSingleOrNull();
+ }
+
+ Stream watchCurrentSettings() {
+ return (select(shopInBitSettings)
+ ..orderBy([(t) => OrderingTerm.desc(t.lastUsedAt)])
+ ..limit(1))
+ .watchSingleOrNull();
+ }
+
+ // -- Specific row by customer key --
+
+ Future getByKey(String customerKey) {
+ return (select(
+ shopInBitSettings,
+ )..where((t) => t.customerKey.equals(customerKey))).getSingleOrNull();
+ }
- Future setSetupComplete(bool complete) =>
- _update(ShopinBitSettingsCompanion(setupComplete: Value(complete)));
+ Stream watchByKey(String customerKey) {
+ return (select(
+ shopInBitSettings,
+ )..where((t) => t.customerKey.equals(customerKey))).watchSingleOrNull();
+ }
+
+ Stream> watchAll() {
+ return (select(
+ shopInBitSettings,
+ )..orderBy([(t) => OrderingTerm.desc(t.lastUsedAt)])).watch();
+ }
+
+ // -- Writes --
+
+ /// Insert if missing, otherwise bump [lastUsedAt]. Returns the row.
+ Future upsert(String customerKey) {
+ final DateTime now = DateTime.now();
+ return into(shopInBitSettings).insertReturning(
+ ShopInBitSettingsCompanion.insert(
+ customerKey: customerKey,
+ createdAt: Value(now),
+ lastUsedAt: Value(now),
+ ),
+ onConflict: DoUpdate(
+ (_) => ShopInBitSettingsCompanion(lastUsedAt: Value(now)),
+ target: [shopInBitSettings.customerKey],
+ ),
+ );
+ }
+
+ Future touch(String customerKey) => _write(
+ customerKey,
+ ShopInBitSettingsCompanion(lastUsedAt: Value(DateTime.now())),
+ );
- Future setDisplayName(String name) =>
- _update(ShopinBitSettingsCompanion(displayName: Value(name)));
+ Future setPrivacyAccepted(String customerKey, bool value) => _write(
+ customerKey,
+ ShopInBitSettingsCompanion(privacyAccepted: Value(value)),
+ );
- Future _update(ShopinBitSettingsCompanion changes) async {
- await getSettings(); // ensure row exists
- await (update(
- shopinBitSettings,
- )..where((t) => t.id.equals(0))).write(changes);
+ Future setGuidelinesAccepted(
+ String customerKey,
+ ShopInBitCategory category,
+ bool value,
+ ) {
+ final ShopInBitSettingsCompanion patch = switch (category) {
+ .concierge => ShopInBitSettingsCompanion(
+ conciergeGuidelinesAccepted: Value(value),
+ ),
+ .travel => ShopInBitSettingsCompanion(
+ travelGuidelinesAccepted: Value(value),
+ ),
+ .car => ShopInBitSettingsCompanion(carGuidelinesAccepted: Value(value)),
+ };
+ return _write(customerKey, patch);
}
+
+ Future setSetupComplete(String customerKey, bool value) => _write(
+ customerKey,
+ ShopInBitSettingsCompanion(setupComplete: Value(value)),
+ );
+
+ Future deleteByKey(String customerKey) {
+ return (delete(
+ shopInBitSettings,
+ )..where((t) => t.customerKey.equals(customerKey))).go();
+ }
+
+ Future _write(String customerKey, ShopInBitSettingsCompanion changes) {
+ return (update(
+ shopInBitSettings,
+ )..where((t) => t.customerKey.equals(customerKey))).write(changes);
+ }
+}
+
+extension ShopInBitSettingGuidelines on ShopInBitSetting {
+ bool guidelinesAcceptedFor(ShopInBitCategory category) => switch (category) {
+ .concierge => conciergeGuidelinesAccepted,
+ .travel => travelGuidelinesAccepted,
+ .car => carGuidelinesAccepted,
+ };
}
diff --git a/lib/db/drift/shared_db/shared_database.g.dart b/lib/db/drift/shared_db/shared_database.g.dart
index 28c4c39910..67c9b7af63 100644
--- a/lib/db/drift/shared_db/shared_database.g.dart
+++ b/lib/db/drift/shared_db/shared_database.g.dart
@@ -165,36 +165,83 @@ class CakepayOrdersCompanion extends UpdateCompanion {
}
}
-class $ShopinBitSettingsTable extends ShopinBitSettings
- with TableInfo<$ShopinBitSettingsTable, ShopinBitSetting> {
+class $ShopInBitSettingsTable extends ShopInBitSettings
+ with TableInfo<$ShopInBitSettingsTable, ShopInBitSetting> {
@override
final GeneratedDatabase attachedDatabase;
final String? _alias;
- $ShopinBitSettingsTable(this.attachedDatabase, [this._alias]);
- static const VerificationMeta _idMeta = const VerificationMeta('id');
+ $ShopInBitSettingsTable(this.attachedDatabase, [this._alias]);
+ static const VerificationMeta _customerKeyMeta = const VerificationMeta(
+ 'customerKey',
+ );
@override
- late final GeneratedColumn id = GeneratedColumn(
- 'id',
+ late final GeneratedColumn customerKey = GeneratedColumn(
+ 'customer_key',
aliasedName,
false,
- type: DriftSqlType.int,
- requiredDuringInsert: false,
- defaultValue: const Constant(0),
+ type: DriftSqlType.string,
+ requiredDuringInsert: true,
+ );
+ static const VerificationMeta _privacyAcceptedMeta = const VerificationMeta(
+ 'privacyAccepted',
);
- static const VerificationMeta _guidelinesAcceptedMeta =
- const VerificationMeta('guidelinesAccepted');
@override
- late final GeneratedColumn guidelinesAccepted = GeneratedColumn(
- 'guidelines_accepted',
+ late final GeneratedColumn privacyAccepted = GeneratedColumn(
+ 'privacy_accepted',
aliasedName,
false,
type: DriftSqlType.bool,
requiredDuringInsert: false,
defaultConstraints: GeneratedColumn.constraintIsAlways(
- 'CHECK ("guidelines_accepted" IN (0, 1))',
+ 'CHECK ("privacy_accepted" IN (0, 1))',
),
defaultValue: const Constant(false),
);
+ static const VerificationMeta _conciergeGuidelinesAcceptedMeta =
+ const VerificationMeta('conciergeGuidelinesAccepted');
+ @override
+ late final GeneratedColumn conciergeGuidelinesAccepted =
+ GeneratedColumn(
+ 'concierge_guidelines_accepted',
+ aliasedName,
+ false,
+ type: DriftSqlType.bool,
+ requiredDuringInsert: false,
+ defaultConstraints: GeneratedColumn.constraintIsAlways(
+ 'CHECK ("concierge_guidelines_accepted" IN (0, 1))',
+ ),
+ defaultValue: const Constant(false),
+ );
+ static const VerificationMeta _travelGuidelinesAcceptedMeta =
+ const VerificationMeta('travelGuidelinesAccepted');
+ @override
+ late final GeneratedColumn travelGuidelinesAccepted =
+ GeneratedColumn(
+ 'travel_guidelines_accepted',
+ aliasedName,
+ false,
+ type: DriftSqlType.bool,
+ requiredDuringInsert: false,
+ defaultConstraints: GeneratedColumn.constraintIsAlways(
+ 'CHECK ("travel_guidelines_accepted" IN (0, 1))',
+ ),
+ defaultValue: const Constant(false),
+ );
+ static const VerificationMeta _carGuidelinesAcceptedMeta =
+ const VerificationMeta('carGuidelinesAccepted');
+ @override
+ late final GeneratedColumn carGuidelinesAccepted =
+ GeneratedColumn(
+ 'car_guidelines_accepted',
+ aliasedName,
+ false,
+ type: DriftSqlType.bool,
+ requiredDuringInsert: false,
+ defaultConstraints: GeneratedColumn.constraintIsAlways(
+ 'CHECK ("car_guidelines_accepted" IN (0, 1))',
+ ),
+ defaultValue: const Constant(false),
+ );
static const VerificationMeta _setupCompleteMeta = const VerificationMeta(
'setupComplete',
);
@@ -210,45 +257,97 @@ class $ShopinBitSettingsTable extends ShopinBitSettings
),
defaultValue: const Constant(false),
);
- static const VerificationMeta _displayNameMeta = const VerificationMeta(
- 'displayName',
+ static const VerificationMeta _createdAtMeta = const VerificationMeta(
+ 'createdAt',
);
@override
- late final GeneratedColumn displayName = GeneratedColumn(
- 'display_name',
+ late final GeneratedColumn createdAt = GeneratedColumn(
+ 'created_at',
aliasedName,
- true,
- type: DriftSqlType.string,
+ false,
+ type: DriftSqlType.dateTime,
+ requiredDuringInsert: false,
+ defaultValue: currentDateAndTime,
+ );
+ static const VerificationMeta _lastUsedAtMeta = const VerificationMeta(
+ 'lastUsedAt',
+ );
+ @override
+ late final GeneratedColumn lastUsedAt = GeneratedColumn(
+ 'last_used_at',
+ aliasedName,
+ false,
+ type: DriftSqlType.dateTime,
requiredDuringInsert: false,
+ defaultValue: currentDateAndTime,
);
@override
List get $columns => [
- id,
- guidelinesAccepted,
+ customerKey,
+ privacyAccepted,
+ conciergeGuidelinesAccepted,
+ travelGuidelinesAccepted,
+ carGuidelinesAccepted,
setupComplete,
- displayName,
+ createdAt,
+ lastUsedAt,
];
@override
String get aliasedName => _alias ?? actualTableName;
@override
String get actualTableName => $name;
- static const String $name = 'shopin_bit_settings';
+ static const String $name = 'shop_in_bit_settings';
@override
VerificationContext validateIntegrity(
- Insertable instance, {
+ Insertable instance, {
bool isInserting = false,
}) {
final context = VerificationContext();
final data = instance.toColumns(true);
- if (data.containsKey('id')) {
- context.handle(_idMeta, id.isAcceptableOrUnknown(data['id']!, _idMeta));
+ if (data.containsKey('customer_key')) {
+ context.handle(
+ _customerKeyMeta,
+ customerKey.isAcceptableOrUnknown(
+ data['customer_key']!,
+ _customerKeyMeta,
+ ),
+ );
+ } else if (isInserting) {
+ context.missing(_customerKeyMeta);
+ }
+ if (data.containsKey('privacy_accepted')) {
+ context.handle(
+ _privacyAcceptedMeta,
+ privacyAccepted.isAcceptableOrUnknown(
+ data['privacy_accepted']!,
+ _privacyAcceptedMeta,
+ ),
+ );
}
- if (data.containsKey('guidelines_accepted')) {
+ if (data.containsKey('concierge_guidelines_accepted')) {
context.handle(
- _guidelinesAcceptedMeta,
- guidelinesAccepted.isAcceptableOrUnknown(
- data['guidelines_accepted']!,
- _guidelinesAcceptedMeta,
+ _conciergeGuidelinesAcceptedMeta,
+ conciergeGuidelinesAccepted.isAcceptableOrUnknown(
+ data['concierge_guidelines_accepted']!,
+ _conciergeGuidelinesAcceptedMeta,
+ ),
+ );
+ }
+ if (data.containsKey('travel_guidelines_accepted')) {
+ context.handle(
+ _travelGuidelinesAcceptedMeta,
+ travelGuidelinesAccepted.isAcceptableOrUnknown(
+ data['travel_guidelines_accepted']!,
+ _travelGuidelinesAcceptedMeta,
+ ),
+ );
+ }
+ if (data.containsKey('car_guidelines_accepted')) {
+ context.handle(
+ _carGuidelinesAcceptedMeta,
+ carGuidelinesAccepted.isAcceptableOrUnknown(
+ data['car_guidelines_accepted']!,
+ _carGuidelinesAcceptedMeta,
),
);
}
@@ -261,12 +360,18 @@ class $ShopinBitSettingsTable extends ShopinBitSettings
),
);
}
- if (data.containsKey('display_name')) {
+ if (data.containsKey('created_at')) {
+ context.handle(
+ _createdAtMeta,
+ createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta),
+ );
+ }
+ if (data.containsKey('last_used_at')) {
context.handle(
- _displayNameMeta,
- displayName.isAcceptableOrUnknown(
- data['display_name']!,
- _displayNameMeta,
+ _lastUsedAtMeta,
+ lastUsedAt.isAcceptableOrUnknown(
+ data['last_used_at']!,
+ _lastUsedAtMeta,
),
);
}
@@ -274,214 +379,362 @@ class $ShopinBitSettingsTable extends ShopinBitSettings
}
@override
- Set get $primaryKey => {id};
+ Set get $primaryKey => {customerKey};
@override
- ShopinBitSetting map(Map data, {String? tablePrefix}) {
+ ShopInBitSetting map(Map data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
- return ShopinBitSetting(
- id: attachedDatabase.typeMapping.read(
- DriftSqlType.int,
- data['${effectivePrefix}id'],
+ return ShopInBitSetting(
+ customerKey: attachedDatabase.typeMapping.read(
+ DriftSqlType.string,
+ data['${effectivePrefix}customer_key'],
+ )!,
+ privacyAccepted: attachedDatabase.typeMapping.read(
+ DriftSqlType.bool,
+ data['${effectivePrefix}privacy_accepted'],
)!,
- guidelinesAccepted: attachedDatabase.typeMapping.read(
+ conciergeGuidelinesAccepted: attachedDatabase.typeMapping.read(
DriftSqlType.bool,
- data['${effectivePrefix}guidelines_accepted'],
+ data['${effectivePrefix}concierge_guidelines_accepted'],
+ )!,
+ travelGuidelinesAccepted: attachedDatabase.typeMapping.read(
+ DriftSqlType.bool,
+ data['${effectivePrefix}travel_guidelines_accepted'],
+ )!,
+ carGuidelinesAccepted: attachedDatabase.typeMapping.read(
+ DriftSqlType.bool,
+ data['${effectivePrefix}car_guidelines_accepted'],
)!,
setupComplete: attachedDatabase.typeMapping.read(
DriftSqlType.bool,
data['${effectivePrefix}setup_complete'],
)!,
- displayName: attachedDatabase.typeMapping.read(
- DriftSqlType.string,
- data['${effectivePrefix}display_name'],
- ),
+ createdAt: attachedDatabase.typeMapping.read(
+ DriftSqlType.dateTime,
+ data['${effectivePrefix}created_at'],
+ )!,
+ lastUsedAt: attachedDatabase.typeMapping.read(
+ DriftSqlType.dateTime,
+ data['${effectivePrefix}last_used_at'],
+ )!,
);
}
@override
- $ShopinBitSettingsTable createAlias(String alias) {
- return $ShopinBitSettingsTable(attachedDatabase, alias);
+ $ShopInBitSettingsTable createAlias(String alias) {
+ return $ShopInBitSettingsTable(attachedDatabase, alias);
}
+
+ @override
+ bool get withoutRowId => true;
}
-class ShopinBitSetting extends DataClass
- implements Insertable {
- final int id;
- final bool guidelinesAccepted;
+class ShopInBitSetting extends DataClass
+ implements Insertable {
+ final String customerKey;
+ final bool privacyAccepted;
+ final bool conciergeGuidelinesAccepted;
+ final bool travelGuidelinesAccepted;
+ final bool carGuidelinesAccepted;
final bool setupComplete;
- final String? displayName;
- const ShopinBitSetting({
- required this.id,
- required this.guidelinesAccepted,
+ final DateTime createdAt;
+ final DateTime lastUsedAt;
+ const ShopInBitSetting({
+ required this.customerKey,
+ required this.privacyAccepted,
+ required this.conciergeGuidelinesAccepted,
+ required this.travelGuidelinesAccepted,
+ required this.carGuidelinesAccepted,
required this.setupComplete,
- this.displayName,
+ required this.createdAt,
+ required this.lastUsedAt,
});
@override
Map toColumns(bool nullToAbsent) {
final map = {};
- map['id'] = Variable(id);
- map['guidelines_accepted'] = Variable(guidelinesAccepted);
+ map['customer_key'] = Variable(customerKey);
+ map['privacy_accepted'] = Variable(privacyAccepted);
+ map['concierge_guidelines_accepted'] = Variable(
+ conciergeGuidelinesAccepted,
+ );
+ map['travel_guidelines_accepted'] = Variable(
+ travelGuidelinesAccepted,
+ );
+ map['car_guidelines_accepted'] = Variable(carGuidelinesAccepted);
map['setup_complete'] = Variable(setupComplete);
- if (!nullToAbsent || displayName != null) {
- map['display_name'] = Variable(displayName);
- }
+ map['created_at'] = Variable(createdAt);
+ map['last_used_at'] = Variable(lastUsedAt);
return map;
}
- ShopinBitSettingsCompanion toCompanion(bool nullToAbsent) {
- return ShopinBitSettingsCompanion(
- id: Value(id),
- guidelinesAccepted: Value(guidelinesAccepted),
+ ShopInBitSettingsCompanion toCompanion(bool nullToAbsent) {
+ return ShopInBitSettingsCompanion(
+ customerKey: Value(customerKey),
+ privacyAccepted: Value(privacyAccepted),
+ conciergeGuidelinesAccepted: Value(conciergeGuidelinesAccepted),
+ travelGuidelinesAccepted: Value(travelGuidelinesAccepted),
+ carGuidelinesAccepted: Value(carGuidelinesAccepted),
setupComplete: Value(setupComplete),
- displayName: displayName == null && nullToAbsent
- ? const Value.absent()
- : Value(displayName),
+ createdAt: Value(createdAt),
+ lastUsedAt: Value(lastUsedAt),
);
}
- factory ShopinBitSetting.fromJson(
+ factory ShopInBitSetting.fromJson(
Map json, {
ValueSerializer? serializer,
}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
- return ShopinBitSetting(
- id: serializer.fromJson(json['id']),
- guidelinesAccepted: serializer.fromJson(json['guidelinesAccepted']),
+ return ShopInBitSetting(
+ customerKey: serializer.fromJson(json['customerKey']),
+ privacyAccepted: serializer.fromJson(json['privacyAccepted']),
+ conciergeGuidelinesAccepted: serializer.fromJson(
+ json['conciergeGuidelinesAccepted'],
+ ),
+ travelGuidelinesAccepted: serializer.fromJson(
+ json['travelGuidelinesAccepted'],
+ ),
+ carGuidelinesAccepted: serializer.fromJson(
+ json['carGuidelinesAccepted'],
+ ),
setupComplete: serializer.fromJson(json['setupComplete']),
- displayName: serializer.fromJson(json['displayName']),
+ createdAt: serializer.fromJson(json['createdAt']),
+ lastUsedAt: serializer.fromJson(json['lastUsedAt']),
);
}
@override
Map toJson({ValueSerializer? serializer}) {
serializer ??= driftRuntimeOptions.defaultSerializer;
return {
- 'id': serializer.toJson(id),
- 'guidelinesAccepted': serializer.toJson(guidelinesAccepted),
+ 'customerKey': serializer.toJson(customerKey),
+ 'privacyAccepted': serializer.toJson(privacyAccepted),
+ 'conciergeGuidelinesAccepted': serializer.toJson(
+ conciergeGuidelinesAccepted,
+ ),
+ 'travelGuidelinesAccepted': serializer.toJson(
+ travelGuidelinesAccepted,
+ ),
+ 'carGuidelinesAccepted': serializer.toJson(carGuidelinesAccepted),
'setupComplete': serializer.toJson(setupComplete),
- 'displayName': serializer.toJson(displayName),
+ 'createdAt': serializer.toJson(createdAt),
+ 'lastUsedAt': serializer.toJson(lastUsedAt),
};
}
- ShopinBitSetting copyWith({
- int? id,
- bool? guidelinesAccepted,
+ ShopInBitSetting copyWith({
+ String? customerKey,
+ bool? privacyAccepted,
+ bool? conciergeGuidelinesAccepted,
+ bool? travelGuidelinesAccepted,
+ bool? carGuidelinesAccepted,
bool? setupComplete,
- Value displayName = const Value.absent(),
- }) => ShopinBitSetting(
- id: id ?? this.id,
- guidelinesAccepted: guidelinesAccepted ?? this.guidelinesAccepted,
+ DateTime? createdAt,
+ DateTime? lastUsedAt,
+ }) => ShopInBitSetting(
+ customerKey: customerKey ?? this.customerKey,
+ privacyAccepted: privacyAccepted ?? this.privacyAccepted,
+ conciergeGuidelinesAccepted:
+ conciergeGuidelinesAccepted ?? this.conciergeGuidelinesAccepted,
+ travelGuidelinesAccepted:
+ travelGuidelinesAccepted ?? this.travelGuidelinesAccepted,
+ carGuidelinesAccepted: carGuidelinesAccepted ?? this.carGuidelinesAccepted,
setupComplete: setupComplete ?? this.setupComplete,
- displayName: displayName.present ? displayName.value : this.displayName,
- );
- ShopinBitSetting copyWithCompanion(ShopinBitSettingsCompanion data) {
- return ShopinBitSetting(
- id: data.id.present ? data.id.value : this.id,
- guidelinesAccepted: data.guidelinesAccepted.present
- ? data.guidelinesAccepted.value
- : this.guidelinesAccepted,
+ createdAt: createdAt ?? this.createdAt,
+ lastUsedAt: lastUsedAt ?? this.lastUsedAt,
+ );
+ ShopInBitSetting copyWithCompanion(ShopInBitSettingsCompanion data) {
+ return ShopInBitSetting(
+ customerKey: data.customerKey.present
+ ? data.customerKey.value
+ : this.customerKey,
+ privacyAccepted: data.privacyAccepted.present
+ ? data.privacyAccepted.value
+ : this.privacyAccepted,
+ conciergeGuidelinesAccepted: data.conciergeGuidelinesAccepted.present
+ ? data.conciergeGuidelinesAccepted.value
+ : this.conciergeGuidelinesAccepted,
+ travelGuidelinesAccepted: data.travelGuidelinesAccepted.present
+ ? data.travelGuidelinesAccepted.value
+ : this.travelGuidelinesAccepted,
+ carGuidelinesAccepted: data.carGuidelinesAccepted.present
+ ? data.carGuidelinesAccepted.value
+ : this.carGuidelinesAccepted,
setupComplete: data.setupComplete.present
? data.setupComplete.value
: this.setupComplete,
- displayName: data.displayName.present
- ? data.displayName.value
- : this.displayName,
+ createdAt: data.createdAt.present ? data.createdAt.value : this.createdAt,
+ lastUsedAt: data.lastUsedAt.present
+ ? data.lastUsedAt.value
+ : this.lastUsedAt,
);
}
@override
String toString() {
- return (StringBuffer('ShopinBitSetting(')
- ..write('id: $id, ')
- ..write('guidelinesAccepted: $guidelinesAccepted, ')
+ return (StringBuffer('ShopInBitSetting(')
+ ..write('customerKey: $customerKey, ')
+ ..write('privacyAccepted: $privacyAccepted, ')
+ ..write('conciergeGuidelinesAccepted: $conciergeGuidelinesAccepted, ')
+ ..write('travelGuidelinesAccepted: $travelGuidelinesAccepted, ')
+ ..write('carGuidelinesAccepted: $carGuidelinesAccepted, ')
..write('setupComplete: $setupComplete, ')
- ..write('displayName: $displayName')
+ ..write('createdAt: $createdAt, ')
+ ..write('lastUsedAt: $lastUsedAt')
..write(')'))
.toString();
}
@override
- int get hashCode =>
- Object.hash(id, guidelinesAccepted, setupComplete, displayName);
+ int get hashCode => Object.hash(
+ customerKey,
+ privacyAccepted,
+ conciergeGuidelinesAccepted,
+ travelGuidelinesAccepted,
+ carGuidelinesAccepted,
+ setupComplete,
+ createdAt,
+ lastUsedAt,
+ );
@override
bool operator ==(Object other) =>
identical(this, other) ||
- (other is ShopinBitSetting &&
- other.id == this.id &&
- other.guidelinesAccepted == this.guidelinesAccepted &&
+ (other is ShopInBitSetting &&
+ other.customerKey == this.customerKey &&
+ other.privacyAccepted == this.privacyAccepted &&
+ other.conciergeGuidelinesAccepted ==
+ this.conciergeGuidelinesAccepted &&
+ other.travelGuidelinesAccepted == this.travelGuidelinesAccepted &&
+ other.carGuidelinesAccepted == this.carGuidelinesAccepted &&
other.setupComplete == this.setupComplete &&
- other.displayName == this.displayName);
+ other.createdAt == this.createdAt &&
+ other.lastUsedAt == this.lastUsedAt);
}
-class ShopinBitSettingsCompanion extends UpdateCompanion {
- final Value id;
- final Value guidelinesAccepted;
+class ShopInBitSettingsCompanion extends UpdateCompanion {
+ final Value customerKey;
+ final Value privacyAccepted;
+ final Value conciergeGuidelinesAccepted;
+ final Value travelGuidelinesAccepted;
+ final Value carGuidelinesAccepted;
final Value setupComplete;
- final Value displayName;
- const ShopinBitSettingsCompanion({
- this.id = const Value.absent(),
- this.guidelinesAccepted = const Value.absent(),
+ final Value createdAt;
+ final Value lastUsedAt;
+ const ShopInBitSettingsCompanion({
+ this.customerKey = const Value.absent(),
+ this.privacyAccepted = const Value.absent(),
+ this.conciergeGuidelinesAccepted = const Value.absent(),
+ this.travelGuidelinesAccepted = const Value.absent(),
+ this.carGuidelinesAccepted = const Value.absent(),
this.setupComplete = const Value.absent(),
- this.displayName = const Value.absent(),
+ this.createdAt = const Value.absent(),
+ this.lastUsedAt = const Value.absent(),
});
- ShopinBitSettingsCompanion.insert({
- this.id = const Value.absent(),
- this.guidelinesAccepted = const Value.absent(),
+ ShopInBitSettingsCompanion.insert({
+ required String customerKey,
+ this.privacyAccepted = const Value.absent(),
+ this.conciergeGuidelinesAccepted = const Value.absent(),
+ this.travelGuidelinesAccepted = const Value.absent(),
+ this.carGuidelinesAccepted = const Value.absent(),
this.setupComplete = const Value.absent(),
- this.displayName = const Value.absent(),
- });
- static Insertable custom({
- Expression? id,
- Expression? guidelinesAccepted,
+ this.createdAt = const Value.absent(),
+ this.lastUsedAt = const Value.absent(),
+ }) : customerKey = Value(customerKey);
+ static Insertable custom({
+ Expression? customerKey,
+ Expression? privacyAccepted,
+ Expression? conciergeGuidelinesAccepted,
+ Expression? travelGuidelinesAccepted,
+ Expression? carGuidelinesAccepted,
Expression? setupComplete,
- Expression? displayName,
+ Expression? createdAt,
+ Expression? lastUsedAt,
}) {
return RawValuesInsertable({
- if (id != null) 'id': id,
- if (guidelinesAccepted != null) 'guidelines_accepted': guidelinesAccepted,
+ if (customerKey != null) 'customer_key': customerKey,
+ if (privacyAccepted != null) 'privacy_accepted': privacyAccepted,
+ if (conciergeGuidelinesAccepted != null)
+ 'concierge_guidelines_accepted': conciergeGuidelinesAccepted,
+ if (travelGuidelinesAccepted != null)
+ 'travel_guidelines_accepted': travelGuidelinesAccepted,
+ if (carGuidelinesAccepted != null)
+ 'car_guidelines_accepted': carGuidelinesAccepted,
if (setupComplete != null) 'setup_complete': setupComplete,
- if (displayName != null) 'display_name': displayName,
+ if (createdAt != null) 'created_at': createdAt,
+ if (lastUsedAt != null) 'last_used_at': lastUsedAt,
});
}
- ShopinBitSettingsCompanion copyWith({
- Value? id,
- Value? guidelinesAccepted,
+ ShopInBitSettingsCompanion copyWith({
+ Value? customerKey,
+ Value? privacyAccepted,
+ Value? conciergeGuidelinesAccepted,
+ Value? travelGuidelinesAccepted,
+ Value? carGuidelinesAccepted,
Value? setupComplete,
- Value? displayName,
+ Value? createdAt,
+ Value? lastUsedAt,
}) {
- return ShopinBitSettingsCompanion(
- id: id ?? this.id,
- guidelinesAccepted: guidelinesAccepted ?? this.guidelinesAccepted,
+ return ShopInBitSettingsCompanion(
+ customerKey: customerKey ?? this.customerKey,
+ privacyAccepted: privacyAccepted ?? this.privacyAccepted,
+ conciergeGuidelinesAccepted:
+ conciergeGuidelinesAccepted ?? this.conciergeGuidelinesAccepted,
+ travelGuidelinesAccepted:
+ travelGuidelinesAccepted ?? this.travelGuidelinesAccepted,
+ carGuidelinesAccepted:
+ carGuidelinesAccepted ?? this.carGuidelinesAccepted,
setupComplete: setupComplete ?? this.setupComplete,
- displayName: displayName ?? this.displayName,
+ createdAt: createdAt ?? this.createdAt,
+ lastUsedAt: lastUsedAt ?? this.lastUsedAt,
);
}
@override
Map toColumns(bool nullToAbsent) {
final map = {};
- if (id.present) {
- map['id'] = Variable(id.value);
+ if (customerKey.present) {
+ map['customer_key'] = Variable(customerKey.value);
+ }
+ if (privacyAccepted.present) {
+ map['privacy_accepted'] = Variable(privacyAccepted.value);
+ }
+ if (conciergeGuidelinesAccepted.present) {
+ map['concierge_guidelines_accepted'] = Variable(
+ conciergeGuidelinesAccepted.value,
+ );
+ }
+ if (travelGuidelinesAccepted.present) {
+ map['travel_guidelines_accepted'] = Variable(
+ travelGuidelinesAccepted.value,
+ );
}
- if (guidelinesAccepted.present) {
- map['guidelines_accepted'] = Variable(guidelinesAccepted.value);
+ if (carGuidelinesAccepted.present) {
+ map['car_guidelines_accepted'] = Variable(
+ carGuidelinesAccepted.value,
+ );
}
if (setupComplete.present) {
map['setup_complete'] = Variable(setupComplete.value);
}
- if (displayName.present) {
- map['display_name'] = Variable(displayName.value);
+ if (createdAt.present) {
+ map['created_at'] = Variable(createdAt.value);
+ }
+ if (lastUsedAt.present) {
+ map['last_used_at'] = Variable(lastUsedAt.value);
}
return map;
}
@override
String toString() {
- return (StringBuffer('ShopinBitSettingsCompanion(')
- ..write('id: $id, ')
- ..write('guidelinesAccepted: $guidelinesAccepted, ')
+ return (StringBuffer('ShopInBitSettingsCompanion(')
+ ..write('customerKey: $customerKey, ')
+ ..write('privacyAccepted: $privacyAccepted, ')
+ ..write('conciergeGuidelinesAccepted: $conciergeGuidelinesAccepted, ')
+ ..write('travelGuidelinesAccepted: $travelGuidelinesAccepted, ')
+ ..write('carGuidelinesAccepted: $carGuidelinesAccepted, ')
..write('setupComplete: $setupComplete, ')
- ..write('displayName: $displayName')
+ ..write('createdAt: $createdAt, ')
+ ..write('lastUsedAt: $lastUsedAt')
..write(')'))
.toString();
}
@@ -493,62 +746,48 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
final GeneratedDatabase attachedDatabase;
final String? _alias;
$ShopInBitTicketsTable(this.attachedDatabase, [this._alias]);
- static const VerificationMeta _ticketIdMeta = const VerificationMeta(
- 'ticketId',
+ static const VerificationMeta _apiTicketIdMeta = const VerificationMeta(
+ 'apiTicketId',
);
@override
- late final GeneratedColumn ticketId = GeneratedColumn(
- 'ticket_id',
+ late final GeneratedColumn apiTicketId = GeneratedColumn(
+ 'api_ticket_id',
aliasedName,
false,
- type: DriftSqlType.string,
+ type: DriftSqlType.int,
requiredDuringInsert: true,
);
- static const VerificationMeta _displayNameMeta = const VerificationMeta(
- 'displayName',
+ static const VerificationMeta _customerKeyMeta = const VerificationMeta(
+ 'customerKey',
);
@override
- late final GeneratedColumn displayName = GeneratedColumn(
- 'display_name',
+ late final GeneratedColumn customerKey = GeneratedColumn(
+ 'customer_key',
aliasedName,
false,
type: DriftSqlType.string,
requiredDuringInsert: true,
);
- @override
- late final GeneratedColumnWithTypeConverter category =
- GeneratedColumn(
- 'category',
- aliasedName,
- false,
- type: DriftSqlType.int,
- requiredDuringInsert: true,
- ).withConverter(
- $ShopInBitTicketsTable.$convertercategory,
- );
- @override
- late final GeneratedColumnWithTypeConverter
- status =
- GeneratedColumn(
- 'status',
- aliasedName,
- false,
- type: DriftSqlType.int,
- requiredDuringInsert: true,
- ).withConverter(
- $ShopInBitTicketsTable.$converterstatus,
- );
- static const VerificationMeta _statusRawMeta = const VerificationMeta(
- 'statusRaw',
+ static const VerificationMeta _ticketNumberMeta = const VerificationMeta(
+ 'ticketNumber',
);
@override
- late final GeneratedColumn statusRaw = GeneratedColumn(
- 'status_raw',
+ late final GeneratedColumn ticketNumber = GeneratedColumn(
+ 'ticket_number',
aliasedName,
- true,
+ false,
type: DriftSqlType.string,
- requiredDuringInsert: false,
+ requiredDuringInsert: true,
);
+ @override
+ late final GeneratedColumnWithTypeConverter
+ category = GeneratedColumn(
+ 'category',
+ aliasedName,
+ false,
+ type: DriftSqlType.string,
+ requiredDuringInsert: true,
+ ).withConverter($ShopInBitTicketsTable.$convertercategory);
static const VerificationMeta _requestDescriptionMeta =
const VerificationMeta('requestDescription');
@override
@@ -571,6 +810,29 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
type: DriftSqlType.string,
requiredDuringInsert: true,
);
+ @override
+ late final GeneratedColumnWithTypeConverter
+ status =
+ GeneratedColumn(
+ 'status',
+ aliasedName,
+ false,
+ type: DriftSqlType.string,
+ requiredDuringInsert: true,
+ ).withConverter(
+ $ShopInBitTicketsTable.$converterstatus,
+ );
+ static const VerificationMeta _statusRawMeta = const VerificationMeta(
+ 'statusRaw',
+ );
+ @override
+ late final GeneratedColumn statusRaw = GeneratedColumn(
+ 'status_raw',
+ aliasedName,
+ false,
+ type: DriftSqlType.string,
+ requiredDuringInsert: true,
+ );
static const VerificationMeta _offerProductNameMeta = const VerificationMeta(
'offerProductName',
);
@@ -593,85 +855,61 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
type: DriftSqlType.string,
requiredDuringInsert: false,
);
- static const VerificationMeta _shippingNameMeta = const VerificationMeta(
- 'shippingName',
- );
- @override
- late final GeneratedColumn shippingName = GeneratedColumn(
- 'shipping_name',
- aliasedName,
- false,
- type: DriftSqlType.string,
- requiredDuringInsert: true,
- );
- static const VerificationMeta _shippingStreetMeta = const VerificationMeta(
- 'shippingStreet',
- );
- @override
- late final GeneratedColumn shippingStreet = GeneratedColumn(
- 'shipping_street',
- aliasedName,
- false,
- type: DriftSqlType.string,
- requiredDuringInsert: true,
- );
- static const VerificationMeta _shippingCityMeta = const VerificationMeta(
- 'shippingCity',
- );
- @override
- late final GeneratedColumn shippingCity = GeneratedColumn(
- 'shipping_city',
- aliasedName,
- false,
- type: DriftSqlType.string,
- requiredDuringInsert: true,
- );
- static const VerificationMeta _shippingPostalCodeMeta =
- const VerificationMeta('shippingPostalCode');
+ static const VerificationMeta _paymentInvoiceStatusMeta =
+ const VerificationMeta('paymentInvoiceStatus');
@override
- late final GeneratedColumn shippingPostalCode =
+ late final GeneratedColumn paymentInvoiceStatus =
GeneratedColumn(
- 'shipping_postal_code',
+ 'payment_invoice_status',
aliasedName,
- false,
+ true,
type: DriftSqlType.string,
- requiredDuringInsert: true,
+ requiredDuringInsert: false,
);
- static const VerificationMeta _shippingCountryMeta = const VerificationMeta(
- 'shippingCountry',
+ static const VerificationMeta _trackingLinkMeta = const VerificationMeta(
+ 'trackingLink',
);
@override
- late final GeneratedColumn shippingCountry = GeneratedColumn(
- 'shipping_country',
+ late final GeneratedColumn trackingLink = GeneratedColumn(
+ 'tracking_link',
aliasedName,
- false,
+ true,
type: DriftSqlType.string,
- requiredDuringInsert: true,
+ requiredDuringInsert: false,
);
- static const VerificationMeta _paymentMethodMeta = const VerificationMeta(
- 'paymentMethod',
+ static const VerificationMeta _lastAgentMessageAtMeta =
+ const VerificationMeta('lastAgentMessageAt');
+ @override
+ late final GeneratedColumn lastAgentMessageAt =
+ GeneratedColumn(
+ 'last_agent_message_at',
+ aliasedName,
+ true,
+ type: DriftSqlType.dateTime,
+ requiredDuringInsert: false,
+ );
+ static const VerificationMeta _feeTicketNumberMeta = const VerificationMeta(
+ 'feeTicketNumber',
);
@override
- late final GeneratedColumn paymentMethod = GeneratedColumn(
- 'payment_method',
+ late final GeneratedColumn feeTicketNumber = GeneratedColumn(
+ 'fee_ticket_number',
aliasedName,
true,
type: DriftSqlType.string,
requiredDuringInsert: false,
);
@override
- late final GeneratedColumnWithTypeConverter<
- List,
- String
- >
+ late final GeneratedColumnWithTypeConverter, String>
messages =
GeneratedColumn(
'messages',
aliasedName,
false,
type: DriftSqlType.string,
- requiredDuringInsert: true,
- ).withConverter>(
+ requiredDuringInsert: false,
+ defaultValue: const Constant("[]"),
+ ).withConverter>(
$ShopInBitTicketsTable.$convertermessages,
);
static const VerificationMeta _createdAtMeta = const VerificationMeta(
@@ -683,116 +921,40 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
aliasedName,
false,
type: DriftSqlType.dateTime,
- requiredDuringInsert: true,
- );
- static const VerificationMeta _apiTicketIdMeta = const VerificationMeta(
- 'apiTicketId',
- );
- @override
- late final GeneratedColumn apiTicketId = GeneratedColumn(
- 'api_ticket_id',
- aliasedName,
- false,
- type: DriftSqlType.int,
- requiredDuringInsert: true,
- );
- static const VerificationMeta _carResearchInvoiceIdMeta =
- const VerificationMeta('carResearchInvoiceId');
- @override
- late final GeneratedColumn carResearchInvoiceId =
- GeneratedColumn(
- 'car_research_invoice_id',
- aliasedName,
- true,
- type: DriftSqlType.string,
- requiredDuringInsert: false,
- );
- static const VerificationMeta _feeTicketNumberMeta = const VerificationMeta(
- 'feeTicketNumber',
- );
- @override
- late final GeneratedColumn feeTicketNumber = GeneratedColumn(
- 'fee_ticket_number',
- aliasedName,
- true,
- type: DriftSqlType.string,
requiredDuringInsert: false,
+ defaultValue: currentDateAndTime,
);
- static const VerificationMeta _needsCreateRequestMeta =
- const VerificationMeta('needsCreateRequest');
- @override
- late final GeneratedColumn needsCreateRequest = GeneratedColumn(
- 'needs_create_request',
- aliasedName,
- false,
- type: DriftSqlType.bool,
- requiredDuringInsert: true,
- defaultConstraints: GeneratedColumn.constraintIsAlways(
- 'CHECK ("needs_create_request" IN (0, 1))',
- ),
- );
- static const VerificationMeta _isPendingPaymentMeta = const VerificationMeta(
- 'isPendingPayment',
+ static const VerificationMeta _updatedAtMeta = const VerificationMeta(
+ 'updatedAt',
);
@override
- late final GeneratedColumn isPendingPayment = GeneratedColumn(
- 'is_pending_payment',
+ late final GeneratedColumn updatedAt = GeneratedColumn(
+ 'updated_at',
aliasedName,
false,
- type: DriftSqlType.bool,
- requiredDuringInsert: true,
- defaultConstraints: GeneratedColumn.constraintIsAlways(
- 'CHECK ("is_pending_payment" IN (0, 1))',
- ),
+ type: DriftSqlType.dateTime,
+ requiredDuringInsert: false,
+ defaultValue: currentDateAndTime,
);
- static const VerificationMeta _carResearchExpiresAtMeta =
- const VerificationMeta('carResearchExpiresAt');
- @override
- late final GeneratedColumn carResearchExpiresAt =
- GeneratedColumn(
- 'car_research_expires_at',
- aliasedName,
- true,
- type: DriftSqlType.dateTime,
- requiredDuringInsert: false,
- );
- static const VerificationMeta _carResearchPaymentLinksMeta =
- const VerificationMeta('carResearchPaymentLinks');
- @override
- late final GeneratedColumn carResearchPaymentLinks =
- GeneratedColumn(
- 'car_research_payment_links',
- aliasedName,
- true,
- type: DriftSqlType.string,
- requiredDuringInsert: false,
- );
@override
List get $columns => [
- ticketId,
- displayName,
+ apiTicketId,
+ customerKey,
+ ticketNumber,
category,
- status,
- statusRaw,
requestDescription,
deliveryCountry,
+ status,
+ statusRaw,
offerProductName,
offerPrice,
- shippingName,
- shippingStreet,
- shippingCity,
- shippingPostalCode,
- shippingCountry,
- paymentMethod,
+ paymentInvoiceStatus,
+ trackingLink,
+ lastAgentMessageAt,
+ feeTicketNumber,
messages,
createdAt,
- apiTicketId,
- carResearchInvoiceId,
- feeTicketNumber,
- needsCreateRequest,
- isPendingPayment,
- carResearchExpiresAt,
- carResearchPaymentLinks,
+ updatedAt,
];
@override
String get aliasedName => _alias ?? actualTableName;
@@ -806,30 +968,38 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
}) {
final context = VerificationContext();
final data = instance.toColumns(true);
- if (data.containsKey('ticket_id')) {
+ if (data.containsKey('api_ticket_id')) {
context.handle(
- _ticketIdMeta,
- ticketId.isAcceptableOrUnknown(data['ticket_id']!, _ticketIdMeta),
+ _apiTicketIdMeta,
+ apiTicketId.isAcceptableOrUnknown(
+ data['api_ticket_id']!,
+ _apiTicketIdMeta,
+ ),
);
} else if (isInserting) {
- context.missing(_ticketIdMeta);
+ context.missing(_apiTicketIdMeta);
}
- if (data.containsKey('display_name')) {
+ if (data.containsKey('customer_key')) {
context.handle(
- _displayNameMeta,
- displayName.isAcceptableOrUnknown(
- data['display_name']!,
- _displayNameMeta,
+ _customerKeyMeta,
+ customerKey.isAcceptableOrUnknown(
+ data['customer_key']!,
+ _customerKeyMeta,
),
);
} else if (isInserting) {
- context.missing(_displayNameMeta);
+ context.missing(_customerKeyMeta);
}
- if (data.containsKey('status_raw')) {
+ if (data.containsKey('ticket_number')) {
context.handle(
- _statusRawMeta,
- statusRaw.isAcceptableOrUnknown(data['status_raw']!, _statusRawMeta),
+ _ticketNumberMeta,
+ ticketNumber.isAcceptableOrUnknown(
+ data['ticket_number']!,
+ _ticketNumberMeta,
+ ),
);
+ } else if (isInserting) {
+ context.missing(_ticketNumberMeta);
}
if (data.containsKey('request_description')) {
context.handle(
@@ -853,6 +1023,14 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
} else if (isInserting) {
context.missing(_deliveryCountryMeta);
}
+ if (data.containsKey('status_raw')) {
+ context.handle(
+ _statusRawMeta,
+ statusRaw.isAcceptableOrUnknown(data['status_raw']!, _statusRawMeta),
+ );
+ } else if (isInserting) {
+ context.missing(_statusRawMeta);
+ }
if (data.containsKey('offer_product_name')) {
context.handle(
_offerProductNameMeta,
@@ -868,95 +1046,30 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
offerPrice.isAcceptableOrUnknown(data['offer_price']!, _offerPriceMeta),
);
}
- if (data.containsKey('shipping_name')) {
+ if (data.containsKey('payment_invoice_status')) {
context.handle(
- _shippingNameMeta,
- shippingName.isAcceptableOrUnknown(
- data['shipping_name']!,
- _shippingNameMeta,
+ _paymentInvoiceStatusMeta,
+ paymentInvoiceStatus.isAcceptableOrUnknown(
+ data['payment_invoice_status']!,
+ _paymentInvoiceStatusMeta,
),
);
- } else if (isInserting) {
- context.missing(_shippingNameMeta);
- }
- if (data.containsKey('shipping_street')) {
- context.handle(
- _shippingStreetMeta,
- shippingStreet.isAcceptableOrUnknown(
- data['shipping_street']!,
- _shippingStreetMeta,
- ),
- );
- } else if (isInserting) {
- context.missing(_shippingStreetMeta);
- }
- if (data.containsKey('shipping_city')) {
- context.handle(
- _shippingCityMeta,
- shippingCity.isAcceptableOrUnknown(
- data['shipping_city']!,
- _shippingCityMeta,
- ),
- );
- } else if (isInserting) {
- context.missing(_shippingCityMeta);
- }
- if (data.containsKey('shipping_postal_code')) {
- context.handle(
- _shippingPostalCodeMeta,
- shippingPostalCode.isAcceptableOrUnknown(
- data['shipping_postal_code']!,
- _shippingPostalCodeMeta,
- ),
- );
- } else if (isInserting) {
- context.missing(_shippingPostalCodeMeta);
- }
- if (data.containsKey('shipping_country')) {
- context.handle(
- _shippingCountryMeta,
- shippingCountry.isAcceptableOrUnknown(
- data['shipping_country']!,
- _shippingCountryMeta,
- ),
- );
- } else if (isInserting) {
- context.missing(_shippingCountryMeta);
- }
- if (data.containsKey('payment_method')) {
- context.handle(
- _paymentMethodMeta,
- paymentMethod.isAcceptableOrUnknown(
- data['payment_method']!,
- _paymentMethodMeta,
- ),
- );
- }
- if (data.containsKey('created_at')) {
- context.handle(
- _createdAtMeta,
- createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta),
- );
- } else if (isInserting) {
- context.missing(_createdAtMeta);
}
- if (data.containsKey('api_ticket_id')) {
+ if (data.containsKey('tracking_link')) {
context.handle(
- _apiTicketIdMeta,
- apiTicketId.isAcceptableOrUnknown(
- data['api_ticket_id']!,
- _apiTicketIdMeta,
+ _trackingLinkMeta,
+ trackingLink.isAcceptableOrUnknown(
+ data['tracking_link']!,
+ _trackingLinkMeta,
),
);
- } else if (isInserting) {
- context.missing(_apiTicketIdMeta);
}
- if (data.containsKey('car_research_invoice_id')) {
+ if (data.containsKey('last_agent_message_at')) {
context.handle(
- _carResearchInvoiceIdMeta,
- carResearchInvoiceId.isAcceptableOrUnknown(
- data['car_research_invoice_id']!,
- _carResearchInvoiceIdMeta,
+ _lastAgentMessageAtMeta,
+ lastAgentMessageAt.isAcceptableOrUnknown(
+ data['last_agent_message_at']!,
+ _lastAgentMessageAtMeta,
),
);
}
@@ -969,86 +1082,62 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
),
);
}
- if (data.containsKey('needs_create_request')) {
- context.handle(
- _needsCreateRequestMeta,
- needsCreateRequest.isAcceptableOrUnknown(
- data['needs_create_request']!,
- _needsCreateRequestMeta,
- ),
- );
- } else if (isInserting) {
- context.missing(_needsCreateRequestMeta);
- }
- if (data.containsKey('is_pending_payment')) {
- context.handle(
- _isPendingPaymentMeta,
- isPendingPayment.isAcceptableOrUnknown(
- data['is_pending_payment']!,
- _isPendingPaymentMeta,
- ),
- );
- } else if (isInserting) {
- context.missing(_isPendingPaymentMeta);
- }
- if (data.containsKey('car_research_expires_at')) {
+ if (data.containsKey('created_at')) {
context.handle(
- _carResearchExpiresAtMeta,
- carResearchExpiresAt.isAcceptableOrUnknown(
- data['car_research_expires_at']!,
- _carResearchExpiresAtMeta,
- ),
+ _createdAtMeta,
+ createdAt.isAcceptableOrUnknown(data['created_at']!, _createdAtMeta),
);
}
- if (data.containsKey('car_research_payment_links')) {
+ if (data.containsKey('updated_at')) {
context.handle(
- _carResearchPaymentLinksMeta,
- carResearchPaymentLinks.isAcceptableOrUnknown(
- data['car_research_payment_links']!,
- _carResearchPaymentLinksMeta,
- ),
+ _updatedAtMeta,
+ updatedAt.isAcceptableOrUnknown(data['updated_at']!, _updatedAtMeta),
);
}
return context;
}
@override
- Set get $primaryKey => {ticketId};
+ Set get $primaryKey => {apiTicketId};
@override
ShopInBitTicket map(Map data, {String? tablePrefix}) {
final effectivePrefix = tablePrefix != null ? '$tablePrefix.' : '';
return ShopInBitTicket(
- ticketId: attachedDatabase.typeMapping.read(
+ apiTicketId: attachedDatabase.typeMapping.read(
+ DriftSqlType.int,
+ data['${effectivePrefix}api_ticket_id'],
+ )!,
+ customerKey: attachedDatabase.typeMapping.read(
DriftSqlType.string,
- data['${effectivePrefix}ticket_id'],
+ data['${effectivePrefix}customer_key'],
)!,
- displayName: attachedDatabase.typeMapping.read(
+ ticketNumber: attachedDatabase.typeMapping.read(
DriftSqlType.string,
- data['${effectivePrefix}display_name'],
+ data['${effectivePrefix}ticket_number'],
)!,
category: $ShopInBitTicketsTable.$convertercategory.fromSql(
attachedDatabase.typeMapping.read(
- DriftSqlType.int,
+ DriftSqlType.string,
data['${effectivePrefix}category'],
)!,
),
- status: $ShopInBitTicketsTable.$converterstatus.fromSql(
- attachedDatabase.typeMapping.read(
- DriftSqlType.int,
- data['${effectivePrefix}status'],
- )!,
- ),
- statusRaw: attachedDatabase.typeMapping.read(
- DriftSqlType.string,
- data['${effectivePrefix}status_raw'],
- ),
requestDescription: attachedDatabase.typeMapping.read(
DriftSqlType.string,
data['${effectivePrefix}request_description'],
)!,
deliveryCountry: attachedDatabase.typeMapping.read(
DriftSqlType.string,
- data['${effectivePrefix}delivery_country'],
+ data['${effectivePrefix}delivery_country'],
+ )!,
+ status: $ShopInBitTicketsTable.$converterstatus.fromSql(
+ attachedDatabase.typeMapping.read(
+ DriftSqlType.string,
+ data['${effectivePrefix}status'],
+ )!,
+ ),
+ statusRaw: attachedDatabase.typeMapping.read(
+ DriftSqlType.string,
+ data['${effectivePrefix}status_raw'],
)!,
offerProductName: attachedDatabase.typeMapping.read(
DriftSqlType.string,
@@ -1058,29 +1147,21 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
DriftSqlType.string,
data['${effectivePrefix}offer_price'],
),
- shippingName: attachedDatabase.typeMapping.read(
- DriftSqlType.string,
- data['${effectivePrefix}shipping_name'],
- )!,
- shippingStreet: attachedDatabase.typeMapping.read(
+ paymentInvoiceStatus: attachedDatabase.typeMapping.read(
DriftSqlType.string,
- data['${effectivePrefix}shipping_street'],
- )!,
- shippingCity: attachedDatabase.typeMapping.read(
- DriftSqlType.string,
- data['${effectivePrefix}shipping_city'],
- )!,
- shippingPostalCode: attachedDatabase.typeMapping.read(
- DriftSqlType.string,
- data['${effectivePrefix}shipping_postal_code'],
- )!,
- shippingCountry: attachedDatabase.typeMapping.read(
+ data['${effectivePrefix}payment_invoice_status'],
+ ),
+ trackingLink: attachedDatabase.typeMapping.read(
DriftSqlType.string,
- data['${effectivePrefix}shipping_country'],
- )!,
- paymentMethod: attachedDatabase.typeMapping.read(
+ data['${effectivePrefix}tracking_link'],
+ ),
+ lastAgentMessageAt: attachedDatabase.typeMapping.read(
+ DriftSqlType.dateTime,
+ data['${effectivePrefix}last_agent_message_at'],
+ ),
+ feeTicketNumber: attachedDatabase.typeMapping.read(
DriftSqlType.string,
- data['${effectivePrefix}payment_method'],
+ data['${effectivePrefix}fee_ticket_number'],
),
messages: $ShopInBitTicketsTable.$convertermessages.fromSql(
attachedDatabase.typeMapping.read(
@@ -1092,34 +1173,10 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
DriftSqlType.dateTime,
data['${effectivePrefix}created_at'],
)!,
- apiTicketId: attachedDatabase.typeMapping.read(
- DriftSqlType.int,
- data['${effectivePrefix}api_ticket_id'],
- )!,
- carResearchInvoiceId: attachedDatabase.typeMapping.read(
- DriftSqlType.string,
- data['${effectivePrefix}car_research_invoice_id'],
- ),
- feeTicketNumber: attachedDatabase.typeMapping.read(
- DriftSqlType.string,
- data['${effectivePrefix}fee_ticket_number'],
- ),
- needsCreateRequest: attachedDatabase.typeMapping.read(
- DriftSqlType.bool,
- data['${effectivePrefix}needs_create_request'],
- )!,
- isPendingPayment: attachedDatabase.typeMapping.read(
- DriftSqlType.bool,
- data['${effectivePrefix}is_pending_payment'],
- )!,
- carResearchExpiresAt: attachedDatabase.typeMapping.read(
+ updatedAt: attachedDatabase.typeMapping.read(
DriftSqlType.dateTime,
- data['${effectivePrefix}car_research_expires_at'],
- ),
- carResearchPaymentLinks: attachedDatabase.typeMapping.read(
- DriftSqlType.string,
- data['${effectivePrefix}car_research_payment_links'],
- ),
+ data['${effectivePrefix}updated_at'],
+ )!,
);
}
@@ -1128,169 +1185,135 @@ class $ShopInBitTicketsTable extends ShopInBitTickets
return $ShopInBitTicketsTable(attachedDatabase, alias);
}
- static JsonTypeConverter2 $convertercategory =
- const EnumIndexConverter(ShopInBitCategory.values);
- static JsonTypeConverter2 $converterstatus =
- const EnumIndexConverter(
- ShopInBitOrderStatus.values,
- );
- static JsonTypeConverter2, String, List>
- $convertermessages = const ShopInBitTicketMessagesConverter();
+ static JsonTypeConverter2
+ $convertercategory = const EnumNameConverter(
+ ShopInBitCategory.values,
+ );
+ static JsonTypeConverter2
+ $converterstatus = const EnumNameConverter(
+ ShopInBitOrderStatus.values,
+ );
+ static TypeConverter, String> $convertermessages =
+ const MessagesConverter();
+ @override
+ bool get withoutRowId => true;
}
class ShopInBitTicket extends DataClass implements Insertable {
- final String ticketId;
- final String displayName;
+ final int apiTicketId;
+ final String customerKey;
+ final String ticketNumber;
final ShopInBitCategory category;
- final ShopInBitOrderStatus status;
- final String? statusRaw;
final String requestDescription;
final String deliveryCountry;
+ final ShopInBitOrderStatus status;
+ final String statusRaw;
final String? offerProductName;
final String? offerPrice;
- final String shippingName;
- final String shippingStreet;
- final String shippingCity;
- final String shippingPostalCode;
- final String shippingCountry;
- final String? paymentMethod;
- final List messages;
- final DateTime createdAt;
- final int apiTicketId;
- final String? carResearchInvoiceId;
+ final String? paymentInvoiceStatus;
+ final String? trackingLink;
+ final DateTime? lastAgentMessageAt;
final String? feeTicketNumber;
- final bool needsCreateRequest;
- final bool isPendingPayment;
- final DateTime? carResearchExpiresAt;
- final String? carResearchPaymentLinks;
+ final List messages;
+ final DateTime createdAt;
+ final DateTime updatedAt;
const ShopInBitTicket({
- required this.ticketId,
- required this.displayName,
+ required this.apiTicketId,
+ required this.customerKey,
+ required this.ticketNumber,
required this.category,
- required this.status,
- this.statusRaw,
required this.requestDescription,
required this.deliveryCountry,
+ required this.status,
+ required this.statusRaw,
this.offerProductName,
this.offerPrice,
- required this.shippingName,
- required this.shippingStreet,
- required this.shippingCity,
- required this.shippingPostalCode,
- required this.shippingCountry,
- this.paymentMethod,
+ this.paymentInvoiceStatus,
+ this.trackingLink,
+ this.lastAgentMessageAt,
+ this.feeTicketNumber,
required this.messages,
required this.createdAt,
- required this.apiTicketId,
- this.carResearchInvoiceId,
- this.feeTicketNumber,
- required this.needsCreateRequest,
- required this.isPendingPayment,
- this.carResearchExpiresAt,
- this.carResearchPaymentLinks,
+ required this.updatedAt,
});
@override
Map toColumns(bool nullToAbsent) {
final map = {};
- map['ticket_id'] = Variable(ticketId);
- map['display_name'] = Variable(displayName);
+ map['api_ticket_id'] = Variable(apiTicketId);
+ map['customer_key'] = Variable(customerKey);
+ map['ticket_number'] = Variable(ticketNumber);
{
- map['category'] = Variable(
+ map['category'] = Variable(
$ShopInBitTicketsTable.$convertercategory.toSql(category),
);
}
+ map['request_description'] = Variable(requestDescription);
+ map['delivery_country'] = Variable(deliveryCountry);
{
- map['status'] = Variable(
+ map['status'] = Variable(
$ShopInBitTicketsTable.$converterstatus.toSql(status),
);
}
- if (!nullToAbsent || statusRaw != null) {
- map['status_raw'] = Variable(statusRaw);
- }
- map['request_description'] = Variable(requestDescription);
- map['delivery_country'] = Variable(deliveryCountry);
+ map['status_raw'] = Variable(statusRaw);
if (!nullToAbsent || offerProductName != null) {
map['offer_product_name'] = Variable(offerProductName);
}
if (!nullToAbsent || offerPrice != null) {
map['offer_price'] = Variable(offerPrice);
}
- map['shipping_name'] = Variable(shippingName);
- map['shipping_street'] = Variable(shippingStreet);
- map['shipping_city'] = Variable(shippingCity);
- map['shipping_postal_code'] = Variable(shippingPostalCode);
- map['shipping_country'] = Variable(shippingCountry);
- if (!nullToAbsent || paymentMethod != null) {
- map['payment_method'] = Variable