@chaos-overlords/storage 0.7.0 → 0.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/node/index.d.ts +6 -0
- package/dist/node/index.d.ts.map +1 -1
- package/dist/node/index.js +21 -1
- package/dist/node/index.js.map +1 -1
- package/dist/postgres/repositories.d.ts.map +1 -1
- package/dist/postgres/repositories.js +111 -1
- package/dist/postgres/repositories.js.map +1 -1
- package/dist/postgres/schema.d.ts +220 -0
- package/dist/postgres/schema.d.ts.map +1 -1
- package/dist/postgres/schema.js +23 -0
- package/dist/postgres/schema.js.map +1 -1
- package/dist/shared/constraints.d.ts.map +1 -1
- package/dist/shared/constraints.js +8 -2
- package/dist/shared/constraints.js.map +1 -1
- package/dist/shared/mappers.d.ts +14 -1
- package/dist/shared/mappers.d.ts.map +1 -1
- package/dist/shared/mappers.js +38 -2
- package/dist/shared/mappers.js.map +1 -1
- package/dist/sqlite/repositories.d.ts.map +1 -1
- package/dist/sqlite/repositories.js +111 -1
- package/dist/sqlite/repositories.js.map +1 -1
- package/dist/sqlite/schema.d.ts +237 -0
- package/dist/sqlite/schema.d.ts.map +1 -1
- package/dist/sqlite/schema.js +28 -0
- package/dist/sqlite/schema.js.map +1 -1
- package/migrations/postgres/0003_famous_wong.sql +19 -0
- package/migrations/postgres/0004_big_master_mold.sql +3 -0
- package/migrations/postgres/meta/0003_snapshot.json +827 -0
- package/migrations/postgres/meta/0004_snapshot.json +848 -0
- package/migrations/postgres/meta/_journal.json +15 -1
- package/migrations/sqlite/0003_opposite_serpent_society.sql +18 -0
- package/migrations/sqlite/0004_smooth_albert_cleary.sql +3 -0
- package/migrations/sqlite/meta/0003_snapshot.json +813 -0
- package/migrations/sqlite/meta/0004_snapshot.json +837 -0
- package/migrations/sqlite/meta/_journal.json +15 -1
- package/package.json +4 -4
package/dist/sqlite/schema.d.ts
CHANGED
|
@@ -45,6 +45,23 @@ export declare const matches: import("drizzle-orm/sqlite-core").SQLiteTableWithC
|
|
|
45
45
|
identity: undefined;
|
|
46
46
|
generated: undefined;
|
|
47
47
|
}, {}, {}>;
|
|
48
|
+
sessionVersion: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
49
|
+
name: "session_version";
|
|
50
|
+
tableName: "matches";
|
|
51
|
+
dataType: "number";
|
|
52
|
+
columnType: "SQLiteInteger";
|
|
53
|
+
data: number;
|
|
54
|
+
driverParam: number;
|
|
55
|
+
notNull: true;
|
|
56
|
+
hasDefault: true;
|
|
57
|
+
isPrimaryKey: false;
|
|
58
|
+
isAutoincrement: false;
|
|
59
|
+
hasRuntimeDefault: false;
|
|
60
|
+
enumValues: undefined;
|
|
61
|
+
baseColumn: never;
|
|
62
|
+
identity: undefined;
|
|
63
|
+
generated: undefined;
|
|
64
|
+
}, {}, {}>;
|
|
48
65
|
status: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
49
66
|
name: "status";
|
|
50
67
|
tableName: "matches";
|
|
@@ -393,6 +410,23 @@ export declare const players: import("drizzle-orm/sqlite-core").SQLiteTableWithC
|
|
|
393
410
|
}, {}, {
|
|
394
411
|
length: number | undefined;
|
|
395
412
|
}>;
|
|
413
|
+
portraitId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
414
|
+
name: "portrait_id";
|
|
415
|
+
tableName: "players";
|
|
416
|
+
dataType: "number";
|
|
417
|
+
columnType: "SQLiteInteger";
|
|
418
|
+
data: number;
|
|
419
|
+
driverParam: number;
|
|
420
|
+
notNull: true;
|
|
421
|
+
hasDefault: true;
|
|
422
|
+
isPrimaryKey: false;
|
|
423
|
+
isAutoincrement: false;
|
|
424
|
+
hasRuntimeDefault: false;
|
|
425
|
+
enumValues: undefined;
|
|
426
|
+
baseColumn: never;
|
|
427
|
+
identity: undefined;
|
|
428
|
+
generated: undefined;
|
|
429
|
+
}, {}, {}>;
|
|
396
430
|
tokenHash: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
397
431
|
name: "token_hash";
|
|
398
432
|
tableName: "players";
|
|
@@ -940,6 +974,23 @@ export declare const snapshots: import("drizzle-orm/sqlite-core").SQLiteTableWit
|
|
|
940
974
|
identity: undefined;
|
|
941
975
|
generated: undefined;
|
|
942
976
|
}, {}, {}>;
|
|
977
|
+
sessionVersion: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
978
|
+
name: "session_version";
|
|
979
|
+
tableName: "snapshots";
|
|
980
|
+
dataType: "number";
|
|
981
|
+
columnType: "SQLiteInteger";
|
|
982
|
+
data: number;
|
|
983
|
+
driverParam: number;
|
|
984
|
+
notNull: true;
|
|
985
|
+
hasDefault: true;
|
|
986
|
+
isPrimaryKey: false;
|
|
987
|
+
isAutoincrement: false;
|
|
988
|
+
hasRuntimeDefault: false;
|
|
989
|
+
enumValues: undefined;
|
|
990
|
+
baseColumn: never;
|
|
991
|
+
identity: undefined;
|
|
992
|
+
generated: undefined;
|
|
993
|
+
}, {}, {}>;
|
|
943
994
|
stateHash: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
944
995
|
name: "state_hash";
|
|
945
996
|
tableName: "snapshots";
|
|
@@ -1113,4 +1164,190 @@ export declare const matchEvents: import("drizzle-orm/sqlite-core").SQLiteTableW
|
|
|
1113
1164
|
};
|
|
1114
1165
|
dialect: "sqlite";
|
|
1115
1166
|
}>;
|
|
1167
|
+
/**
|
|
1168
|
+
* An absent human seat that the present players have been asked to decide on. One row per open
|
|
1169
|
+
* prompt; it is inserted when the seat goes quiet and deleted when the seat returns or becomes
|
|
1170
|
+
* computer controlled. The open-turn clock is paused while any row exists for the match, so the
|
|
1171
|
+
* kernel asks this table rather than replaying the event log for every turn it opens.
|
|
1172
|
+
*/
|
|
1173
|
+
export declare const takeoverPrompts: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
1174
|
+
name: "takeover_prompts";
|
|
1175
|
+
schema: undefined;
|
|
1176
|
+
columns: {
|
|
1177
|
+
matchId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1178
|
+
name: "match_id";
|
|
1179
|
+
tableName: "takeover_prompts";
|
|
1180
|
+
dataType: "string";
|
|
1181
|
+
columnType: "SQLiteText";
|
|
1182
|
+
data: string;
|
|
1183
|
+
driverParam: string;
|
|
1184
|
+
notNull: true;
|
|
1185
|
+
hasDefault: false;
|
|
1186
|
+
isPrimaryKey: false;
|
|
1187
|
+
isAutoincrement: false;
|
|
1188
|
+
hasRuntimeDefault: false;
|
|
1189
|
+
enumValues: [string, ...string[]];
|
|
1190
|
+
baseColumn: never;
|
|
1191
|
+
identity: undefined;
|
|
1192
|
+
generated: undefined;
|
|
1193
|
+
}, {}, {
|
|
1194
|
+
length: number | undefined;
|
|
1195
|
+
}>;
|
|
1196
|
+
playerId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1197
|
+
name: "player_id";
|
|
1198
|
+
tableName: "takeover_prompts";
|
|
1199
|
+
dataType: "string";
|
|
1200
|
+
columnType: "SQLiteText";
|
|
1201
|
+
data: string;
|
|
1202
|
+
driverParam: string;
|
|
1203
|
+
notNull: true;
|
|
1204
|
+
hasDefault: false;
|
|
1205
|
+
isPrimaryKey: false;
|
|
1206
|
+
isAutoincrement: false;
|
|
1207
|
+
hasRuntimeDefault: false;
|
|
1208
|
+
enumValues: [string, ...string[]];
|
|
1209
|
+
baseColumn: never;
|
|
1210
|
+
identity: undefined;
|
|
1211
|
+
generated: undefined;
|
|
1212
|
+
}, {}, {
|
|
1213
|
+
length: number | undefined;
|
|
1214
|
+
}>;
|
|
1215
|
+
turn: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1216
|
+
name: "turn";
|
|
1217
|
+
tableName: "takeover_prompts";
|
|
1218
|
+
dataType: "number";
|
|
1219
|
+
columnType: "SQLiteInteger";
|
|
1220
|
+
data: number;
|
|
1221
|
+
driverParam: number;
|
|
1222
|
+
notNull: true;
|
|
1223
|
+
hasDefault: false;
|
|
1224
|
+
isPrimaryKey: false;
|
|
1225
|
+
isAutoincrement: false;
|
|
1226
|
+
hasRuntimeDefault: false;
|
|
1227
|
+
enumValues: undefined;
|
|
1228
|
+
baseColumn: never;
|
|
1229
|
+
identity: undefined;
|
|
1230
|
+
generated: undefined;
|
|
1231
|
+
}, {}, {}>;
|
|
1232
|
+
openedAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1233
|
+
name: "opened_at";
|
|
1234
|
+
tableName: "takeover_prompts";
|
|
1235
|
+
dataType: "date";
|
|
1236
|
+
columnType: "SQLiteTimestamp";
|
|
1237
|
+
data: Date;
|
|
1238
|
+
driverParam: number;
|
|
1239
|
+
notNull: true;
|
|
1240
|
+
hasDefault: false;
|
|
1241
|
+
isPrimaryKey: false;
|
|
1242
|
+
isAutoincrement: false;
|
|
1243
|
+
hasRuntimeDefault: false;
|
|
1244
|
+
enumValues: undefined;
|
|
1245
|
+
baseColumn: never;
|
|
1246
|
+
identity: undefined;
|
|
1247
|
+
generated: undefined;
|
|
1248
|
+
}, {}, {}>;
|
|
1249
|
+
};
|
|
1250
|
+
dialect: "sqlite";
|
|
1251
|
+
}>;
|
|
1252
|
+
/** The latest choice of each voter on an open prompt; discarded with the prompt. */
|
|
1253
|
+
export declare const takeoverVotes: import("drizzle-orm/sqlite-core").SQLiteTableWithColumns<{
|
|
1254
|
+
name: "takeover_votes";
|
|
1255
|
+
schema: undefined;
|
|
1256
|
+
columns: {
|
|
1257
|
+
matchId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1258
|
+
name: "match_id";
|
|
1259
|
+
tableName: "takeover_votes";
|
|
1260
|
+
dataType: "string";
|
|
1261
|
+
columnType: "SQLiteText";
|
|
1262
|
+
data: string;
|
|
1263
|
+
driverParam: string;
|
|
1264
|
+
notNull: true;
|
|
1265
|
+
hasDefault: false;
|
|
1266
|
+
isPrimaryKey: false;
|
|
1267
|
+
isAutoincrement: false;
|
|
1268
|
+
hasRuntimeDefault: false;
|
|
1269
|
+
enumValues: [string, ...string[]];
|
|
1270
|
+
baseColumn: never;
|
|
1271
|
+
identity: undefined;
|
|
1272
|
+
generated: undefined;
|
|
1273
|
+
}, {}, {
|
|
1274
|
+
length: number | undefined;
|
|
1275
|
+
}>;
|
|
1276
|
+
targetPlayerId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1277
|
+
name: "target_player_id";
|
|
1278
|
+
tableName: "takeover_votes";
|
|
1279
|
+
dataType: "string";
|
|
1280
|
+
columnType: "SQLiteText";
|
|
1281
|
+
data: string;
|
|
1282
|
+
driverParam: string;
|
|
1283
|
+
notNull: true;
|
|
1284
|
+
hasDefault: false;
|
|
1285
|
+
isPrimaryKey: false;
|
|
1286
|
+
isAutoincrement: false;
|
|
1287
|
+
hasRuntimeDefault: false;
|
|
1288
|
+
enumValues: [string, ...string[]];
|
|
1289
|
+
baseColumn: never;
|
|
1290
|
+
identity: undefined;
|
|
1291
|
+
generated: undefined;
|
|
1292
|
+
}, {}, {
|
|
1293
|
+
length: number | undefined;
|
|
1294
|
+
}>;
|
|
1295
|
+
voterPlayerId: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1296
|
+
name: "voter_player_id";
|
|
1297
|
+
tableName: "takeover_votes";
|
|
1298
|
+
dataType: "string";
|
|
1299
|
+
columnType: "SQLiteText";
|
|
1300
|
+
data: string;
|
|
1301
|
+
driverParam: string;
|
|
1302
|
+
notNull: true;
|
|
1303
|
+
hasDefault: false;
|
|
1304
|
+
isPrimaryKey: false;
|
|
1305
|
+
isAutoincrement: false;
|
|
1306
|
+
hasRuntimeDefault: false;
|
|
1307
|
+
enumValues: [string, ...string[]];
|
|
1308
|
+
baseColumn: never;
|
|
1309
|
+
identity: undefined;
|
|
1310
|
+
generated: undefined;
|
|
1311
|
+
}, {}, {
|
|
1312
|
+
length: number | undefined;
|
|
1313
|
+
}>;
|
|
1314
|
+
decision: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1315
|
+
name: "decision";
|
|
1316
|
+
tableName: "takeover_votes";
|
|
1317
|
+
dataType: "string";
|
|
1318
|
+
columnType: "SQLiteText";
|
|
1319
|
+
data: string;
|
|
1320
|
+
driverParam: string;
|
|
1321
|
+
notNull: true;
|
|
1322
|
+
hasDefault: false;
|
|
1323
|
+
isPrimaryKey: false;
|
|
1324
|
+
isAutoincrement: false;
|
|
1325
|
+
hasRuntimeDefault: false;
|
|
1326
|
+
enumValues: [string, ...string[]];
|
|
1327
|
+
baseColumn: never;
|
|
1328
|
+
identity: undefined;
|
|
1329
|
+
generated: undefined;
|
|
1330
|
+
}, {}, {
|
|
1331
|
+
length: number | undefined;
|
|
1332
|
+
}>;
|
|
1333
|
+
castAt: import("drizzle-orm/sqlite-core").SQLiteColumn<{
|
|
1334
|
+
name: "cast_at";
|
|
1335
|
+
tableName: "takeover_votes";
|
|
1336
|
+
dataType: "date";
|
|
1337
|
+
columnType: "SQLiteTimestamp";
|
|
1338
|
+
data: Date;
|
|
1339
|
+
driverParam: number;
|
|
1340
|
+
notNull: true;
|
|
1341
|
+
hasDefault: false;
|
|
1342
|
+
isPrimaryKey: false;
|
|
1343
|
+
isAutoincrement: false;
|
|
1344
|
+
hasRuntimeDefault: false;
|
|
1345
|
+
enumValues: undefined;
|
|
1346
|
+
baseColumn: never;
|
|
1347
|
+
identity: undefined;
|
|
1348
|
+
generated: undefined;
|
|
1349
|
+
}, {}, {}>;
|
|
1350
|
+
};
|
|
1351
|
+
dialect: "sqlite";
|
|
1352
|
+
}>;
|
|
1116
1353
|
//# sourceMappingURL=schema.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,OAAO
|
|
1
|
+
{"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EA6BnB,CAAA;AAED,eAAO,MAAM,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBnB,CAAA;AAED,eAAO,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAqBjB,CAAA;AAED,eAAO,MAAM,UAAU;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EActB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAavB,CAAA;AAED,eAAO,MAAM,SAAS;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAgBrB,CAAA;AAED,eAAO,MAAM,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYvB,CAAA;AAED;;;;;GAKG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW3B,CAAA;AAED,oFAAoF;AACpF,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAYzB,CAAA"}
|
package/dist/sqlite/schema.js
CHANGED
|
@@ -9,6 +9,7 @@ import { index, integer, primaryKey, sqliteTable, text } from 'drizzle-orm/sqlit
|
|
|
9
9
|
export const matches = sqliteTable('matches', {
|
|
10
10
|
id: text('id').primaryKey(),
|
|
11
11
|
protocolVersion: integer('protocol_version').notNull().default(1),
|
|
12
|
+
sessionVersion: integer('session_version').notNull().default(1),
|
|
12
13
|
status: text('status').notNull(),
|
|
13
14
|
name: text('name').notNull(),
|
|
14
15
|
visibility: text('visibility').notNull(),
|
|
@@ -39,6 +40,8 @@ export const players = sqliteTable('players', {
|
|
|
39
40
|
slot: integer('slot').notNull().default(-1),
|
|
40
41
|
joinOrder: integer('join_order').notNull().default(0),
|
|
41
42
|
displayName: text('display_name').notNull(),
|
|
43
|
+
/** Index into the original sixteen-face overlord atlas; defaults to the first for older rows. */
|
|
44
|
+
portraitId: integer('portrait_id').notNull().default(0),
|
|
42
45
|
/** Null once revoked; SQL equality never matches null, so a revoked token resolves to nobody. */
|
|
43
46
|
tokenHash: text('token_hash').unique(),
|
|
44
47
|
status: text('status').notNull(),
|
|
@@ -90,6 +93,7 @@ export const snapshots = sqliteTable('snapshots', {
|
|
|
90
93
|
turn: integer('turn').notNull(),
|
|
91
94
|
formatVersion: integer('format_version').notNull(),
|
|
92
95
|
protocolVersion: integer('protocol_version').notNull().default(1),
|
|
96
|
+
sessionVersion: integer('session_version').notNull().default(1),
|
|
93
97
|
stateHash: text('state_hash').notNull(),
|
|
94
98
|
uploadedByPlayerId: text('uploaded_by_player_id').notNull(),
|
|
95
99
|
uploadedAt: integer('uploaded_at', { mode: 'timestamp_ms' }).notNull(),
|
|
@@ -104,4 +108,28 @@ export const matchEvents = sqliteTable('match_events', {
|
|
|
104
108
|
payload: text('payload', { mode: 'json' }).notNull(),
|
|
105
109
|
createdAt: integer('created_at', { mode: 'timestamp_ms' }).notNull(),
|
|
106
110
|
}, (table) => [primaryKey({ columns: [table.matchId, table.seq] })]);
|
|
111
|
+
/**
|
|
112
|
+
* An absent human seat that the present players have been asked to decide on. One row per open
|
|
113
|
+
* prompt; it is inserted when the seat goes quiet and deleted when the seat returns or becomes
|
|
114
|
+
* computer controlled. The open-turn clock is paused while any row exists for the match, so the
|
|
115
|
+
* kernel asks this table rather than replaying the event log for every turn it opens.
|
|
116
|
+
*/
|
|
117
|
+
export const takeoverPrompts = sqliteTable('takeover_prompts', {
|
|
118
|
+
matchId: text('match_id')
|
|
119
|
+
.notNull()
|
|
120
|
+
.references(() => matches.id, { onDelete: 'cascade' }),
|
|
121
|
+
playerId: text('player_id').notNull(),
|
|
122
|
+
turn: integer('turn').notNull(),
|
|
123
|
+
openedAt: integer('opened_at', { mode: 'timestamp_ms' }).notNull(),
|
|
124
|
+
}, (table) => [primaryKey({ columns: [table.matchId, table.playerId] })]);
|
|
125
|
+
/** The latest choice of each voter on an open prompt; discarded with the prompt. */
|
|
126
|
+
export const takeoverVotes = sqliteTable('takeover_votes', {
|
|
127
|
+
matchId: text('match_id')
|
|
128
|
+
.notNull()
|
|
129
|
+
.references(() => matches.id, { onDelete: 'cascade' }),
|
|
130
|
+
targetPlayerId: text('target_player_id').notNull(),
|
|
131
|
+
voterPlayerId: text('voter_player_id').notNull(),
|
|
132
|
+
decision: text('decision').notNull(),
|
|
133
|
+
castAt: integer('cast_at', { mode: 'timestamp_ms' }).notNull(),
|
|
134
|
+
}, (table) => [primaryKey({ columns: [table.matchId, table.targetPlayerId, table.voterPlayerId] })]);
|
|
107
135
|
//# sourceMappingURL=schema.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/sqlite/schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
CREATE TABLE "takeover_prompts" (
|
|
2
|
+
"match_id" text NOT NULL,
|
|
3
|
+
"player_id" text NOT NULL,
|
|
4
|
+
"turn" integer NOT NULL,
|
|
5
|
+
"opened_at" timestamp with time zone NOT NULL,
|
|
6
|
+
CONSTRAINT "takeover_prompts_match_id_player_id_pk" PRIMARY KEY("match_id","player_id")
|
|
7
|
+
);
|
|
8
|
+
--> statement-breakpoint
|
|
9
|
+
CREATE TABLE "takeover_votes" (
|
|
10
|
+
"match_id" text NOT NULL,
|
|
11
|
+
"target_player_id" text NOT NULL,
|
|
12
|
+
"voter_player_id" text NOT NULL,
|
|
13
|
+
"decision" text NOT NULL,
|
|
14
|
+
"cast_at" timestamp with time zone NOT NULL,
|
|
15
|
+
CONSTRAINT "takeover_votes_match_id_target_player_id_voter_player_id_pk" PRIMARY KEY("match_id","target_player_id","voter_player_id")
|
|
16
|
+
);
|
|
17
|
+
--> statement-breakpoint
|
|
18
|
+
ALTER TABLE "takeover_prompts" ADD CONSTRAINT "takeover_prompts_match_id_matches_id_fk" FOREIGN KEY ("match_id") REFERENCES "public"."matches"("id") ON DELETE cascade ON UPDATE no action;--> statement-breakpoint
|
|
19
|
+
ALTER TABLE "takeover_votes" ADD CONSTRAINT "takeover_votes_match_id_matches_id_fk" FOREIGN KEY ("match_id") REFERENCES "public"."matches"("id") ON DELETE cascade ON UPDATE no action;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
ALTER TABLE "players" ADD COLUMN "portrait_id" integer DEFAULT 0 NOT NULL;--> statement-breakpoint
|
|
2
|
+
ALTER TABLE "matches" ADD COLUMN "session_version" integer DEFAULT 1 NOT NULL;--> statement-breakpoint
|
|
3
|
+
ALTER TABLE "snapshots" ADD COLUMN "session_version" integer DEFAULT 1 NOT NULL;
|