27 lines
1.0 KiB
Dart
27 lines
1.0 KiB
Dart
import 'package:drift/drift.dart';
|
|
|
|
class UserProfileRows extends Table {
|
|
TextColumn get firebaseUid => text()();
|
|
TextColumn get email => text().nullable()();
|
|
TextColumn get displayName => text().nullable()();
|
|
TextColumn get photoUrl => text().nullable()();
|
|
TextColumn get locale => text().withDefault(const Constant('en'))();
|
|
TextColumn get timezone => text().nullable()();
|
|
BoolColumn get onboardingCompleted =>
|
|
boolean().withDefault(const Constant(false))();
|
|
IntColumn get revision => integer().withDefault(const Constant(1))();
|
|
DateTimeColumn get updatedAt => dateTime()();
|
|
DateTimeColumn get lastSyncedAt => dateTime().nullable()();
|
|
BoolColumn get dirty => boolean().withDefault(const Constant(false))();
|
|
|
|
@override
|
|
Set<Column<Object>> get primaryKey => <Column<Object>>{firebaseUid};
|
|
}
|
|
|
|
class SyncOutboxRows extends Table {
|
|
IntColumn get id => integer().autoIncrement()();
|
|
TextColumn get firebaseUid => text()();
|
|
TextColumn get payloadJson => text()();
|
|
DateTimeColumn get createdAt => dateTime()();
|
|
}
|