diff options
| author | MohamedBassem <me@mbassem.com> | 2024-02-23 19:27:31 +0000 |
|---|---|---|
| committer | MohamedBassem <me@mbassem.com> | 2024-02-23 20:47:54 +0000 |
| commit | e234d3535c363664902dffe89a2c61ddbc037da4 (patch) | |
| tree | 5430570d98bc376ce92c8ecc5d2503ecced1d79b /packages/web/server/api/routers/users.ts | |
| parent | bed57209b09a4bd59dbaf010d58045fe77896ba8 (diff) | |
| download | karakeep-e234d3535c363664902dffe89a2c61ddbc037da4.tar.zst | |
db: Migrate from prisma to drizzle
Diffstat (limited to 'packages/web/server/api/routers/users.ts')
| -rw-r--r-- | packages/web/server/api/routers/users.ts | 24 |
1 files changed, 13 insertions, 11 deletions
diff --git a/packages/web/server/api/routers/users.ts b/packages/web/server/api/routers/users.ts index aecec1d4..032385ac 100644 --- a/packages/web/server/api/routers/users.ts +++ b/packages/web/server/api/routers/users.ts @@ -1,9 +1,10 @@ import { zSignUpSchema } from "@/lib/types/api/users"; import { publicProcedure, router } from "../trpc"; -import { Prisma, prisma } from "@hoarder/db"; +import { SqliteError, db } from "@hoarder/db"; import { z } from "zod"; import { hashPassword } from "@/server/auth"; import { TRPCError } from "@trpc/server"; +import { users } from "@hoarder/db/schema"; export const usersAppRouter = router({ create: publicProcedure @@ -16,20 +17,21 @@ export const usersAppRouter = router({ ) .mutation(async ({ input }) => { try { - return await prisma.user.create({ - data: { + const result = await db + .insert(users) + .values({ name: input.name, email: input.email, password: await hashPassword(input.password), - }, - select: { - name: true, - email: true, - }, - }); + }) + .returning({ + name: users.name, + email: users.email, + }); + return result[0]; } catch (e) { - if (e instanceof Prisma.PrismaClientKnownRequestError) { - if (e.code === "P2002") { + if (e instanceof SqliteError) { + if (e.code == "SQLITE_CONSTRAINT_UNIQUE") { throw new TRPCError({ code: "BAD_REQUEST", message: "Email is already taken", |
