feat: course api

This commit is contained in:
2023-12-13 23:28:17 -06:00
parent 5ffb4084df
commit 09787e2e54

View File

@@ -1,9 +1,24 @@
import { eq } from "drizzle-orm";
import {
createTRPCRouter,
protectedProcedure,
publicProcedure,
} from "~/server/api/trpc";
import { z } from "zod";
import { createTRPCRouter, protectedProcedure } from "~/server/api/trpc";
import { courses } from "~/server/db/schema";
export const courseRouter = createTRPCRouter({});
export const courseRouter = createTRPCRouter({
getAllCourses: protectedProcedure.query(async ({ ctx }) => {
return await ctx.db.query.courses.findMany();
}),
getCourse: protectedProcedure
.input(
z.object({
courseId: z.number(),
includeLessons: z.boolean().optional().default(false),
}),
)
.query(async ({ ctx, input }) => {
const lessons = input.includeLessons ? true : undefined;
return await ctx.db.query.courses.findFirst({
where: eq(courses.courseId, input.courseId),
with: { lessons },
});
}),
});