import 'package:drift/drift.dart'; import 'users.dart'; import '../converters.dart' show generateUuid; import '../postgres_constants.dart'; /// Таблица StudySessions - сессии изучения class StudySessions extends Table { TextColumn get id => text().withDefault(const Constant('gen_random_uuid()'))(); TextColumn get userId => text().references(Users, #id, onDelete: KeyAction.cascade)(); TextColumn get sessionId => text().nullable().unique()(); DateTimeColumn get startTime => dateTime()(); DateTimeColumn get endTime => dateTime().nullable()(); IntColumn get wordsLearned => integer().withDefault(const Constant(0))(); IntColumn get testsCompleted => integer().withDefault(const Constant(0))(); RealColumn get accuracy => real().withDefault(const Constant(0.0))(); TextColumn get packId => text().nullable()(); TextColumn get testId => text().nullable()(); // Audit DateTimeColumn get createdAt => dateTime().withDefault(currentTimestamp)(); DateTimeColumn get updatedAt => dateTime().withDefault(currentTimestamp)(); @override Set get primaryKey => {id}; }