Skip to content
Snippets Groups Projects
Commit 8193b2f2 authored by Renzo Beux's avatar Renzo Beux
Browse files

lint: lint fixes

parent 79791bc7
No related branches found
No related tags found
No related merge requests found
Pipeline #15421 passed with stage
in 1 minute and 20 seconds
import { Request, Response, Router } from "express";
import SheetService from "../Services/SheetService";
import {
Handler, Request, Response, Router,
} from 'express';
import SheetService from '../Services/SheetService';
const router = Router();
// const parseExcel = async (req:Request, res:Response) => {
// res.status(200).send(parseExcelService());
// };
const parseSheet = async (req:Request, res:Response) => {
const sheet:Buffer = req.body;
try{
const parsedSheet = SheetService.parseSheetService(sheet)
return res.status(200).send(parsedSheet)
} catch(error) {
return res.status(400).send({error:error})
}
}
// res.status(200).send(parseExcelService());
// };
const parseSheet: Handler = async (req: Request, res: Response) => {
const sheet: Buffer = req.body;
try {
const parsedSheet: JSON = SheetService.parseSheetService(sheet);
return res.status(200).send(parsedSheet);
} catch (error) {
return res.status(400).send({ error });
}
};
/**
* @swagger
......@@ -51,7 +49,6 @@ const router = Router();
* excelParsed:
* type: string
*/
router.post("/", parseSheet)
router.post('/', parseSheet);
export default router;
\ No newline at end of file
export default router;
/* eslint-disable no-param-reassign */
/* eslint-disable no-plusplus */
/* eslint-disable no-console */
import * as XLSX from "xlsx";
import * as XLSX from 'xlsx';
/* PRIVATE FUNCTIONS */
const ec = (r:any, c:any) => XLSX.utils.encode_cell({ r, c });
const deleteRow = (ws:any, rowIndex:any) => {
const variable = XLSX.utils.decode_range(ws["!ref"]);
for (let R = rowIndex; R < variable.e.r; ++R) {
for (let C = variable.s.c; C <= variable.e.c; ++C) {
ws[ec(R, C)] = ws[ec(R + 1, C)];
const ec = (r: number, c: number): string => XLSX.utils.encode_cell({ r, c });
const deleteRow = (ws: XLSX.WorkSheet, rowIndex: number): XLSX.WorkSheet => {
const work = ws;
if (work['!ref'] === undefined) throw new Error('An error has ocurred in deleteRow');
const variable = XLSX.utils.decode_range(work['!ref']);
for (let R = rowIndex; R < variable.e.r; R += 1) {
for (let C = variable.s.c; C <= variable.e.c; C += 1) {
work[ec(R, C)] = work[ec(R + 1, C)];
}
}
variable.e.r--;
ws["!ref"] = XLSX.utils.encode_range(variable.s, variable.e);
variable.e.r -= 1;
work['!ref'] = XLSX.utils.encode_range(variable.s, variable.e);
return work;
};
/* EXPORT FUNCTIONS */
const parseSheetService = (data:Buffer) =>{
const workbook:XLSX.WorkBook = XLSX.read(data);
let parsed;
const parseSheetService = (data: Buffer): JSON => {
const workbook: XLSX.WorkBook = XLSX.read(data);
let parsed: JSON = JSON.parse('{}');
const sheetName = workbook.SheetNames[0];
const worksheet: XLSX.WorkSheet = workbook.Sheets[sheetName];
const ref = worksheet['!ref'];
if (ref === undefined) throw new Error('An error has ocurred in parseSheetService');
const range = XLSX.utils.decode_range(ref);
range.s.c = 0; // 0 == XLSX.utils.decode_col("A")
range.e.c = 1; // 1 == XLSX.utils.decode_col("B")
const newRange = XLSX.utils.encode_range(range);
const workSheetWithRowDeleted: XLSX.WorkSheet = deleteRow(worksheet, 0);
// eslint-disable-next-line max-len
parsed = XLSX.utils.sheet_to_json(workSheetWithRowDeleted, { range: newRange }) as unknown as JSON;
workbook.SheetNames.forEach((sheetName) => {
const worksheet:XLSX.WorkSheet = workbook.Sheets[sheetName];
const ref = worksheet["!ref"]!;
const range = XLSX.utils.decode_range(ref);
range.s.c = 0; // 0 == XLSX.utils.decode_col("A")
range.e.c = 1; // 6 == XLSX.utils.decode_col("B")
const newRange = XLSX.utils.encode_range(range);
deleteRow(worksheet, 0);
parsed = XLSX.utils.sheet_to_json(worksheet, { range: newRange });
console.log(parsed);
});
return parsed;
// TODO: depends on sheet layout what to do
// let parsed:JSON;
// return parsed;
}
};
export default {
parseSheetService,
}
};
No preview for this file type
/* eslint-disable no-console */
import express, { Application } from "express";
import 'dotenv/config'
import express, { Application } from 'express';
import 'dotenv/config';
import cors from 'cors';
import swaggerJsDoc, { Options } from "swagger-jsdoc";
import swaggerUi from "swagger-ui-express";
import Routes from "./routes";
import swaggerJsDoc, { Options } from 'swagger-jsdoc';
import swaggerUi from 'swagger-ui-express';
import Routes from './routes';
const app:Application = express();
const app: Application = express();
const PORT = process.env.PORT || 8000;
// swagger init
const swaggerOptions:Options = {
const swaggerOptions: Options = {
swaggerDefinition: {
openapi: '3.0.0',
info: {
title: "REPP Rest API",
version: "1.0.0",
description: "",
servers: ["http://localhost:3000"],
title: 'REPP Rest API',
version: '1.0.0',
description: '',
servers: ['http://localhost:3000'],
},
},
apis: ['src/routes.ts'],
......@@ -28,26 +28,22 @@ const swaggerDocs = swaggerJsDoc(swaggerOptions);
app.use('/api-docs', swaggerUi.serve, swaggerUi.setup(swaggerDocs));
app.use(express.json({
limit: '50mb'
limit: '50mb',
}));
app.use(express.urlencoded({extended: false}));
app.use(express.urlencoded({ extended: false }));
app.use(cors({
"origin": "*",
"methods": "GET,HEAD,PUT,PATCH,POST,DELETE",
"preflightContinue": false,
"optionsSuccessStatus": 204
origin: '*',
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE',
preflightContinue: false,
optionsSuccessStatus: 204,
}));
function o (){
return NaN
}
app.use(express.raw({
limit: '50mb'
limit: '50mb',
}));
app.use(Routes);
app.listen(PORT, ():void => {
app.listen(PORT, (): void => {
console.log(`REPP Backend running here 👉 https://localhost:${PORT}`);
});
import { Request, Response } from "express";
import { Request, Response, Router } from 'express';
import SheetController from './Controllers/SheetController';
const { Router } = require("express");
const { parseSheet } = require("./Controllers/SheetController.ts");
const router = Router();
router.get('/', (req: Request, res: Response): void => {
res.send('Hey! This is REPP API, you can go to /api-docs to learn more!');
});
router.use("/sheetParser",SheetController)
router.use('/sheetParser', SheetController);
export default router;
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment