Files
CapaKraken/packages/api/src/router/computation-graph-procedure-support.ts
T

38 lines
1.2 KiB
TypeScript

import { z } from "zod";
import type { TRPCContext } from "../trpc.js";
import { createComputationGraphDetailProcedures } from "./computation-graph-detail.js";
import { readProjectGraphSnapshot } from "./computation-graph-project.js";
import { readResourceGraphSnapshot } from "./computation-graph-resource.js";
export const ResourceGraphInputSchema = z.object({
resourceId: z.string(),
month: z.string().regex(/^\d{4}-\d{2}$/),
});
export const ProjectGraphInputSchema = z.object({
projectId: z.string(),
});
type ComputationGraphProcedureContext = Pick<TRPCContext, "db">;
export const computationGraphDetailProcedures = createComputationGraphDetailProcedures({
resourceGraphInputSchema: ResourceGraphInputSchema,
projectGraphInputSchema: ProjectGraphInputSchema,
readResourceGraphSnapshot,
readProjectGraphSnapshot,
});
export async function getResourceGraphData(
ctx: ComputationGraphProcedureContext,
input: z.infer<typeof ResourceGraphInputSchema>,
) {
return readResourceGraphSnapshot(ctx, input);
}
export async function getProjectGraphData(
ctx: ComputationGraphProcedureContext,
input: z.infer<typeof ProjectGraphInputSchema>,
) {
return readProjectGraphSnapshot(ctx, input);
}