Files
CapaKraken/packages/api/src/router/calculation-rules.ts
T

36 lines
1.2 KiB
TypeScript

import { createTRPCRouter, controllerProcedure, managerProcedure } from "../trpc.js";
import {
CalculationRuleIdInputSchema,
CreateCalculationRuleInputSchema,
createCalculationRule,
deleteCalculationRule,
getCalculationRuleById,
listActiveCalculationRules,
listCalculationRules,
UpdateCalculationRuleInputSchema,
updateCalculationRule,
} from "./calculation-rule-procedure-support.js";
export const calculationRuleRouter = createTRPCRouter({
list: controllerProcedure.query(({ ctx }) => listCalculationRules(ctx)),
getById: controllerProcedure
.input(CalculationRuleIdInputSchema)
.query(({ ctx, input }) => getCalculationRuleById(ctx, input)),
/** Get all active rules (optimized for engine use — no project include) */
getActive: controllerProcedure.query(({ ctx }) => listActiveCalculationRules(ctx)),
create: managerProcedure
.input(CreateCalculationRuleInputSchema)
.mutation(({ ctx, input }) => createCalculationRule(ctx, input)),
update: managerProcedure
.input(UpdateCalculationRuleInputSchema)
.mutation(({ ctx, input }) => updateCalculationRule(ctx, input)),
delete: managerProcedure
.input(CalculationRuleIdInputSchema)
.mutation(({ ctx, input }) => deleteCalculationRule(ctx, input)),
});