fix eslint issues (quotes)

This commit is contained in:
Selim Mustafaev 2024-12-29 22:05:09 +03:00
parent 10501b41a4
commit e79f6a398b

View File

@ -1,23 +1,23 @@
import { Router } from "express"; import { Router } from 'express';
import Jwt from "jsonwebtoken"; import Jwt from 'jsonwebtoken';
import cors from "cors"; import cors from 'cors';
import AvtocodProvider from "../data_providers/avtocod.js"; import AvtocodProvider from '../data_providers/avtocod.js';
import Vin01Provider from "../data_providers/vin01.js"; import Vin01Provider from '../data_providers/vin01.js';
import Constants from "../data_providers/constants.js"; import Constants from '../data_providers/constants.js';
import RsaProvider from "../data_providers/rsa.js"; import RsaProvider from '../data_providers/rsa.js';
import NomerogramProvider from "../data_providers/nomerogram.js"; import NomerogramProvider from '../data_providers/nomerogram.js';
import Utils from "../utils/utils.js"; import Utils from '../utils/utils.js';
import { ObjectId } from "mongodb"; import { ObjectId } from 'mongodb';
import DebugInfo from "../models/DebugInfo.js"; import DebugInfo from '../models/DebugInfo.js';
import Vehicle from "../models/vehicle.js"; import Vehicle from '../models/vehicle.js';
import { TGProvider } from "../data_providers/tgprovider.js"; import { TGProvider } from '../data_providers/tgprovider.js';
const router = Router(); const router = Router();
const makeError = (error) => ({ success: false, error }); const makeError = (error) => ({ success: false, error });
router.post("/check", async (req, res) => { router.post('/check', async (req, res) => {
const number = req.body.number.replace(/ /g, "").toUpperCase(); const number = req.body.number.replace(/ /g, '').toUpperCase();
const { googleIdToken, forceUpdate, notes, events } = req.body; const { googleIdToken, forceUpdate, notes, events } = req.body;
const { email } = req.user; const { email } = req.user;
@ -25,10 +25,10 @@ router.post("/check", async (req, res) => {
`=== checking number: ${number} ====================================`, `=== checking number: ${number} ====================================`,
); );
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let vehicles = await collection.find({ number }).toArray(); let vehicles = await collection.find({ number }).toArray();
if (vehicles.length > 0 && !forceUpdate) { if (vehicles.length > 0 && !forceUpdate) {
console.log("vehicle found in database"); console.log('vehicle found in database');
let updatedDate = Date.now(); let updatedDate = Date.now();
if (notes) { if (notes) {
@ -57,18 +57,15 @@ router.post("/check", async (req, res) => {
let all = [autocodPromise]; let all = [autocodPromise];
if (googleIdToken) { if (googleIdToken) {
let vin01Promise = Vin01Provider.getReport( let vin01Promise = Vin01Provider.getReport(number, googleIdToken);
number,
googleIdToken,
);
all.push(vin01Promise); all.push(vin01Promise);
} else { } else {
all.push( all.push(
Promise.reject({ Promise.reject({
debugInfo: { debugInfo: {
vin01vin: DebugInfo.fromError("No auth token"), vin01vin: DebugInfo.fromError('No auth token'),
vin01history: DebugInfo.fromError("No auth token"), vin01history: DebugInfo.fromError('No auth token'),
vin01base: DebugInfo.fromError("No auth token"), vin01base: DebugInfo.fromError('No auth token'),
}, },
}), }),
); );
@ -79,12 +76,12 @@ router.post("/check", async (req, res) => {
let [autocod, vin01, nomerogram] = await Promise.allSettled(all); let [autocod, vin01, nomerogram] = await Promise.allSettled(all);
let vehicle = null; let vehicle = null;
if (autocod.status == "rejected" && vin01.status == "rejected") { if (autocod.status == 'rejected' && vin01.status == 'rejected') {
throw autocod.reason; throw autocod.reason;
} else if (vin01.status == "rejected") { } else if (vin01.status == 'rejected') {
vehicle = autocod.value; vehicle = autocod.value;
Object.assign(vehicle.debugInfo, vin01.reason.debugInfo); Object.assign(vehicle.debugInfo, vin01.reason.debugInfo);
} else if (autocod.status == "rejected") { } else if (autocod.status == 'rejected') {
vehicle = vin01.value; vehicle = vin01.value;
Object.assign(vehicle.debugInfo, autocod.reason.debugInfo); Object.assign(vehicle.debugInfo, autocod.reason.debugInfo);
if (!vehicle.brand?.name?.normalized) { if (!vehicle.brand?.name?.normalized) {
@ -95,7 +92,7 @@ router.post("/check", async (req, res) => {
let vinMatch = false; let vinMatch = false;
if (vin01.value.vin1 && vehicle.vin1) { if (vin01.value.vin1 && vehicle.vin1) {
vinMatch = vin01.value.vin1.match( vinMatch = vin01.value.vin1.match(
RegExp(vehicle.vin1.replace(/\*/g, ".")), RegExp(vehicle.vin1.replace(/\*/g, '.')),
); );
} }
@ -115,7 +112,7 @@ router.post("/check", async (req, res) => {
Object.assign(vehicle.debugInfo, vin01.value.debugInfo); Object.assign(vehicle.debugInfo, vin01.value.debugInfo);
} }
if (nomerogram.status == "fulfilled") { if (nomerogram.status == 'fulfilled') {
let photos = nomerogram.value; let photos = nomerogram.value;
vehicle.photos = vehicle.photos?.concat(photos) ?? photos; vehicle.photos = vehicle.photos?.concat(photos) ?? photos;
Object.assign(vehicle.debugInfo, { Object.assign(vehicle.debugInfo, {
@ -154,7 +151,7 @@ router.post("/check", async (req, res) => {
} }
}); });
router.get("/", async (req, res) => { router.get('/', async (req, res) => {
const { email } = req.user; const { email } = req.user;
const { pageToken, sortBy, sortOrder } = req.query; const { pageToken, sortBy, sortOrder } = req.query;
@ -165,14 +162,14 @@ router.get("/", async (req, res) => {
try { try {
let finalQuery = Utils.makeVehiclesSearchQuery(req.query, email); let finalQuery = Utils.makeVehiclesSearchQuery(req.query, email);
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let isAscending = sortOrder == "ascending"; let isAscending = sortOrder == 'ascending';
let response = {}; let response = {};
if (!pageToken) { if (!pageToken) {
response.count = await collection.countDocuments(finalQuery); response.count = await collection.countDocuments(finalQuery);
} else { } else {
let compareOperator = isAscending ? "$gt" : "$lt"; let compareOperator = isAscending ? '$gt' : '$lt';
let lastVehicle = await collection.findOne({ let lastVehicle = await collection.findOne({
_id: new ObjectId(pageToken), _id: new ObjectId(pageToken),
}); });
@ -197,21 +194,21 @@ router.get("/", async (req, res) => {
res.send({ success: true, data: response }); res.send({ success: true, data: response });
} catch (ex) { } catch (ex) {
res.send(makeError("Error reading vehicles from DB")); res.send(makeError('Error reading vehicles from DB'));
console.error(ex); console.error(ex);
} }
}); });
router.get("/report", async (req, res) => { router.get('/report', async (req, res) => {
const { number } = req.query; const { number } = req.query;
try { try {
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let vehicle = await collection.findOne({ number }); let vehicle = await collection.findOne({ number });
if (vehicle) { if (vehicle) {
res.send({ success: true, data: vehicle }); res.send({ success: true, data: vehicle });
} else { } else {
res.send(makeError("Vehicle not found")); res.send(makeError('Vehicle not found'));
} }
} catch (ex) { } catch (ex) {
res.send(makeError(ex.message)); res.send(makeError(ex.message));
@ -219,74 +216,72 @@ router.get("/report", async (req, res) => {
} }
}); });
router.get("/brands", async (req, res) => { router.get('/brands', async (req, res) => {
try { try {
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let brands = await collection.distinct("brand.name.normalized"); let brands = await collection.distinct('brand.name.normalized');
res.send({ success: true, data: brands.filter(Boolean) }); res.send({ success: true, data: brands.filter(Boolean) });
} catch (ex) { } catch (ex) {
res.send(makeError("Error reading vehicle brands from DB")); res.send(makeError('Error reading vehicle brands from DB'));
console.error(ex); console.error(ex);
} }
}); });
router.get("/models", async (req, res) => { router.get('/models', async (req, res) => {
try { try {
const { brand } = req.query; const { brand } = req.query;
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let models = await collection.distinct("model.name.normalized", { let models = await collection.distinct('model.name.normalized', {
"brand.name.normalized": brand, 'brand.name.normalized': brand,
}); });
res.send({ success: true, data: models.filter(Boolean) }); res.send({ success: true, data: models.filter(Boolean) });
} catch (ex) { } catch (ex) {
res.send(makeError("Error reading vehicle models from DB")); res.send(makeError('Error reading vehicle models from DB'));
console.error(ex); console.error(ex);
} }
}); });
router.get("/colors", async (req, res) => { router.get('/colors', async (req, res) => {
try { try {
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let colors = await collection.distinct("color"); let colors = await collection.distinct('color');
res.send({ success: true, data: colors.filter(Boolean) }); res.send({ success: true, data: colors.filter(Boolean) });
} catch (ex) { } catch (ex) {
res.send(makeError("Error reading vehicle colors from DB")); res.send(makeError('Error reading vehicle colors from DB'));
console.error(ex); console.error(ex);
} }
}); });
router.get("/regions", (req, res) => { router.get('/regions', (req, res) => {
res.send({ success: true, data: Constants.regions }); res.send({ success: true, data: Constants.regions });
}); });
router.get("/years", async (req, res) => { router.get('/years', async (req, res) => {
try { try {
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let colors = await collection.distinct("year"); let colors = await collection.distinct('year');
res.send({ success: true, data: colors.filter(Boolean) }); res.send({ success: true, data: colors.filter(Boolean) });
} catch (ex) { } catch (ex) {
res.send(makeError("Error reading vehicle years from DB")); res.send(makeError('Error reading vehicle years from DB'));
console.error(ex); console.error(ex);
} }
}); });
router.get( router.get(
"/shared_report", '/shared_report',
cors({ origin: "https://auto.aliencat.pro" }), cors({ origin: 'https://auto.aliencat.pro' }),
async (req, res) => { async (req, res) => {
try { try {
let { plateNumber } = Jwt.verify( let { plateNumber } = Jwt.verify(
req.query.token, req.query.token,
process.env.JWT_SECRET_SHARED_REPORT, process.env.JWT_SECRET_SHARED_REPORT,
); );
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let vehicles = await collection let vehicles = await collection.find({ number: plateNumber }).toArray();
.find({ number: plateNumber })
.toArray();
if (vehicles.length > 0) { if (vehicles.length > 0) {
res.send({ success: true, data: vehicles[0] }); res.send({ success: true, data: vehicles[0] });
} else { } else {
res.send(makeError("Vehicle not found")); res.send(makeError('Vehicle not found'));
} }
} catch (ex) { } catch (ex) {
res.send(makeError(ex.message)); res.send(makeError(ex.message));
@ -295,13 +290,13 @@ router.get(
}, },
); );
router.post("/checkOsago", async (req, res) => { router.post('/checkOsago', async (req, res) => {
try { try {
const { number, vin, date, token } = req.body; const { number, vin, date, token } = req.body;
let result = await RsaProvider.checkOsago(number, vin, date, token); let result = await RsaProvider.checkOsago(number, vin, date, token);
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let filter = number ? { number } : { vin1: vin }; let filter = number ? { number } : { vin1: vin };
await collection.updateOne(filter, { await collection.updateOne(filter, {
$push: { osagoContracts: result }, $push: { osagoContracts: result },
@ -310,9 +305,9 @@ router.post("/checkOsago", async (req, res) => {
if (vehicle) { if (vehicle) {
res.send({ success: true, data: vehicle }); res.send({ success: true, data: vehicle });
} else { } else {
res.status(204).send( res
makeError("There is no vehicle with such plate number or VIN"), .status(204)
); .send(makeError('There is no vehicle with such plate number or VIN'));
} }
} catch (ex) { } catch (ex) {
res.send(makeError(ex.message)); res.send(makeError(ex.message));
@ -320,11 +315,11 @@ router.post("/checkOsago", async (req, res) => {
} }
}); });
router.post("/checkGbTg", async (req, res) => { router.post('/checkGbTg', async (req, res) => {
let tgProvider = null; let tgProvider = null;
try { try {
const number = req.body.number.replace(/ /g, "").toUpperCase(); const number = req.body.number.replace(/ /g, '').toUpperCase();
const token = req.body.token; const token = req.body.token;
tgProvider = new TGProvider(); tgProvider = new TGProvider();
@ -333,15 +328,15 @@ router.post("/checkGbTg", async (req, res) => {
await tgProvider.close(); await tgProvider.close();
if (!report?.generalInfo && !report?.insurance) { if (!report?.generalInfo && !report?.insurance) {
res.send(makeError("No data found")); res.send(makeError('No data found'));
return; return;
} }
let collection = req.db.collection("vehicles"); let collection = req.db.collection('vehicles');
let vehicle = await collection.findOne({ number }); let vehicle = await collection.findOne({ number });
if (vehicle) { if (vehicle) {
let vinRegex = RegExp(vehicle.vin1.replace(/\*/g, ".")); let vinRegex = RegExp(vehicle.vin1.replace(/\*/g, '.'));
if (report?.generalInfo?.vin?.match(vinRegex)) { if (report?.generalInfo?.vin?.match(vinRegex)) {
let updatedFields = { let updatedFields = {
@ -375,10 +370,10 @@ router.post("/checkGbTg", async (req, res) => {
data: Object.assign(vehicle, updatedFields), data: Object.assign(vehicle, updatedFields),
}); });
} else { } else {
res.send(makeError("Vehicle doesn't match")); res.send(makeError('Vehicle doesn\'t match'));
} }
} else { } else {
res.send(makeError("Vehicle not found")); res.send(makeError('Vehicle not found'));
} }
} catch (ex) { } catch (ex) {
res.send(makeError(ex.message)); res.send(makeError(ex.message));