51 lines
1.9 KiB
TypeScript
51 lines
1.9 KiB
TypeScript
import {
|
|
CreateManagementLevelGroupSchema,
|
|
CreateManagementLevelSchema,
|
|
} from "@capakraken/shared";
|
|
import { adminProcedure, createTRPCRouter, planningReadProcedure } from "../trpc.js";
|
|
import {
|
|
createManagementLevel,
|
|
createManagementLevelGroup,
|
|
deleteManagementLevel,
|
|
getManagementLevelGroupById,
|
|
listManagementLevelGroups,
|
|
managementLevelGroupIdInputSchema,
|
|
managementLevelGroupUpdateInputSchema,
|
|
managementLevelIdInputSchema,
|
|
managementLevelUpdateInputSchema,
|
|
updateManagementLevel,
|
|
updateManagementLevelGroup,
|
|
} from "./management-level-procedure-support.js";
|
|
|
|
export const managementLevelRouter = createTRPCRouter({
|
|
// ─── Groups ─────────────────────────────────────────────
|
|
|
|
listGroups: planningReadProcedure.query(({ ctx }) => listManagementLevelGroups(ctx)),
|
|
|
|
getGroupById: planningReadProcedure
|
|
.input(managementLevelGroupIdInputSchema)
|
|
.query(({ ctx, input }) => getManagementLevelGroupById(ctx, input)),
|
|
|
|
createGroup: adminProcedure
|
|
.input(CreateManagementLevelGroupSchema)
|
|
.mutation(({ ctx, input }) => createManagementLevelGroup(ctx, input)),
|
|
|
|
updateGroup: adminProcedure
|
|
.input(managementLevelGroupUpdateInputSchema)
|
|
.mutation(({ ctx, input }) => updateManagementLevelGroup(ctx, input)),
|
|
|
|
// ─── Levels ─────────────────────────────────────────────
|
|
|
|
createLevel: adminProcedure
|
|
.input(CreateManagementLevelSchema)
|
|
.mutation(({ ctx, input }) => createManagementLevel(ctx, input)),
|
|
|
|
updateLevel: adminProcedure
|
|
.input(managementLevelUpdateInputSchema)
|
|
.mutation(({ ctx, input }) => updateManagementLevel(ctx, input)),
|
|
|
|
deleteLevel: adminProcedure
|
|
.input(managementLevelIdInputSchema)
|
|
.mutation(({ ctx, input }) => deleteManagementLevel(ctx, input)),
|
|
});
|