79 lines
2.5 KiB
TypeScript
79 lines
2.5 KiB
TypeScript
import {
|
|
adminProcedure,
|
|
createTRPCRouter,
|
|
planningReadProcedure,
|
|
protectedProcedure,
|
|
} from "../trpc.js";
|
|
import {
|
|
batchDeleteBlueprints,
|
|
blueprintBatchDeleteInputSchema,
|
|
blueprintGlobalFieldDefsInputSchema,
|
|
blueprintIdentifierInputSchema,
|
|
blueprintIdInputSchema,
|
|
blueprintListInputSchema,
|
|
blueprintRolePresetsInputSchema,
|
|
blueprintSetGlobalInputSchema,
|
|
blueprintUpdateInputSchema,
|
|
createBlueprint,
|
|
deleteBlueprint,
|
|
getBlueprintById,
|
|
getBlueprintDetailByIdentifier,
|
|
getGlobalBlueprintFieldDefs,
|
|
listBlueprintSummaries,
|
|
listBlueprints,
|
|
resolveBlueprintByIdentifier,
|
|
setBlueprintGlobal,
|
|
updateBlueprint,
|
|
updateBlueprintRolePresets,
|
|
} from "./blueprint-procedure-support.js";
|
|
import { CreateBlueprintSchema } from "@capakraken/shared";
|
|
|
|
export const blueprintRouter = createTRPCRouter({
|
|
listSummaries: planningReadProcedure.query(({ ctx }) => listBlueprintSummaries(ctx)),
|
|
|
|
list: planningReadProcedure
|
|
.input(blueprintListInputSchema)
|
|
.query(({ ctx, input }) => listBlueprints(ctx, input)),
|
|
|
|
getById: planningReadProcedure
|
|
.input(blueprintIdInputSchema)
|
|
.query(({ ctx, input }) => getBlueprintById(ctx, input)),
|
|
|
|
resolveByIdentifier: protectedProcedure
|
|
.input(blueprintIdentifierInputSchema)
|
|
.query(({ ctx, input }) => resolveBlueprintByIdentifier(ctx, input)),
|
|
|
|
getByIdentifier: planningReadProcedure
|
|
.input(blueprintIdentifierInputSchema)
|
|
.query(({ ctx, input }) => getBlueprintDetailByIdentifier(ctx, input)),
|
|
|
|
create: adminProcedure
|
|
.input(CreateBlueprintSchema)
|
|
.mutation(({ ctx, input }) => createBlueprint(ctx, input)),
|
|
|
|
update: adminProcedure
|
|
.input(blueprintUpdateInputSchema)
|
|
.mutation(({ ctx, input }) => updateBlueprint(ctx, input)),
|
|
|
|
/** Dedicated mutation for saving role presets — separate from field defs to avoid Zod depth issues */
|
|
updateRolePresets: adminProcedure
|
|
.input(blueprintRolePresetsInputSchema)
|
|
.mutation(({ ctx, input }) => updateBlueprintRolePresets(ctx, input)),
|
|
|
|
delete: adminProcedure
|
|
.input(blueprintIdInputSchema)
|
|
.mutation(({ ctx, input }) => deleteBlueprint(ctx, input)),
|
|
|
|
batchDelete: adminProcedure
|
|
.input(blueprintBatchDeleteInputSchema)
|
|
.mutation(({ ctx, input }) => batchDeleteBlueprints(ctx, input)),
|
|
|
|
getGlobalFieldDefs: planningReadProcedure
|
|
.input(blueprintGlobalFieldDefsInputSchema)
|
|
.query(({ ctx, input }) => getGlobalBlueprintFieldDefs(ctx, input)),
|
|
|
|
setGlobal: adminProcedure
|
|
.input(blueprintSetGlobalInputSchema)
|
|
.mutation(({ ctx, input }) => setBlueprintGlobal(ctx, input)),
|
|
});
|