fix
All checks were successful
Build And Deploy Main / build-and-deploy (push) Successful in 29s

This commit is contained in:
2026-03-12 18:46:04 -04:00
parent 7b3698bd2f
commit 63d092f5c8

View File

@@ -2,6 +2,7 @@ const util = require("util");
var fs = require('fs'); var fs = require('fs');
var multer = require('multer'); var multer = require('multer');
const path = require("path"); const path = require("path");
const { splitSite } = require("../middlewares");
const dbConfig = require("../config/db.config"); const dbConfig = require("../config/db.config");
const MongoClient = require("mongodb").MongoClient; const MongoClient = require("mongodb").MongoClient;
const mongoClient = new MongoClient(dbConfig.url); const mongoClient = new MongoClient(dbConfig.url);
@@ -30,6 +31,12 @@ const getDriverSignatureYear = (req) => {
return `${new Date().getFullYear()}`; return `${new Date().getFullYear()}`;
}; };
const getDriverSignatureSiteYearFolder = (req) => {
const year = getDriverSignatureYear(req);
const site = splitSite.findSiteNumber(req);
return `site${site}_${year}`;
};
const resolveSignatureExt = (mimetype = '', originalName = '') => { const resolveSignatureExt = (mimetype = '', originalName = '') => {
const safeMimetype = `${mimetype || ''}`.toLowerCase(); const safeMimetype = `${mimetype || ''}`.toLowerCase();
if (safeMimetype.includes('png')) return '.png'; if (safeMimetype.includes('png')) return '.png';
@@ -45,13 +52,15 @@ const findDriverSignatureFilePath = async (fileBaseName = '') => {
if (!fs.existsSync(DRIVER_SIGNATURE_DIR)) return null; if (!fs.existsSync(DRIVER_SIGNATURE_DIR)) return null;
const yearFolders = await readdir(DRIVER_SIGNATURE_DIR, { withFileTypes: true }); const yearFolders = await readdir(DRIVER_SIGNATURE_DIR, { withFileTypes: true });
const yearDirs = yearFolders.filter((entry) => entry.isDirectory()).map((entry) => path.join(DRIVER_SIGNATURE_DIR, entry.name)); const siteYearDirs = yearFolders
for (const yearDir of yearDirs) { .filter((entry) => entry.isDirectory() && /^site\d+_\d{4}$/.test(entry.name))
.map((entry) => path.join(DRIVER_SIGNATURE_DIR, entry.name));
for (const siteYearDir of siteYearDirs) {
const candidates = [ const candidates = [
path.join(yearDir, safeName), path.join(siteYearDir, safeName),
path.join(yearDir, `${safeName}.jpg`), path.join(siteYearDir, `${safeName}.jpg`),
path.join(yearDir, `${safeName}.jpeg`), path.join(siteYearDir, `${safeName}.jpeg`),
path.join(yearDir, `${safeName}.png`) path.join(siteYearDir, `${safeName}.png`)
]; ];
for (const candidate of candidates) { for (const candidate of candidates) {
if (fs.existsSync(candidate)) { if (fs.existsSync(candidate)) {
@@ -146,8 +155,8 @@ const uploadFiles = async (req, res) => {
if (!req.file) { if (!req.file) {
return res.status(400).send({ message: "You must select a file." }); return res.status(400).send({ message: "You must select a file." });
} }
const year = getDriverSignatureYear(req); const siteYearFolder = getDriverSignatureSiteYearFolder(req);
const targetDir = path.join(DRIVER_SIGNATURE_DIR, year); const targetDir = path.join(DRIVER_SIGNATURE_DIR, siteYearFolder);
if (!fs.existsSync(targetDir)) { if (!fs.existsSync(targetDir)) {
fs.mkdirSync(targetDir, { recursive: true }); fs.mkdirSync(targetDir, { recursive: true });
} }