export function getAllServicesPlugin() {
const t = initTRPC.context<typeof createTRPCContext>().create();
return {
pluginProc: t.procedure
.input(serviceWithDateRangeSchema)
.use(async (opts) => {
const { input, ctx } = opts;
if (input.selectedServices.selectedCategory === "specific") {
return opts.next({
input: {
dateRange: input.dateRange,
services: input.selectedServices.services,
},
});
}
const categorizedRepositories = await getCategorizedRepositories(
ctx.connection,
);
return opts.next({
input: {
dateRange: input.dateRange,
services:
input.selectedServices.selectedCategory === "all-engineering"
? Object.values(categorizedRepositories).flat()
: (categorizedRepositories[
input.selectedServices.selectedCategory
] ?? []),
},
});
}),
};
}
export function getAllServicesPlugin() {
const t = initTRPC.context<typeof createTRPCContext>().create();
return {
pluginProc: t.procedure
.input(serviceWithDateRangeSchema)
.use(async (opts) => {
const { input, ctx } = opts;
if (input.selectedServices.selectedCategory === "specific") {
return opts.next({
input: {
dateRange: input.dateRange,
services: input.selectedServices.services,
},
});
}
const categorizedRepositories = await getCategorizedRepositories(
ctx.connection,
);
return opts.next({
input: {
dateRange: input.dateRange,
services:
input.selectedServices.selectedCategory === "all-engineering"
? Object.values(categorizedRepositories).flat()
: (categorizedRepositories[
input.selectedServices.selectedCategory
] ?? []),
},
});
}),
};
}