mirror of
https://github.com/Nezumi-2711/multitenant-ecommerce.git
synced 2026-09-22 20:01:36 +00:00
feat: integration with trpc
This commit is contained in:
@@ -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;
|
||||
})
|
||||
})
|
||||
@@ -0,0 +1,5 @@
|
||||
import { inferRouterOutputs } from "@trpc/server";
|
||||
|
||||
import { AppRouter } from "@/trpc/routers/_app";
|
||||
|
||||
export type CategoriesGetManyOutput = inferRouterOutputs<AppRouter>["categories"]["getMany"];
|
||||
Reference in New Issue
Block a user