У меня вот такой простой метод:
override async get(req: Request, res: Response<ControllerResponseModel<CallResponseModel[], any>>, next: NextFunction) {
const calls = await this._collection.find({}, { projection: {_id: 0}}).toArray();
if(calls.length) {
res.status(200);
res.send({
data: calls
});
} else {
res.status(200);
res.send({
data: []
});
}
res.end();
}
Здесь я устанавливаю тип для ответа, он ругается на то, что мой тип не соответствует WithId, у меня есть схема валидации, могу я вернуть данные в формате этой схемы, а не WithId?
export interface ControllerResponseModel<DataType, ErrorType> {
data?: DataType,
error?: ErrorType
}
export interface CallResponseModel {
id: string;
type: 'private' | 'group';
date: string;
time: string;
full_date: Date;
members: string[];
expert?: string;
status: 'active' | 'not_active' | 'finished';
}