HEX
Server: Apache
System: Linux srv4.garantili.com.tr 4.18.0-477.21.1.lve.1.el8.x86_64 #1 SMP Tue Sep 5 23:08:35 UTC 2023 x86_64
User: ekspardev (1006)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //home/ekspardev/nokta-logo-entegrasyon/app.js
const express = require('express');
const multer = require('multer');
const path = require('path');
require('dotenv').config({ path: path.resolve(__dirname, './.prod.env') });

const { convertXmlInvoiceNumbers, convertXmlInvoiceNumbersForSales } = require('./convert-xml.controller');

const app = express();
const upload = multer({ dest: 'uploads/' });

app.use(express.static('public'));

app.get('/', (req, res) => {
    res.json({ messageBuy: null, errorBuy: null, messageSales: null, errorSales: null });
});

app.post('/convert', upload.single('xmlFile'), (req, res) => {
    if (!req.file) {
        return res.json({ messageBuy: null, errorBuy: 'Dosya yüklenmedi', messageSales: null, errorSales: 'Dosya yüklenmedi' });
    }

    const inputFile = req.file.path;
    const islemTuru = req.body.islemTuru;
    let outputFile, convertFunction, message, error, downloadLink;

    if (islemTuru === 'alis') {
        outputFile = path.join(__dirname, 'public', 'converted-alis.xml');
        convertFunction = convertXmlInvoiceNumbers;
        message = 'messageBuy';
        error = 'errorBuy';
        downloadLink = process.env.RETURN_URL + 'download-buy';
    } else {
        outputFile = path.join(__dirname, 'public', 'converted-satis.xml');
        convertFunction = convertXmlInvoiceNumbersForSales;
        message = 'messageSales';
        error = 'errorSales';
        downloadLink = process.env.RETURN_URL + 'download-sales';
    }

    try {
        convertFunction(inputFile, outputFile);
        res.json({
            success: true, message: 'Dönüştürme başarılı', islemTuru, downloadLink
        });
    } catch (err) {
        res.json({ success: false, error: err.message, islemTuru });
    }
});

app.get('/download-buy', (req, res) => {
    const file = path.join(__dirname, 'public', 'converted-alis.xml');
    res.download(file);
});

app.get('/download-sales', (req, res) => {
    const file = path.join(__dirname, 'public', 'converted-satis.xml');
    res.download(file);
});

const PORT = process.env.PORT || null;
app.listen(PORT);