responsive navbar

This commit is contained in:
2025-05-01 11:10:31 +02:00
parent 10d1c91dea
commit 8f3a7009e1
19 changed files with 1202 additions and 47 deletions

View File

@@ -1,10 +1,8 @@
import { router } from "../trpc";
import { CvCategoryRouter } from "./cvCategory";
import { publicProcedure } from "~/server/trpc";
import { CvRouter } from "./cv";
export const trpcRouter = router({
hello: publicProcedure.query(async () => "world"),
cvCategory: CvCategoryRouter
cv: CvRouter
})
export type TrpcRouter = typeof trpcRouter

View File

@@ -0,0 +1,45 @@
import { db } from "~/server/db";
import { publicProcedure, router } from "~/server/trpc";
import { cvCategory } from "~/server/db/schema";
import { createInsertSchema, createUpdateSchema, createSelectSchema} from 'drizzle-zod'
import { z } from 'zod'
import { eq } from "drizzle-orm";
const selectShema = createSelectSchema(cvCategory)
const insertShema = createInsertSchema(cvCategory)
const updateSchema = createUpdateSchema(cvCategory)
export const CategoryRouter = router({
list: publicProcedure.query(async () => {
const categories = await db.query.cvCategory.findMany({
orderBy: (model, {desc} ) => desc(model.name)
});
return categories;
}),
get: publicProcedure.input(selectShema.pick({id: true})).query(async (opts) => {
const { input } = opts
const category = await db.query.cvCategory.findFirst({
where: eq(cvCategory.id,input.id)
})
return category;
}),
create: publicProcedure.input(insertShema).mutation(async (opts) => {
const { input } = opts;
const category = await db.insert(cvCategory).values(input).returning().execute()
return category
}),
update: publicProcedure
.input(z.object({
by: selectShema.pick({id:true}),
update: updateSchema
}))
.mutation(async (opts) => {
const {input} = opts;
const category = await db.update(cvCategory)
.set(input.update)
.returning()
.where(eq(cvCategory.id,input.by.id))
return category
})
})

View File

@@ -0,0 +1,6 @@
import { router } from "~/server/trpc"
import { CategoryRouter } from "./category"
export const CvRouter = router({
category: CategoryRouter
})

View File

@@ -1,12 +0,0 @@
import { db } from "~/server/db";
import { publicProcedure, router } from "~/server/trpc";
export const CvCategoryRouter = router({
get: publicProcedure.query(async () => {
const categories = await db.query.cvCategory.findMany({
orderBy: (model, {desc} ) => desc(model.name)
});
return categories;
})
})