/
githubmirror
/
trpc
Обзор
Документация
Войти
/
githubmirror
/
trpc
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
examples/fastify-server/src/server/router/routers/posts.ts
34 строки
729 B
Alex / KATT
docs: skip exposing `t` + general docs improvements (#2957)
10 окт 2022, 17:12
Не верифицирован
10 окт 2022, 17:12
601b29b
Код
Авторство
О чём код?
import { TRPCError } from '@trpc/server'; import { z } from 'zod'; import { publicProcedure, router } from '../trpc'; interface Post { id: number; title: string; } interface Db { posts: Post[]; } const db: Db = { posts: [], }; export const postsRouter = router({ create: publicProcedure .input(z.object({ title: z.string() })) .mutation(({ input, ctx }) => { if (ctx.user.name !== 'nyan') { throw new TRPCError({ code: 'UNAUTHORIZED' }); } const id = db.posts.length + 1; const post = { id, ...input }; db.posts.push(post); return post; }), list: publicProcedure.query(() => db.posts), reset: publicProcedure.mutation(() => { db.posts = []; }), });