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