const { onRequest } = require("firebase-functions/v2/https"); const logger = require("firebase-functions/logger"); const functions = require("firebase-functions"); const admin = require("firebase-admin"); const moment = require('moment'); const fs = require('fs'); const csv = require('csv-parser'); const html_to_pdf = require('html-pdf-node'); admin.initializeApp(); exports.registerUser = functions.region("asia-south1").https.onRequest(async (req, res) => { res.set('Access-Control-Allow-Origin', "*") res.set('Access-Control-Allow-Methods', 'GET, POST'); if (req.method === "OPTIONS") { // stop preflight requests here res.set("Access-Control-Allow-Headers", "Content-Type, x-client"); res.status(204).send(''); return; } try { const token = "e16a1bd15af2ee640f5a7a18c8d8333f5f01f7c66e003bbc21ee52870f1bce27"; logger.info(`User-Agent ${req.get("User-Agent")}`); logger.info(`token ${req.get("x-client")}`); if (req.get("x-client") !== token) { res.json({ status: "403", message: "auth error", result: "true" }); } else { const { body } = req; const { _id } = body; logger.info(`_id ${_id}`); await admin .firestore() .collection("patientData") .add(Object.assign(Object.assign({}, body), { createdAt: moment().utcOffset("+05:30").format("YYYY-MM-DD HH:mm:ss") })) res.json({ status: "200" }); } } catch (err) { logger.info(`error ${err}`); res.json({ status: "400", message: "some error.", result: "true" }); } }); exports.addBloodTest = functions.region("asia-south1").https.onRequest(async (req, res) => { res.set('Access-Control-Allow-Origin', "*") res.set('Access-Control-Allow-Methods', 'GET, POST'); if (req.method === "OPTIONS") { // stop preflight requests here res.set("Access-Control-Allow-Headers", "Content-Type, x-client"); res.status(204).send(''); return; } try { const token = "e16a1bd15af2ee640f5a7a18c8d8333f5f01f7c66e003bbc21ee52870f1bce27"; logger.info(`User-Agent ${req.get("User-Agent")}`); logger.info(`token ${req.get("x-client")}`); if (req.get("x-client") !== token) { res.json({ status: "403", message: "auth error", result: "true" }); } else { const { body } = req; const { _id } = body; logger.info(`_id ${_id}`); await admin .firestore() .collection("testData") .add(Object.assign(Object.assign({}, body), { createdAt: moment().utcOffset("+05:30").format("YYYY-MM-DD HH:mm:ss") })) res.json({ status: "200" }); } } catch (err) { logger.info(`error ${err}`); res.json({ status: "400", message: "some error.", result: "true" }); } }); exports.reportDownload = functions.region("asia-south1").https.onRequest(async (req, res) => { res.set('Access-Control-Allow-Origin', "*") res.set('Access-Control-Allow-Methods', 'GET, POST'); if (req.method === "OPTIONS") { // stop preflight requests here res.set("Access-Control-Allow-Headers", "Content-Type, x-client"); res.status(204).send(''); return; } try { const token = "e16a1bd15af2ee640f5a7a18c8d8333f5f01f7c66e003bbc21ee52870f1bce27"; logger.info(`User-Agent ${req.get("User-Agent")}`); logger.info(`token ${req.get("x-client")}`); if (req.get("x-client") !== token) { res.json({ status: "403", message: "auth error", result: "true" }); } else { const { body } = req; const { data } = body; logger.info(`_id ${_id}`); const fileName = `${data["_id"]}.pdf`; // await makePdf(); res.sendFile(fileName, options, function (err) { if (err) { next(err); } else { console.log('Sent:', fileName); } }); } } catch (err) { logger.info(`error ${err}`); res.json({ status: "400", message: "some error.", result: "true" }); } });