diff --git a/.changeset/ripe-colts-say.md b/.changeset/ripe-colts-say.md new file mode 100644 index 0000000..3c263a0 --- /dev/null +++ b/.changeset/ripe-colts-say.md @@ -0,0 +1,5 @@ +--- +"create-better-t-stack": patch +--- + +fix prisma todo location diff --git a/apps/cli/templates/examples/todo/server/prisma/base/trpc/src/routers/todo.ts b/apps/cli/templates/examples/todo/server/prisma/base/src/routers/todo.ts.hbs similarity index 55% rename from apps/cli/templates/examples/todo/server/prisma/base/trpc/src/routers/todo.ts rename to apps/cli/templates/examples/todo/server/prisma/base/src/routers/todo.ts.hbs index 5f2d3f9..63e2eb5 100644 --- a/apps/cli/templates/examples/todo/server/prisma/base/trpc/src/routers/todo.ts +++ b/apps/cli/templates/examples/todo/server/prisma/base/src/routers/todo.ts.hbs @@ -1,3 +1,49 @@ +{{#if (eq api "orpc")}} +import { z } from "zod"; +import prisma from "../../prisma"; +import { publicProcedure } from "../lib/orpc"; + +export const todoRouter = { + getAll: publicProcedure.handler(async () => { + return await prisma.todo.findMany({ + orderBy: { + id: "asc", + }, + }); + }), + + create: publicProcedure + .input(z.object({ text: z.string().min(1) })) + .handler(async ({ input }) => { + return await prisma.todo.create({ + data: { + text: input.text, + }, + }); + }), + + toggle: publicProcedure + .input(z.object({ id: z.number(), completed: z.boolean() })) + .handler(async ({ input }) => { + await prisma.todo.update({ + where: { id: input.id }, + data: { completed: input.completed }, + }); + return { success: true }; + }), + + delete: publicProcedure + .input(z.object({ id: z.number() })) + .handler(async ({ input }) => { + await prisma.todo.delete({ + where: { id: input.id }, + }); + return { success: true }; + }), +}; +{{/if}} + +{{#if (eq api "trpc")}} import { TRPCError } from "@trpc/server"; import { z } from "zod"; import prisma from "../../prisma"; @@ -53,3 +99,4 @@ export const todoRouter = router({ } }), }); +{{/if}}