33 lines
1.5 KiB
TypeScript
33 lines
1.5 KiB
TypeScript
import { router, publicProcedure } from '@/src/trpc/trpc-index'
|
|
import { z } from 'zod';
|
|
import { adminRouter } from '@/src/trpc/apis/admin-apis/apis/admin-trpc-index'
|
|
import { userRouter } from '@/src/trpc/apis/user-apis/apis/user-trpc-index'
|
|
import { commonApiRouter } from '@/src/trpc/apis/common-apis/common-trpc-index'
|
|
import { scaffoldProducts } from './apis/common-apis/common';
|
|
import { scaffoldStores, scaffoldStoreWithProducts } from './apis/user-apis/apis/stores';
|
|
import { scaffoldSlotsWithProducts } from './apis/user-apis/apis/slots';
|
|
import { scaffoldEssentialConsts } from './apis/common-apis/common-trpc-index';
|
|
import { scaffoldBanners } from './apis/user-apis/apis/banners';
|
|
|
|
// Create the main app router
|
|
export const appRouter = router({
|
|
hello: publicProcedure
|
|
.input(z.object({ name: z.string() }))
|
|
.query(({ input }) => {
|
|
return { greeting: `Hello ${input.name}!` };
|
|
}),
|
|
admin: adminRouter,
|
|
user: userRouter,
|
|
common: commonApiRouter,
|
|
});
|
|
|
|
|
|
// Export type definition of API
|
|
export type AppRouter = typeof appRouter;
|
|
|
|
export type AllProductsApiType = Awaited<ReturnType<typeof scaffoldProducts>>;
|
|
export type StoresApiType = Awaited<ReturnType<typeof scaffoldStores>>;
|
|
export type SlotsApiType = Awaited<ReturnType<typeof scaffoldSlotsWithProducts>>;
|
|
export type EssentialConstsApiType = Awaited<ReturnType<typeof scaffoldEssentialConsts>>;
|
|
export type BannersApiType = Awaited<ReturnType<typeof scaffoldBanners>>;
|
|
export type StoreWithProductsApiType = Awaited<ReturnType<typeof scaffoldStoreWithProducts>>;
|