QueenFruits/Mobile Operasional/lib/core/database/tables/users.dart

30 lines
1.3 KiB
Dart

import 'package:drift/drift.dart';
import 'package:niogu_app/core/database/tables/outlets.dart';
import 'package:uuid/uuid.dart';
class Users extends Table {
TextColumn get localId =>
text().clientDefault(() => const Uuid().v7().toString())();
TextColumn get serverId => text().nullable()();
TextColumn get outletId => text().references(Outlets, #localId)();
TextColumn get name => text()();
TextColumn get email => text().nullable()();
TextColumn get phoneNumber => text().nullable()();
TextColumn get passwordHash => text().nullable()();
TextColumn get role => text()();
TextColumn get placeOfBirth => text().nullable()();
TextColumn get dateOfBirth => text().nullable()();
TextColumn get shiftName => text().nullable()();
TextColumn get shiftStartTime => text().nullable()();
TextColumn get shiftEndTime => text().nullable()();
BoolColumn get isActive => boolean().withDefault(const Constant(true))();
TextColumn get syncStatus => text().withDefault(const Constant('dirty'))();
DateTimeColumn get createdAt => dateTime().withDefault(currentDateAndTime)();
DateTimeColumn get updatedAt => dateTime().withDefault(currentDateAndTime)();
DateTimeColumn get deletedAt => dateTime().nullable()();
@override
// TODO: implement primaryKey
Set<Column<Object>>? get primaryKey => {localId};
}