feat: add new board form

This commit is contained in:
Henry
2023-11-07 09:12:00 +00:00
parent f615198c0c
commit 1df15595f4
12 changed files with 228 additions and 12 deletions

View File

@@ -1,14 +1,38 @@
import { z } from "zod";
import { boards } from "~/server/db/schema";
import { generateUID } from "~/utils/generateUID";
import {
createTRPCRouter,
publicProcedure,
} from "~/server/api/trpc";
export const boardRouter = createTRPCRouter({
all: publicProcedure.query(({ ctx }) => {
all: publicProcedure.query(async ({ ctx }) => {
const userId = ctx.session?.user.id;
if (!userId) return;
return ctx.db.query.boards.findMany();
})
const boards = await ctx.db.query.boards.findMany();
return boards.map((board) => ({ ...board, id: board.publicId }))
}),
create: publicProcedure
.input(
z.object({
name: z.string().min(1),
}),
)
.mutation(({ ctx, input }) => {
const userId = ctx.session?.user.id;
if (!userId) return;
return ctx.db.insert(boards).values({
publicId: generateUID(),
name: input.name,
createdBy: userId,
});
}),
});