Для того чтобы проверить существет аккаунт с таким email приходиться делать одну функцию
2. В каждом из функции все повторяется кроме самого запроса, (и везде try-catch еще), можно как то это оптимизировать ?
FROM node:16
WORKDIR /usr/src/app
COPY ./package*.json ./
COPY ./lerna.json ./
RUN npm install
WORKDIR /usr/src/app/packages/backend
COPY ./packages/backend ./
RUN npm install
WORKDIR /usr/src/app/packages/frontend
COPY ./packages/frontend ./
RUN npm install --legacy-peer-deps
WORKDIR /usr/src/app/packages/static_hoster
COPY ./packages/static_hoster ./
RUN npm install
WORKDIR /usr/src/app
RUN npm run build
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
export class CallController {
private _calls?: QueryModel;
constructor(router: IRouter, route_name: string) {
this.init().then(_ => {
this.handle_http_methods_for_route(router, route_name);
});
}
public async post(req: Request, res: Response, next: NextFunction): Promise<void> {
if(req.body) {
console.log(this._calls);
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});
}
}
private handle_http_methods_for_route(router: IRouter, route_name: string) {
router.route(route_name).post(this.post.bind(this));
}
async init(): Promise<void> {
this._calls = await query('calls');
}
}
<form action="/send_file" method="post" enctype="multipart/form-data" class="upload_form" id="file-upload">
<input type="file" name="avatar" id="file" multiple>
<button class="begin_uploading_button">Загрузить файлы</button>
<label for="file" class="upload_label">Выбрать файл</label>
<input type='text' name='some_data' value='some value' style='display: none'>
<input type="submit" name="submit" value="Загрузить" class="submit_button">
</form>