Initial commit
This commit is contained in:
commit
8c709fb52f
771 files changed
+222983
No files matched your search
@@ -0,0 +1,60 @@
|
||||
import {
|
||||
sqliteTable,
|
||||
text,
|
||||
integer,
|
||||
primaryKey,
|
||||
} from 'drizzle-orm/sqlite-core';
|
||||
export const rooms = sqliteTable('rooms', {
|
||||
code: text('code').primaryKey(),
|
||||
state: text('state').notNull(),
|
||||
version: integer('version').notNull().default(0),
|
||||
updatedAt: integer('updated_at').notNull(),
|
||||
});
|
||||
export const seats = sqliteTable('seats', {
|
||||
tokenHash: text('token_hash').primaryKey(),
|
||||
revoked: integer('revoked').notNull().default(0),
|
||||
roomCode: text('room_code')
|
||||
.notNull()
|
||||
.references(() => rooms.code, { onDelete: 'cascade' }),
|
||||
playerId: text('player_id').notNull(),
|
||||
});
|
||||
|
||||
export const seatRecoveryKeys = sqliteTable(
|
||||
'seat_recovery_keys',
|
||||
{
|
||||
roomCode: text('room_code')
|
||||
.notNull()
|
||||
.references(() => rooms.code, { onDelete: 'cascade' }),
|
||||
playerId: text('player_id').notNull(),
|
||||
recoveryHash: text('recovery_hash').notNull(),
|
||||
currentOperationHash: text('current_operation_hash'),
|
||||
},
|
||||
(table) => [primaryKey({ columns: [table.roomCode, table.playerId] })],
|
||||
);
|
||||
export const seatRecoveryReceipts = sqliteTable(
|
||||
'seat_recovery_receipts',
|
||||
{
|
||||
roomCode: text('room_code')
|
||||
.notNull()
|
||||
.references(() => rooms.code, { onDelete: 'cascade' }),
|
||||
playerId: text('player_id').notNull(),
|
||||
operationHash: text('operation_hash').notNull(),
|
||||
recoveryHash: text('recovery_hash').notNull(),
|
||||
sessionHash: text('session_hash').notNull(),
|
||||
},
|
||||
(table) => [
|
||||
primaryKey({
|
||||
columns: [table.roomCode, table.playerId, table.operationHash],
|
||||
}),
|
||||
],
|
||||
);
|
||||
|
||||
export const roomEntryReceipts = sqliteTable('room_entry_receipts', {
|
||||
operationHash: text('operation_hash').primaryKey(),
|
||||
requestHash: text('request_hash').notNull(),
|
||||
sessionHash: text('session_hash').notNull(),
|
||||
roomCode: text('room_code')
|
||||
.notNull()
|
||||
.references(() => rooms.code, { onDelete: 'cascade' }),
|
||||
playerId: text('player_id').notNull(),
|
||||
});
|
||||
Reference in new issue
Block a user