45 lines
1.7 KiB
TypeScript
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)
|
|
})
|
|
})
|
|
|
|
} |