Допустим вот такой класс, как я могу применить его к экспрессу чтобы все методы которые существуют как http методы попали в роутер express?
export class CallController {
private _calls?: QueryModel;
constructor() {
this.init().then();
}
public async post(req: Request, res: Response, next: NextFunction): Promise<void> {
if(req.body) {
const call = await this._calls?.collection.findOne({type: req.body.type, members: {$in: req.body.members}});
if(!call) {
await this._calls?.collection.insertOne(req.body);
return;
}
await this._calls?.collection.updateOne({id: req.body.id}, {time: req.body.time, expert: req.body.expert});
}
}
async init(): Promise<void> {
this._calls = await query('calls');
}
}