WIP still, tuning up auth and room wildcard with middleware

This commit is contained in:
Nate Anderson
2025-02-02 19:49:11 -07:00
parent 37e168e46b
commit 544d3b45ba
18 changed files with 369 additions and 94 deletions
+16 -3
View File
@@ -7,21 +7,34 @@ part 'database.g.dart';
class Users extends Table {
TextColumn get uuid => text().unique()();
TextColumn get gameRoom => text().references(GameRooms, #uuid).nullable()();
TextColumn get gameRoomUuid => text().references(GameRooms, #uuid)();
TextColumn get name => text().withLength(min: 2, max: 32)();
DateTimeColumn get createdAt => dateTime().nullable()();
@override
bool get isStrict => true;
}
enum GameStatus {
opened,
open,
running,
closed,
cancelled,
}
class GameRooms extends Table {
TextColumn get uuid => text().unique()();
TextColumn get status => textEnum<GameStatus>()();
TextColumn get code => text().withLength(min: 6, max: 6)();
DateTimeColumn get createdAt => dateTime().nullable()();
@override
bool get isStrict => true;
@override
List<Set<Column>> get uniqueKeys => [
{code, status},
];
}
@DriftDatabase(tables: [Users, GameRooms])
@@ -32,7 +45,7 @@ class AppDatabase extends _$AppDatabase {
int get schemaVersion => 1;
static QueryExecutor _openConnection() {
return NativeDatabase.createInBackground(File('./backend.db'));
return NativeDatabase.createInBackground(File('./db.sqlite'));
}
@override