From 8d0536e77955bbf3d88c4f6d3d8d3b600563e173 Mon Sep 17 00:00:00 2001 From: sergeyyarkov Date: Wed, 26 Aug 2026 12:56:59 +0300 Subject: [PATCH] refactor --- handlers/reports/parseExcel.handler.js | 6 +++++- handlers/reports/statusParse.handler.js | 8 ++++++-- handlers/reports/syncParsed.handler.js | 4 ++++ repositories/report.repository.js | 2 +- tables/base.table.js | 3 +-- 5 files changed, 17 insertions(+), 6 deletions(-) diff --git a/handlers/reports/parseExcel.handler.js b/handlers/reports/parseExcel.handler.js index c3748ea..ad07236 100644 --- a/handlers/reports/parseExcel.handler.js +++ b/handlers/reports/parseExcel.handler.js @@ -3,6 +3,8 @@ import { clients } from "#root/index.js"; import { reportsService } from "#services/index.js"; import { serializeError } from "serialize-error"; +/** @import { HttpRouteHandler } from "#root/http-server/types/http-server.js" */ + const MAX_CONCURRENT_PARSE_CLIENT = Number.parseInt(process.env.REPORT_CONCURRENT_PARSE_CLIENTS || "3", 10); /** @@ -11,7 +13,7 @@ const MAX_CONCURRENT_PARSE_CLIENT = Number.parseInt(process.env.REPORT_CONCURREN * Description: Принимает на вход файл отчетов в формате Excel, парсит его, проверяет связи с БД, * отдает идентификатор на статус парсинга. * - * @type {import("#root/http-server/types/http-server.js").HttpRouteHandler} + * @type {HttpRouteHandler} */ export default async (ctx) => { const { res, searchParams } = ctx; @@ -72,4 +74,6 @@ export default async (ctx) => { } else { throw new BadRequestError(); } + + return; }; diff --git a/handlers/reports/statusParse.handler.js b/handlers/reports/statusParse.handler.js index e941d22..3a13300 100644 --- a/handlers/reports/statusParse.handler.js +++ b/handlers/reports/statusParse.handler.js @@ -1,14 +1,16 @@ import { clients } from "#root/index.js"; import crypto from "node:crypto"; +/** @import { HttpRouteHandler } from "#root/http-server/types/http-server.js" */ + /** * URL: /api/reports_status_parse * Method: GET * Description: Отправляет частями в формате JSON информацию о текущем статусе парсинга отчетов * - * @type {import("#root/http-server/types/http-server.js").HttpRouteHandler} + * @type {HttpRouteHandler} */ -export default (ctx) => { +export default async (ctx) => { const { res } = ctx; const clientId = crypto.randomUUID(); @@ -30,4 +32,6 @@ export default (ctx) => { clients.delete(clientId); res.res.end(); }); + + return; }; diff --git a/handlers/reports/syncParsed.handler.js b/handlers/reports/syncParsed.handler.js index 2562734..aedac22 100644 --- a/handlers/reports/syncParsed.handler.js +++ b/handlers/reports/syncParsed.handler.js @@ -2,6 +2,8 @@ import { BadRequestError } from "#root/http-server/index.js"; import { reportsService } from "#root/services/reports.service.js"; import { reportsSchema } from "#schemas/report.schema.js"; +/** @import { HttpRouteHandler } from "#root/http-server/types/http-server.js" */ + /** * URL: /api/reports_sync * Method: POST @@ -16,4 +18,6 @@ export default async ({ res, data }) => { const rows = await reportsService.syncReportsWithDatabase(payload); res.sendJson({ data: { rows } }); + + return; }; diff --git a/repositories/report.repository.js b/repositories/report.repository.js index 9da2ae2..b9f561b 100644 --- a/repositories/report.repository.js +++ b/repositories/report.repository.js @@ -2,7 +2,7 @@ import { ReportModel } from "#models/index.js"; import { ReportExecutorTable, ReportTable } from "#tables/index.js"; import { UOW } from "./index.js"; -/** @import { ReportColumns } from "#tables/report.table.js" */ +/** @import { ReportColumns } from "#models/types.js" */ export const reportRepository = { async getAll() { diff --git a/tables/base.table.js b/tables/base.table.js index 8b5e456..982bbe1 100644 --- a/tables/base.table.js +++ b/tables/base.table.js @@ -4,7 +4,7 @@ export class BaseTable { static tableName = ""; static table = new sql.Table(this.tableName); - /** @type {Record} */ + /** @type {Record sql.ISqlType) | sql.ISqlType } & sql.IColumnOptions>} */ static columns = {}; /** @@ -23,7 +23,6 @@ export class BaseTable { */ static init(table) { table = table || this.table; - // TODO: fix types Object.entries(this.columns).forEach(([name, { type, ...opts }]) => table.columns.add(name, type, opts)); }