Software: Apache/2.4.41 (Ubuntu). PHP/8.0.30 uname -a: Linux apirnd 5.4.0-204-generic #224-Ubuntu SMP Thu Dec 5 13:38:28 UTC 2024 x86_64 uid=33(www-data) gid=33(www-data) groups=33(www-data) Safe-mode: OFF (not secure) /var/www/html/space/routes/ drwxr-xr-x | |
| Viewing file: Select action/file-type: import express from 'express';
var invoice = express.Router();
import { PutObjectCommand ,ListObjectsV2Command,DeleteObjectsCommand} from "@aws-sdk/client-s3";
import { s3Client } from ".././client.js";
import puppeteer from 'puppeteer';
var bucket="jiffp";
let bucketParams;
async function generate(folder_name,invoice_no,sale_id) {
try {
const browser = await puppeteer.launch({
headless: true,
executablePath: '/usr/bin/chromium-browser',
args: ['--no-sandbox', '--disable-setuid-sandbox'], // Add necessary args
});
const page = await browser.newPage();
await page.setDefaultNavigationTimeout(0);
await page.goto('http://139.59.127.108:8080/jiff_dashboard/generate-pdf/'+sale_id, { waitUntil: 'networkidle2' });
var pdf_file=await page.pdf({
path: 'pp.pdf',
format: 'a4',
});
bucketParams = {
Bucket: bucket,
Key: folder_name+"/invoice/pdf/"+invoice_no+".pdf",
Body: pdf_file,
ContentType: "application/pdf",
ACL: "public-read",
Preview:pdf_file,
};
var re=await insert(bucketParams);
var image_file=await page.screenshot({path: 'pp.webp', fullPage: true});
// console.log(image_file);
bucketParams = {
Bucket: bucket,
Key: folder_name+"/invoice/images/"+invoice_no+".webp",
Body: image_file,
ContentType: "image/png",
ACL: "public-read",
Preview:image_file,
};
var re=await insert(bucketParams);
await browser.close();
} catch (error) {
console.log(error.message);
}
};
invoice.post('/invoice', function(req, res, next) {
let folder_name=req.body.folder_name;
let invoice_no=req.body.invoice_no;
let sale_id=req.body.sale_id;
generate(folder_name,invoice_no,sale_id);
res.locals.data={"message":"Invoice generated"};
res.status(200).json(res.locals.data);
});
export const insert = async (bucketParams) => {
try {
const data = await s3Client.send(new PutObjectCommand(bucketParams));
console.log(
"Successfully uploaded object: " +
bucketParams.Bucket +
"/" +
bucketParams.Key
);
return data;
} catch (err) {
console.log("Error ", err.message);
return "error";
}
};
export { invoice } |
:: Command execute :: | |
--[ c99shell v. 2.5 [PHP 8 Update] [24.05.2025] | Generation time: 0.005 ]-- |