feat: integration with trpc

This commit is contained in:
2025-05-01 21:03:37 +07:00
parent 315c8da82a
commit 00fbc8581e
19 changed files with 291 additions and 84 deletions
@@ -0,0 +1,28 @@
import { baseProcedure, createTRPCRouter } from "@/trpc/init";
import { Category } from '@/payload-types';
export const categoriesRouter = createTRPCRouter({
getMany: baseProcedure.query(async ({ ctx }) => {
const data = await ctx.db.find({
collection: 'categories',
depth: 1,
where: {
parent: {
exists: false,
},
},
sort: 'name',
});
const formattedData = data.docs.map((category) => ({
...category,
subcategories: (category.subcategories?.docs ?? []).map((doc) => ({
...(doc as Category),
subcategories: undefined,
})),
}));
return formattedData;
})
})
+5
View File
@@ -0,0 +1,5 @@
import { inferRouterOutputs } from "@trpc/server";
import { AppRouter } from "@/trpc/routers/_app";
export type CategoriesGetManyOutput = inferRouterOutputs<AppRouter>["categories"]["getMany"];