import { createAPIFileRoute } from '@tanstack/react-start/api'
import { fetchRequestHandler } from '@trpc/server/adapters/fetch'
import { redirect } from '@tanstack/react-router'
import { appRouter } from '~/integrations/trpc/router'
import { createTRPCContext } from '~/integrations/trpc/config'
function handler({ request }: { request: Request }) {
return fetchRequestHandler({
req: request,
router: appRouter,
endpoint: '/api/trpc',
createContext: () => createTRPCContext({ request }),
onError: ({ error }) => {
if (error.code === 'UNAUTHORIZED') {
throw redirect({ to: '/auth/sign-in' })
}
},
})
}
export const APIRoute = createAPIFileRoute('/api/trpc/$')({
GET: handler,
POST: handler,
})
import { createAPIFileRoute } from '@tanstack/react-start/api'
import { fetchRequestHandler } from '@trpc/server/adapters/fetch'
import { redirect } from '@tanstack/react-router'
import { appRouter } from '~/integrations/trpc/router'
import { createTRPCContext } from '~/integrations/trpc/config'
function handler({ request }: { request: Request }) {
return fetchRequestHandler({
req: request,
router: appRouter,
endpoint: '/api/trpc',
createContext: () => createTRPCContext({ request }),
onError: ({ error }) => {
if (error.code === 'UNAUTHORIZED') {
throw redirect({ to: '/auth/sign-in' })
}
},
})
}
export const APIRoute = createAPIFileRoute('/api/trpc/$')({
GET: handler,
POST: handler,
})