Campaign REST API

This commit is contained in:
Clément Pons
2025-11-03 18:00:47 +01:00
parent 93eaa1e3e4
commit 3ed9ab3dce
15 changed files with 339 additions and 2 deletions

View File

@@ -86,6 +86,7 @@ export const campaignTable = table("campaign", {
name: text().notNull(),
description: text(),
owner: int().notNull().references(() => usersTable.id, { onDelete: 'cascade', onUpdate: 'cascade' }),
joinby: text({ enum: [ 'link', 'invite' ] }).default('invite'),
});
export const campaignMembersTable = table("campaign_members", {
id: int().references(() => campaignTable.id, { onDelete: 'cascade', onUpdate: 'cascade' }),
@@ -141,7 +142,7 @@ export const characterChoicesRelation = relations(characterChoicesTable, ({ one
export const campaignRelation = relations(campaignTable, ({ one, many }) => ({
members: many(campaignMembersTable),
characters: many(campaignCharactersTable),
owner: one(usersTable),
owner: one(usersTable, { fields: [campaignTable.owner], references: [usersTable.id], }),
}));
export const campaignMembersRelation = relations(campaignMembersTable, ({ one }) => ({
campaign: one(campaignTable, { fields: [campaignMembersTable.id], references: [campaignTable.id], }),