Revert "feat: add file routing option"

This reverts commit 750783e860.
This commit is contained in:
wobsoriano
2022-11-05 21:24:24 -07:00
parent c11a5cfa8a
commit 1fc4d9d0d0
22 changed files with 435 additions and 318 deletions

View File

@@ -1,7 +1,4 @@
// https://v3.nuxtjs.org/api/configuration/nuxt.config
export default defineNuxtConfig({
modules: ['trpc-nuxt'],
trpc: {
enableFileRouting: true
}
modules: ['trpc-nuxt/module']
})

View File

@@ -5,7 +5,8 @@
"build": "nuxt build",
"dev": "nuxt dev",
"generate": "nuxt generate",
"preview": "nuxt preview"
"preview": "nuxt preview",
"postinstall": "nuxt prepare"
},
"dependencies": {
"@trpc/client": "10.0.0-rc.4",

View File

@@ -1,7 +1,7 @@
import { httpBatchLink, loggerLink } from '@trpc/client'
import { createTRPCNuxtProxyClient } from 'trpc-nuxt/client'
import superjson from 'superjson'
import type { AppRouter } from '#build/trpc/handler'
import type { AppRouter } from '~~/server/trpc/routers'
export default defineNuxtPlugin(() => {
const client = createTRPCNuxtProxyClient<AppRouter>({

View File

@@ -0,0 +1,23 @@
import { createNuxtApiHandler } from 'trpc-nuxt'
import { appRouter } from '@/server/trpc/routers'
import { createContext } from '@/server/trpc/context'
export default createNuxtApiHandler({
router: appRouter,
/**
* @link https://trpc.io/docs/context
*/
createContext,
onError ({ error }) {
if (error.code === 'INTERNAL_SERVER_ERROR') {
// send to bug reporting
console.error('Something went wrong', error)
}
}
/**
* @link https://trpc.io/docs/caching#api-response-caching
*/
// responseMeta() {
// // ...
// },
})

View File

@@ -0,0 +1,17 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
import type { inferAsyncReturnType } from '@trpc/server'
import type { H3Event } from 'h3'
export type Context = inferAsyncReturnType<typeof createContext>
/**
* Creates context for an incoming request
* @link https://trpc.io/docs/context
*/
export function createContext (
opts: H3Event
) {
// for API-response caching see https://trpc.io/docs/caching
return {}
}

View File

@@ -0,0 +1,10 @@
import { router } from '../trpc'
import { todoRouter } from './todo'
import { userRouter } from './user'
export const appRouter = router({
todo: todoRouter,
user: userRouter
})
export type AppRouter = typeof appRouter

View File

@@ -1,5 +1,5 @@
import { z } from 'zod'
import { publicProcedure, router } from '#trpc/init'
import { publicProcedure, router } from '../trpc'
const baseURL = 'https://jsonplaceholder.typicode.com'
@@ -12,7 +12,7 @@ const TodoShape = z.object({
export type Todo = z.infer<typeof TodoShape>
export default router({
export const todoRouter = router({
getTodos: publicProcedure
.query(() => {
return $fetch<Todo[]>(`${baseURL}/todos`)

View File

@@ -1,5 +1,5 @@
import { z } from 'zod'
import { publicProcedure, router } from '#trpc/init'
import { publicProcedure, router } from '../trpc'
const baseURL = 'https://jsonplaceholder.typicode.com'
@@ -12,7 +12,7 @@ const UserShape = z.object({
export type User = z.infer<typeof UserShape>
export default router({
export const userRouter = router({
getUsers: publicProcedure
.query(() => {
return $fetch<User[]>(`${baseURL}/users`)

View File

@@ -1,17 +1,43 @@
/* eslint-disable @typescript-eslint/no-unused-vars */
import type { inferAsyncReturnType } from '@trpc/server'
import type { H3Event } from 'h3'
import { initTRPC } from '@trpc/server'
import superjson from 'superjson'
import { ZodError } from 'zod'
import type { Context } from './context'
export type Context = inferAsyncReturnType<typeof createContext>
const t = initTRPC.context<Context>().create({
transformer: superjson,
errorFormatter ({ shape, error }) {
return {
...shape,
data: {
...shape.data,
zodError:
error.code === 'BAD_REQUEST' &&
error.cause instanceof ZodError
? error.cause!.flatten()
: null
}
}
}
})
/**
* Creates context for an incoming request
* @link https://trpc.io/docs/context
* Create a router
* @see https://trpc.io/docs/v10/router
*/
export function createContext (
opts: H3Event
) {
// for API-response caching see https://trpc.io/docs/caching
export const router = t.router
return {}
}
/**
* Create an unprotected procedure
* @see https://trpc.io/docs/v10/procedures
**/
export const publicProcedure = t.procedure
/**
* @see https://trpc.io/docs/v10/middlewares
*/
export const middleware = t.middleware
/**
* @see https://trpc.io/docs/v10/merging-routers
*/
export const mergeRouters = t.mergeRouters