training_data/apps/server/src/models/train-situation/trainSituation.router.ts

45 lines
1.7 KiB
TypeScript

import { Injectable } from "@nestjs/common";
import { TrpcService } from "@server/trpc/trpc.service";
import { TrainSituationService } from "./trainSituation.service";
import { z, ZodType } from "zod";
import { Prisma } from "@nice/common";
const TrainSituationArgsSchema:ZodType<Prisma.TrainSituationCreateArgs> = z.any()
const TrainSituationUpdateArgsSchema:ZodType<Prisma.TrainSituationUpdateArgs> = z.any()
const TrainSituationFindManyArgsSchema:ZodType<Prisma.TrainSituationFindManyArgs> = z.any()
@Injectable()
export class TrainSituationRouter {
constructor(
private readonly trpc: TrpcService,
private readonly trainSituationService: TrainSituationService,
) { }
router = this.trpc.router({
create:this.trpc.protectProcedure
.input(TrainSituationArgsSchema)
.mutation(async ({ input }) => {
return this.trainSituationService.create(input)
}),
update:this.trpc.protectProcedure
.input(TrainSituationUpdateArgsSchema)
.mutation(async ({ input }) => {
return this.trainSituationService.update(input)
}),
findMany:this.trpc.protectProcedure
.input(TrainSituationFindManyArgsSchema)
.query(async ({input}) =>{
return this.trainSituationService.findMany(input)
}),
findManyByDepId:this.trpc.protectProcedure
.input(z.object({
deptId: z.string().optional(),
domainId: z.string().optional(),
trainContentId: z.string().optional()
}))
.query(async ({input}) => {
return this.trainSituationService.findManyByDeptId(input)
})
})
}