From f7fcb4d630bddf28cda00c8dbdf7bc043ff0d52e Mon Sep 17 00:00:00 2001 From: Data Salaryman Date: Tue, 16 Jul 2024 00:43:25 +0800 Subject: [PATCH 1/6] fix(cli/template): add code attempting to resolve #1943 --- .../src/server/api/routers/post/with-auth-drizzle.ts | 6 +++++- .../src/server/api/routers/post/with-auth-prisma.ts | 8 ++++++-- .../extras/src/server/api/routers/post/with-drizzle.ts | 6 +++++- .../extras/src/server/api/routers/post/with-prisma.ts | 8 +++++++- 4 files changed, 23 insertions(+), 5 deletions(-) diff --git a/cli/template/extras/src/server/api/routers/post/with-auth-drizzle.ts b/cli/template/extras/src/server/api/routers/post/with-auth-drizzle.ts index 1fc4a3c486..138e47a394 100644 --- a/cli/template/extras/src/server/api/routers/post/with-auth-drizzle.ts +++ b/cli/template/extras/src/server/api/routers/post/with-auth-drizzle.ts @@ -29,9 +29,13 @@ export const postRouter = createTRPCRouter({ }), getLatest: publicProcedure.query(({ ctx }) => { - return ctx.db.query.posts.findFirst({ + const post = ctx.db.query.posts.findFirst({ orderBy: (posts, { desc }) => [desc(posts.createdAt)], }); + if (post === undefined) { + return null; + } + return post; }), getSecretMessage: protectedProcedure.query(() => { diff --git a/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts b/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts index 3994691ed1..088d0dc13d 100644 --- a/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts +++ b/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts @@ -29,11 +29,15 @@ export const postRouter = createTRPCRouter({ }); }), - getLatest: protectedProcedure.query(({ ctx }) => { - return ctx.db.post.findFirst({ + getLatest: publicProcedure.query(async ({ ctx }) => { + const post = ctx.db.post.findFirst({ orderBy: { createdAt: "desc" }, where: { createdBy: { id: ctx.session.user.id } }, }); + if (post === undefined) { + return null; + } + return post; }), getSecretMessage: protectedProcedure.query(() => { diff --git a/cli/template/extras/src/server/api/routers/post/with-drizzle.ts b/cli/template/extras/src/server/api/routers/post/with-drizzle.ts index b8e95d2939..ada814a119 100644 --- a/cli/template/extras/src/server/api/routers/post/with-drizzle.ts +++ b/cli/template/extras/src/server/api/routers/post/with-drizzle.ts @@ -24,8 +24,12 @@ export const postRouter = createTRPCRouter({ }), getLatest: publicProcedure.query(({ ctx }) => { - return ctx.db.query.posts.findFirst({ + const post = ctx.db.query.posts.findFirst({ orderBy: (posts, { desc }) => [desc(posts.createdAt)], }); + if (post === undefined) { + return null; + } + return post; }), }); diff --git a/cli/template/extras/src/server/api/routers/post/with-prisma.ts b/cli/template/extras/src/server/api/routers/post/with-prisma.ts index 68367a35b6..d9e46a1e6c 100644 --- a/cli/template/extras/src/server/api/routers/post/with-prisma.ts +++ b/cli/template/extras/src/server/api/routers/post/with-prisma.ts @@ -25,8 +25,14 @@ export const postRouter = createTRPCRouter({ }), getLatest: publicProcedure.query(({ ctx }) => { - return ctx.db.post.findFirst({ + const post = ctx.db.post.findFirst({ orderBy: { createdAt: "desc" }, }); + + if (post === undefined) { + return null; + } + + return post; }), }); From da2a46c00089f57ad77e382023bfaea21861c5f3 Mon Sep 17 00:00:00 2001 From: Data Salaryman Date: Tue, 16 Jul 2024 00:56:39 +0800 Subject: [PATCH 2/6] chore: add changeset --- .changeset/orange-onions-argue.md | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 .changeset/orange-onions-argue.md diff --git a/.changeset/orange-onions-argue.md b/.changeset/orange-onions-argue.md new file mode 100644 index 0000000000..80bc0af140 --- /dev/null +++ b/.changeset/orange-onions-argue.md @@ -0,0 +1,5 @@ +--- +"create-t3-app": patch +--- + +resolve client error during getLatest trpc call From 24e1f84ae833acd6f69e1ce94762c71b7b8c733b Mon Sep 17 00:00:00 2001 From: Data Salaryman Date: Tue, 16 Jul 2024 01:00:49 +0800 Subject: [PATCH 3/6] fix: use protected trpc procedure instead of public one --- .../extras/src/server/api/routers/post/with-auth-prisma.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts b/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts index 088d0dc13d..287f5805a0 100644 --- a/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts +++ b/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts @@ -29,7 +29,7 @@ export const postRouter = createTRPCRouter({ }); }), - getLatest: publicProcedure.query(async ({ ctx }) => { + getLatest: protectedProcedure.query(async ({ ctx }) => { const post = ctx.db.post.findFirst({ orderBy: { createdAt: "desc" }, where: { createdBy: { id: ctx.session.user.id } }, From 2d5240c9318eb8e452c138fadf74bfabc303a2b7 Mon Sep 17 00:00:00 2001 From: Data Salaryman Date: Tue, 16 Jul 2024 01:02:24 +0800 Subject: [PATCH 4/6] fix: remove async call --- .../extras/src/server/api/routers/post/with-auth-prisma.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts b/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts index 287f5805a0..8decb3ebf8 100644 --- a/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts +++ b/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts @@ -29,7 +29,7 @@ export const postRouter = createTRPCRouter({ }); }), - getLatest: protectedProcedure.query(async ({ ctx }) => { + getLatest: protectedProcedure.query(({ ctx }) => { const post = ctx.db.post.findFirst({ orderBy: { createdAt: "desc" }, where: { createdBy: { id: ctx.session.user.id } }, From 213004430b31c7bf4c3ea81658497a25b03bbca2 Mon Sep 17 00:00:00 2001 From: Data Salaryman Date: Tue, 16 Jul 2024 01:45:20 +0800 Subject: [PATCH 5/6] style: use ?? operator instead of conditional --- .../extras/src/server/api/routers/post/with-auth-drizzle.ts | 6 ++---- .../extras/src/server/api/routers/post/with-auth-prisma.ts | 6 ++---- .../extras/src/server/api/routers/post/with-drizzle.ts | 6 ++---- .../extras/src/server/api/routers/post/with-prisma.ts | 6 +----- 4 files changed, 7 insertions(+), 17 deletions(-) diff --git a/cli/template/extras/src/server/api/routers/post/with-auth-drizzle.ts b/cli/template/extras/src/server/api/routers/post/with-auth-drizzle.ts index 138e47a394..885f2fd143 100644 --- a/cli/template/extras/src/server/api/routers/post/with-auth-drizzle.ts +++ b/cli/template/extras/src/server/api/routers/post/with-auth-drizzle.ts @@ -32,10 +32,8 @@ export const postRouter = createTRPCRouter({ const post = ctx.db.query.posts.findFirst({ orderBy: (posts, { desc }) => [desc(posts.createdAt)], }); - if (post === undefined) { - return null; - } - return post; + + return post ?? null; }), getSecretMessage: protectedProcedure.query(() => { diff --git a/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts b/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts index 8decb3ebf8..12aa34ba03 100644 --- a/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts +++ b/cli/template/extras/src/server/api/routers/post/with-auth-prisma.ts @@ -34,10 +34,8 @@ export const postRouter = createTRPCRouter({ orderBy: { createdAt: "desc" }, where: { createdBy: { id: ctx.session.user.id } }, }); - if (post === undefined) { - return null; - } - return post; + + return post ?? null; }), getSecretMessage: protectedProcedure.query(() => { diff --git a/cli/template/extras/src/server/api/routers/post/with-drizzle.ts b/cli/template/extras/src/server/api/routers/post/with-drizzle.ts index ada814a119..46968d214b 100644 --- a/cli/template/extras/src/server/api/routers/post/with-drizzle.ts +++ b/cli/template/extras/src/server/api/routers/post/with-drizzle.ts @@ -27,9 +27,7 @@ export const postRouter = createTRPCRouter({ const post = ctx.db.query.posts.findFirst({ orderBy: (posts, { desc }) => [desc(posts.createdAt)], }); - if (post === undefined) { - return null; - } - return post; + + return post ?? null; }), }); diff --git a/cli/template/extras/src/server/api/routers/post/with-prisma.ts b/cli/template/extras/src/server/api/routers/post/with-prisma.ts index d9e46a1e6c..b46d50b119 100644 --- a/cli/template/extras/src/server/api/routers/post/with-prisma.ts +++ b/cli/template/extras/src/server/api/routers/post/with-prisma.ts @@ -29,10 +29,6 @@ export const postRouter = createTRPCRouter({ orderBy: { createdAt: "desc" }, }); - if (post === undefined) { - return null; - } - - return post; + return post ?? null; }), }); From 0144a4a0a06431026872bbba1b78f130f63889b0 Mon Sep 17 00:00:00 2001 From: Data Salaryman Date: Tue, 16 Jul 2024 08:04:18 +0800 Subject: [PATCH 6/6] style: lint whitespace --- cli/template/extras/src/server/api/routers/post/with-drizzle.ts | 2 +- cli/template/extras/src/server/api/routers/post/with-prisma.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/cli/template/extras/src/server/api/routers/post/with-drizzle.ts b/cli/template/extras/src/server/api/routers/post/with-drizzle.ts index 46968d214b..8c8ac78396 100644 --- a/cli/template/extras/src/server/api/routers/post/with-drizzle.ts +++ b/cli/template/extras/src/server/api/routers/post/with-drizzle.ts @@ -27,7 +27,7 @@ export const postRouter = createTRPCRouter({ const post = ctx.db.query.posts.findFirst({ orderBy: (posts, { desc }) => [desc(posts.createdAt)], }); - + return post ?? null; }), }); diff --git a/cli/template/extras/src/server/api/routers/post/with-prisma.ts b/cli/template/extras/src/server/api/routers/post/with-prisma.ts index b46d50b119..8337e2f1f8 100644 --- a/cli/template/extras/src/server/api/routers/post/with-prisma.ts +++ b/cli/template/extras/src/server/api/routers/post/with-prisma.ts @@ -29,6 +29,6 @@ export const postRouter = createTRPCRouter({ orderBy: { createdAt: "desc" }, }); - return post ?? null; + return post ?? null; }), });