feat: setup card assignees
This commit is contained in:
@@ -78,6 +78,26 @@ export const boardRouter = createTRPCRouter({
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
members: {
|
||||
columns: {
|
||||
workspaceMemberId: false,
|
||||
cardId: false,
|
||||
},
|
||||
with: {
|
||||
member: {
|
||||
columns: {
|
||||
publicId: true,
|
||||
},
|
||||
with: {
|
||||
user: {
|
||||
columns: {
|
||||
name: true
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
8
src/server/db/migrations/0012_powerful_gressill.sql
Normal file
8
src/server/db/migrations/0012_powerful_gressill.sql
Normal file
@@ -0,0 +1,8 @@
|
||||
CREATE TABLE `card_workspace_members` (
|
||||
`cardId` bigint NOT NULL,
|
||||
`workspaceMemberId` bigint NOT NULL,
|
||||
CONSTRAINT `card_workspace_members_cardId_workspaceMemberId` PRIMARY KEY(`cardId`,`workspaceMemberId`)
|
||||
);
|
||||
--> statement-breakpoint
|
||||
-- ALTER TABLE `card_workspace_members` ADD CONSTRAINT `card_workspace_members_cardId_card_id_fk` FOREIGN KEY (`cardId`) REFERENCES `card`(`id`) ON DELETE no action ON UPDATE no action;--> statement-breakpoint
|
||||
-- ALTER TABLE `card_workspace_members` ADD CONSTRAINT `card_workspace_members_workspaceMemberId_workspace_members_id_fk` FOREIGN KEY (`workspaceMemberId`) REFERENCES `workspace_members`(`id`) ON DELETE no action ON UPDATE no action;
|
||||
1050
src/server/db/migrations/meta/0012_snapshot.json
Normal file
1050
src/server/db/migrations/meta/0012_snapshot.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -85,6 +85,13 @@
|
||||
"when": 1709542143845,
|
||||
"tag": "0011_familiar_aaron_stack",
|
||||
"breakpoints": true
|
||||
},
|
||||
{
|
||||
"idx": 12,
|
||||
"version": "5",
|
||||
"when": 1709676468112,
|
||||
"tag": "0012_powerful_gressill",
|
||||
"breakpoints": true
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -139,6 +139,27 @@ export const cardToLabelsRelations = relations(cardsToLabels, ({ one }) => ({
|
||||
}),
|
||||
}));
|
||||
|
||||
export const cardToWorkspaceMembers = mySqlTable(
|
||||
"card_workspace_members",
|
||||
{
|
||||
cardId: bigint("cardId", { mode: "number" }).notNull().references(() => cards.id),
|
||||
workspaceMemberId: bigint("workspaceMemberId", { mode: "number" }).notNull().references(() => workspaceMembers.id),
|
||||
}, (t) => ({
|
||||
pk: primaryKey(t.cardId, t.workspaceMemberId),
|
||||
}),
|
||||
);
|
||||
|
||||
export const cardToWorkspaceMembersRelations = relations(cardToWorkspaceMembers, ({ one }) => ({
|
||||
card: one(cards, {
|
||||
fields: [cardToWorkspaceMembers.cardId],
|
||||
references: [cards.id],
|
||||
}),
|
||||
member: one(workspaceMembers, {
|
||||
fields: [cardToWorkspaceMembers.workspaceMemberId],
|
||||
references: [workspaceMembers.id],
|
||||
}),
|
||||
}));
|
||||
|
||||
export const lists = mySqlTable(
|
||||
"list",
|
||||
{
|
||||
@@ -212,6 +233,7 @@ export const cardsRelations = relations(cards, ({ one, many }) => ({
|
||||
references: [users.id],
|
||||
}),
|
||||
labels: many(cardsToLabels),
|
||||
members: many(cardToWorkspaceMembers),
|
||||
import: one(imports, {
|
||||
fields: [cards.importId],
|
||||
references: [imports.id],
|
||||
|
||||
Reference in New Issue
Block a user