feat: set home board when creating first board (#2683)
* feat: set home board when creating first board * refactor: move home board assignment to backend * refactor: revert changes * fix: add back missing run() calls
This commit is contained in:
@@ -251,6 +251,13 @@ export const boardRouter = createTRPCRouter({
|
|||||||
.mutation(async ({ ctx, input }) => {
|
.mutation(async ({ ctx, input }) => {
|
||||||
const boardId = createId();
|
const boardId = createId();
|
||||||
|
|
||||||
|
const user = await ctx.db.query.users.findFirst({
|
||||||
|
where: eq(users.id, ctx.session.user.id),
|
||||||
|
columns: {
|
||||||
|
homeBoardId: true,
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
const createBoardCollection = createDbInsertCollectionWithoutTransaction(["boards", "sections", "layouts"]);
|
const createBoardCollection = createDbInsertCollectionWithoutTransaction(["boards", "sections", "layouts"]);
|
||||||
|
|
||||||
createBoardCollection.boards.push({
|
createBoardCollection.boards.push({
|
||||||
@@ -275,6 +282,12 @@ export const boardRouter = createTRPCRouter({
|
|||||||
});
|
});
|
||||||
|
|
||||||
await createBoardCollection.insertAllAsync(ctx.db);
|
await createBoardCollection.insertAllAsync(ctx.db);
|
||||||
|
|
||||||
|
if (!user?.homeBoardId) {
|
||||||
|
await ctx.db.update(users).set({ homeBoardId: boardId }).where(eq(users.id, ctx.session.user.id));
|
||||||
|
}
|
||||||
|
|
||||||
|
return { boardId };
|
||||||
}),
|
}),
|
||||||
duplicateBoard: permissionRequiredProcedure
|
duplicateBoard: permissionRequiredProcedure
|
||||||
.requiresPermission("board-create")
|
.requiresPermission("board-create")
|
||||||
|
|||||||
Reference in New Issue
Block a user