36 lines
1.2 KiB
TypeScript
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)),
|
|
});
|