created list schema
This commit is contained in:
@@ -1,29 +1,35 @@
|
||||
import { and, eq } from "drizzle-orm";
|
||||
import { z } from "zod";
|
||||
import {
|
||||
listCreationFormSchema,
|
||||
listNameSchema,
|
||||
listTitleSchema,
|
||||
} from "~/lib/schemas/list-creation-form";
|
||||
|
||||
import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc";
|
||||
import { lists } from "~/server/db/schema";
|
||||
|
||||
export const listRouter = createTRPCRouter({
|
||||
create: protectedProcedure
|
||||
.input(listCreationFormSchema)
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
return [];
|
||||
}),
|
||||
.mutation(({ ctx, input }) =>
|
||||
ctx.db.insert(lists).values({
|
||||
userId: ctx.session.user.id,
|
||||
title: input.title,
|
||||
variant: input.variant,
|
||||
labels: input.labels.join(","),
|
||||
showId: input.id,
|
||||
idPrefix: input.idPrefix,
|
||||
}),
|
||||
),
|
||||
getAll: protectedProcedure.query(async ({ ctx }) => {
|
||||
return [
|
||||
{ id: 0, name: "Groceries" },
|
||||
{ id: 1, name: "Christmas" },
|
||||
{ id: 2, name: "Salt Seeker" },
|
||||
{ id: 3, name: "Maize Walker" },
|
||||
{ id: 4, name: "Sympathy for the Machine" },
|
||||
{
|
||||
id: 5,
|
||||
name: "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor elit incididunt ut labore et dolore magna aliqua.",
|
||||
},
|
||||
];
|
||||
const allLists = await ctx.db.query.lists.findMany({
|
||||
where: and(eq(lists.userId, ctx.session.user.id)),
|
||||
});
|
||||
const formattedLists = allLists.map((list) => ({
|
||||
...list,
|
||||
labels: list.labels?.split(",") ?? [],
|
||||
}));
|
||||
return formattedLists;
|
||||
}),
|
||||
get: protectedProcedure
|
||||
.input(z.object({ listId: z.coerce.number() }))
|
||||
@@ -31,7 +37,7 @@ export const listRouter = createTRPCRouter({
|
||||
return { name: "Groceries", tasks: [] };
|
||||
}),
|
||||
update: protectedProcedure
|
||||
.input(z.object({ listId: z.number(), name: listNameSchema }))
|
||||
.input(z.object({ listId: z.number(), title: listTitleSchema }))
|
||||
.mutation(async ({ ctx, input }) => {
|
||||
return [];
|
||||
}),
|
||||
|
||||
Reference in New Issue
Block a user