From 7861cf118627c97e2ab8c4170adcce131a41c851 Mon Sep 17 00:00:00 2001 From: anjelofan Date: Wed, 25 Mar 2026 18:35:29 +0800 Subject: [PATCH 1/2] fix: fixed "Invalid input to extend: expected a plain object" error --- packages/api/src/routers/pins.router.ts | 2 +- packages/api/src/routers/user.router.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/api/src/routers/pins.router.ts b/packages/api/src/routers/pins.router.ts index 968df7e..e2f7792 100644 --- a/packages/api/src/routers/pins.router.ts +++ b/packages/api/src/routers/pins.router.ts @@ -105,7 +105,7 @@ export const pinRouter = router({ getAllAdmin: adminProcedure - .input(paginationSchema.extend(pinFilterSchema).optional()) + .input(paginationSchema.optional()) .query(async ({ ctx, input }) => { const options = input ? { diff --git a/packages/api/src/routers/user.router.ts b/packages/api/src/routers/user.router.ts index ff875e8..64e2864 100644 --- a/packages/api/src/routers/user.router.ts +++ b/packages/api/src/routers/user.router.ts @@ -21,7 +21,7 @@ export const userRouter = router({ getAll: adminProcedure - .input(paginationSchema.extend(userFilterSchema).optional()) + .input(paginationSchema.optional()) .query(async ({ ctx, input }) => { const options = input ? { From f347a3c1836a13887db99742038ac23bdafe6d37 Mon Sep 17 00:00:00 2001 From: jpbuizon Date: Wed, 25 Mar 2026 19:34:59 +0800 Subject: [PATCH 2/2] fix: shape --- packages/api/src/routers/pins.router.ts | 14 +++++++++----- packages/api/src/routers/user.router.ts | 5 +---- 2 files changed, 10 insertions(+), 9 deletions(-) diff --git a/packages/api/src/routers/pins.router.ts b/packages/api/src/routers/pins.router.ts index e2f7792..cf11cea 100644 --- a/packages/api/src/routers/pins.router.ts +++ b/packages/api/src/routers/pins.router.ts @@ -1,5 +1,10 @@ import { inferRouterInputs, inferRouterOutputs } from "@trpc/server"; -import { adminProcedure, publicProcedure, router, userProcedure } from "../trpc"; +import { + adminProcedure, + publicProcedure, + router, + userProcedure, +} from "../trpc"; import { z } from "zod"; import { pinCreationSchema } from "../schemas"; @@ -60,7 +65,7 @@ export const pinRouter = router({ input.imageURLs, ); }), - + adminCreate: adminProcedure .input(pinCreationSchema) .mutation(async ({ ctx, input }) => { @@ -96,16 +101,15 @@ export const pinRouter = router({ .mutation(async ({ ctx, input }) => { return ctx.services.pin.userDeleteById(input.id, ctx.user.id); }), - + adminDelete: adminProcedure .input(z.object({ id: z.string() })) .mutation(async ({ ctx, input }) => { return ctx.services.pin.adminDeleteById(input.id); }), - getAllAdmin: adminProcedure - .input(paginationSchema.optional()) + .input(paginationSchema.extend(pinFilterSchema.shape).optional()) .query(async ({ ctx, input }) => { const options = input ? { diff --git a/packages/api/src/routers/user.router.ts b/packages/api/src/routers/user.router.ts index 64e2864..886fc68 100644 --- a/packages/api/src/routers/user.router.ts +++ b/packages/api/src/routers/user.router.ts @@ -19,9 +19,8 @@ export const userRouter = router({ return ctx.services.user.getById(id); }), - getAll: adminProcedure - .input(paginationSchema.optional()) + .input(paginationSchema.extend(userFilterSchema.shape).optional()) .query(async ({ ctx, input }) => { const options = input ? { @@ -39,6 +38,4 @@ export const userRouter = router({ .query(async ({ ctx, input }) => { return ctx.services.user.getCount({ role: input?.role }); }), - - });