First Commit Test
This commit is contained in:
18
server/trpc/context.ts
Normal file
18
server/trpc/context.ts
Normal file
@ -0,0 +1,18 @@
|
||||
import { inferAsyncReturnType } from '@trpc/server'
|
||||
import type { H3Event } from 'h3'
|
||||
|
||||
/**
|
||||
* Creates context for an incoming request
|
||||
* @link https://trpc.io/docs/context
|
||||
*/
|
||||
export function createContext (_event: H3Event) {
|
||||
/**
|
||||
* Add any trpc-request context here. E.g., you could add `prisma` like this (if you've added it via sidebase):
|
||||
* ```ts
|
||||
* return { prisma: _event.context.prisma }
|
||||
* ```
|
||||
*/
|
||||
return {}
|
||||
}
|
||||
|
||||
export type Context = inferAsyncReturnType<typeof createContext>
|
||||
20
server/trpc/routers/index.ts
Normal file
20
server/trpc/routers/index.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { z } from 'zod'
|
||||
import { publicProcedure, router } from '../trpc'
|
||||
|
||||
export const appRouter = router({
|
||||
hello: publicProcedure
|
||||
.input(
|
||||
z.object({
|
||||
text: z.string().nullish()
|
||||
})
|
||||
)
|
||||
.query(({ input }) => {
|
||||
return {
|
||||
greeting: `hello ${input?.text ?? 'world'}`,
|
||||
time: new Date()
|
||||
}
|
||||
})
|
||||
})
|
||||
|
||||
// export type definition of API
|
||||
export type AppRouter = typeof appRouter
|
||||
23
server/trpc/trpc.ts
Normal file
23
server/trpc/trpc.ts
Normal file
@ -0,0 +1,23 @@
|
||||
/**
|
||||
* This is your entry point to setup the root configuration for tRPC on the server.
|
||||
* - `initTRPC` should only be used once per app.
|
||||
* - We export only the functionality that we use so we can enforce which base procedures should be used
|
||||
*
|
||||
* Learn how to create protected base procedures and other things below:
|
||||
* @see https://trpc.io/docs/v10/router
|
||||
* @see https://trpc.io/docs/v10/procedures
|
||||
*/
|
||||
import { initTRPC } from '@trpc/server'
|
||||
import superjson from 'superjson'
|
||||
import { Context } from '~/server/trpc/context'
|
||||
|
||||
const t = initTRPC.context<Context>().create({
|
||||
transformer: superjson
|
||||
})
|
||||
|
||||
/**
|
||||
* Unprotected procedure
|
||||
**/
|
||||
export const publicProcedure = t.procedure
|
||||
export const router = t.router
|
||||
export const middleware = t.middleware
|
||||
Reference in New Issue
Block a user