Я использую Typescript, чтобы быть точным, и ExpressJS для создания API.
Предположим, у меня есть модель User:
class UserModel {
id: number;
email: string;
password: string;
name: string;
dob: Date;
gender: UserGender;
connections: UserModel[]
}
enum UserGender {
"MALE" = 1,
"FEMALE" = 2,
"OTHER" = 3
}
Я хочу ограничить объект для отправки только тех свойств, которые включены в класс объекта ответа, т.е.
class ConnectionResponse {
id: number;
name: string;
email: string;
dob: Date,
gender: UserGender;
}
class UserConnectionsResponse {
id: number;
connections: ConnectionResponse[];
}
Этот класс исключает некоторые свойства, такие как password
в ConnectionResponse
, которые должны быть сопоставлены с UserModel
и
UserConnectionResponse
также должны отображаться в UserModel
, но только в поля id
и connections
.
Есть ли какой-либо пакет или общий c способ сопоставить все модели, которые я получаю из базы данных, с объектами ответа и включить только те свойства, которые присутствуют в объекте ответа, а не всей модели?
PS: Я не хочу реализовывать это вручную, перебирая оба класса и удаляя свойства вручную. Пожалуйста, предложите другие обходные пути, такие как пакет или что-то еще.