Files
api/dist/controller/Carrito.js
T
2020-09-11 10:24:48 -05:00

83 lines
2.8 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
const Papa = require("papaparse");
const fs = require("fs");
const Carrito_1 = require("../entity/Carrito");
const typeorm_1 = require("typeorm");
const Tipo_1 = require("../entity/Tipo");
const Equipo_1 = require("../entity/Equipo");
class CarritoController {
async carga(req, res) {
const cargaFile = req.file;
if (!cargaFile) {
res.status(400).send({
status: false,
data: 'No file is selected.'
});
return false;
}
const fileReadResult = fs.readFileSync(cargaFile.path, 'utf-8');
const parseResult = await Papa.parse(fileReadResult, {
header: true
});
console.log(parseResult);
let data = {};
try {
for (const i in parseResult.data) {
data = parseResult.data[i];
if (!data.kiosko ||
!data.alias_carrito ||
!data.no_serie ||
!data.no_inventario) {
continue;
}
console.log(data);
await this.saveCarrito(data);
}
}
catch (err) {
res.status(400).send(err.message);
return;
}
res.status(200).send('okay');
}
async saveCarrito(data) {
const carritoRepository = typeorm_1.getRepository(Carrito_1.Carrito);
const tipoRepository = typeorm_1.getRepository(Tipo_1.Tipo);
const equipoRepository = typeorm_1.getRepository(Equipo_1.Equipo);
const tipo = new Tipo_1.Tipo();
const carrito = new Carrito_1.Carrito();
const equipo = new Equipo_1.Equipo();
const tipoFind = await tipoRepository.findOne({
where: {
nombre: data.tipo
}
});
if (!tipoFind) {
tipo.nombre = data.tipo;
}
const carritoFind = await carritoRepository.findOne({
where: {
kiosko: data.kiosko,
alias: data.alias_carrito,
tipo: tipoFind
}
});
if (!carritoFind) {
carrito.kiosko = data.kiosko;
carrito.alias = data.alias_carrito;
carrito.tipo = !tipoFind ? tipo : tipoFind;
}
equipo.alias = data.equipo_carrito;
equipo.noSerie = data.no_serie;
equipo.noInventario = data.no_inventario;
equipo.carrito = !carritoFind ? carrito : carritoFind;
if (!tipoFind)
await tipoRepository.save(tipo);
if (!carritoFind)
await carritoRepository.save(carrito);
await equipoRepository.save(equipo);
}
}
exports.CarritoController = CarritoController;
//# sourceMappingURL=Carrito.js.map