У меня есть два контроллера NestJS
export class ParentController<T> {
constructor(protected service: Service<T>) {}
@Post()
do(@Body() dto: ClassType<T>): Promise<T> {
return this.service.do(dto);
}
}
... и другой контроллер, расширяющий родительский
@Controller('any')
export class AnyController extends ParentController<Entity> {
constructor(protected service: Service) {
super(service);
}
}
Как вы видите, сущность TypeORM связана с этим контроллером как T с помощью обобщений. В методе "do (...)" я использовал ClassType в качестве типа для проверки, но проверка не запускается вообще без каких-либо ошибок. Насколько я понимаю, нужен именно класс, а не тип, который будет определен как DTO.
Мой вопрос: как я могу применить проверку к методу "do (...)", используя только мой тип Entity (не используя сам Entity в ParentController). Я знаю, что дженерики не существуют во время выполнения JS, и трудно создать абстрактный контроллер без этой функции.
P.S. Мне нужно сделать это без использования nestjsx / crud component