This commit is contained in:
alex 3
2023-12-23 22:21:53 -05:00
parent 30173a5bbd
commit fe9e689e4d
14 changed files with 1694 additions and 83 deletions
+3 -1
View File
@@ -1,6 +1,7 @@
import { postRouter } from "@/server/api/routers/post";
import { linksRouter } from "./routers/links";
import { miscRouter } from "./routers/misc";
import { blogRouter } from "./routers/blog";
import { createTRPCRouter } from "@/server/api/trpc";
/**
@@ -11,7 +12,8 @@ import { createTRPCRouter } from "@/server/api/trpc";
export const appRouter = createTRPCRouter({
post: postRouter,
links: linksRouter,
misc: miscRouter
misc: miscRouter,
blog: blogRouter
});
// export type definition of API
+51
View File
@@ -0,0 +1,51 @@
import {z} from 'zod';
import {
createTRPCRouter,
protectedProcedure,
publicProcedure
} from "@/server/api/trpc";
export const blogRouter = createTRPCRouter({
create: protectedProcedure
.input(
z.object({
name: z.string().min(1).max(100),
contents: z.string().min(1),
tagline: z.string().min(1).max(30),
image: z.string().min(1)
})
)
.mutation(async ({ ctx, input }) => {
return ctx.db.blogPost.create({
data: {
name: input.name,
contents: input.contents,
tagline: input.tagline,
image: input.image,
createdBy: { connect: { id: ctx.session.user.id } },
},
});
}),
delete: protectedProcedure
.input(
z.string().min(1)
)
.mutation(async ({ctx, input}) => {
return ctx.db.blogPost.delete({
where: {
id: input
}
})
}),
getOne: publicProcedure
.input(String)
.query(({ ctx, input }) => {
return ctx.db.blogPost.findFirst({
where: { id: input },
});
}),
getAll: publicProcedure
.query(({ctx}) => {
return ctx.db.blogPost.findMany()
}),
})