diff --git a/server.js b/server.js index 5eebba671..39a85d2e1 100644 --- a/server.js +++ b/server.js @@ -12,10 +12,10 @@ const upload = multer(); //var enforce = require("express-sslify"); require("dotenv").config({ - path: path.resolve( - process.cwd(), - `.env.${process.env.NODE_ENV || "development"}` - ), + path: path.resolve( + process.cwd(), + `.env.${process.env.NODE_ENV || "development"}` + ), }); const app = express(); @@ -24,25 +24,25 @@ const port = process.env.PORT || 5000; const http = require("http"); const server = http.createServer(app); -const { Server } = require("socket.io"); +const {Server} = require("socket.io"); const io = new Server(server, { - path: "/ws", - cors: { - origin: [ - "https://test.imex.online", - "https://www.test.imex.online", - "http://localhost:3000", - "https://imex.online", - "https://www.imex.online", - "https://beta.test.imex.online", - "https://www.beta.test.imex.online", - "https://beta.imex.online", - "https://www.beta.imex.online", - ], - methods: ["GET", "POST"], - credentials: true, - exposedHeaders: ["set-cookie"], - }, + path: "/ws", + cors: { + origin: [ + "https://test.imex.online", + "https://www.test.imex.online", + "http://localhost:3000", + "https://imex.online", + "https://www.imex.online", + "https://beta.test.imex.online", + "https://www.beta.test.imex.online", + "https://beta.imex.online", + "https://www.beta.imex.online", + ], + methods: ["GET", "POST"], + credentials: true, + exposedHeaders: ["set-cookie"], + }, }); exports.io = io; require("./server/web-sockets/web-socket"); @@ -50,116 +50,119 @@ require("./server/web-sockets/web-socket"); // app.use(fb.validateFirebaseIdToken); app.use(compression()); app.use(cookieParser()); -app.use(bodyParser.json({ limit: "50mb" })); -app.use(bodyParser.urlencoded({ limit: "50mb", extended: true })); +app.use(bodyParser.json({limit: "50mb"})); +app.use(bodyParser.urlencoded({limit: "50mb", extended: true})); // app.use(enforce.HTTPS({ trustProtoHeader: true })); app.use( - cors({ credentials: true, exposedHeaders: ["set-cookie"] }) - // cors({ - // credentials: true, - // origin: [ - // "https://test.imex.online", - // "http://localhost:3000", - // "https://imex.online", - // ], - // }) + cors({credentials: true, exposedHeaders: ["set-cookie"]}) + // cors({ + // credentials: true, + // origin: [ + // "https://test.imex.online", + // "http://localhost:3000", + // "https://imex.online", + // ], + // }) ); + //Email Based Paths. -var sendEmail = require("./server/email/sendemail.js"); +const sendEmail = require("./server/email/sendemail.js"); app.post("/sendemail", fb.validateFirebaseIdToken, sendEmail.sendEmail); app.post("/emailbounce", bodyParser.text(), sendEmail.emailBounce); //Test route to ensure Express is responding. -app.get("/test", async function (req, res) { - const commit = require("child_process").execSync( - "git rev-parse --short HEAD" - ); - // console.log(app.get('trust proxy')); - // console.log("remoteAddress", req.socket.remoteAddress); - // console.log("X-Forwarded-For", req.header('x-forwarded-for')); - logger.log("test-api-status", "DEBUG", "api", { commit }); - // sendEmail.sendServerEmail({ - // subject: `API Check - ${process.env.NODE_ENV}`, - // text: `Server API check has come in. Remote IP: ${req.socket.remoteAddress}, X-Forwarded-For: ${req.header('x-forwarded-for')}`, - // }); - sendEmail.sendServerEmail({ - subject: `API Check - ${process.env.NODE_ENV}`, - text: `Server API check has come in.`, - }); - res.status(200).send(`OK - ${commit}`); +app.get("/test", async (req, res) => { + const commit = require("child_process").execSync( + "git rev-parse --short HEAD" + ); + // console.log(app.get('trust proxy')); + // console.log("remoteAddress", req.socket.remoteAddress); + // console.log("X-Forwarded-For", req.header('x-forwarded-for')); + logger.log("test-api-status", "DEBUG", "api", {commit}); + // sendEmail.sendServerEmail({ + // subject: `API Check - ${process.env.NODE_ENV}`, + // text: `Server API check has come in. Remote IP: ${req.socket.remoteAddress}, X-Forwarded-For: ${req.header('x-forwarded-for')}`, + // }); + sendEmail.sendServerEmail({ + subject: `API Check - ${process.env.NODE_ENV}`, + text: `Server API check has come in.`, + }); + res.status(200).send(`OK - ${commit}`); }); //Accounting Qbxml const accountQbxml = require("./server/accounting/qbxml/qbxml"); app.post( - "/accounting/qbxml/receivables", - fb.validateFirebaseIdToken, - accountQbxml.receivables + "/accounting/qbxml/receivables", + fb.validateFirebaseIdToken, + accountQbxml.receivables ); app.post( - "/accounting/qbxml/payables", - fb.validateFirebaseIdToken, - accountQbxml.payables + "/accounting/qbxml/payables", + fb.validateFirebaseIdToken, + accountQbxml.payables ); app.post( - "/accounting/qbxml/payments", - fb.validateFirebaseIdToken, - accountQbxml.payments + "/accounting/qbxml/payments", + fb.validateFirebaseIdToken, + accountQbxml.payments ); //Cloudinary Media Paths -var media = require("./server/media/media"); +const media = require("./server/media/media"); app.post( - "/media/sign", - fb.validateFirebaseIdToken, - media.createSignedUploadURL + "/media/sign", + fb.validateFirebaseIdToken, + media.createSignedUploadURL ); app.post("/media/download", fb.validateFirebaseIdToken, media.downloadFiles); app.post("/media/rename", fb.validateFirebaseIdToken, media.renameKeys); app.post("/media/delete", fb.validateFirebaseIdToken, media.deleteFiles); //SMS/Twilio Paths -var smsReceive = require("./server/sms/receive"); +const smsReceive = require("./server/sms/receive"); app.post( - "/sms/receive", - twilio.webhook({ validate: process.env.NODE_ENV === "PRODUCTION" }), - smsReceive.receive + "/sms/receive", + twilio.webhook({validate: process.env.NODE_ENV === "PRODUCTION"}), + smsReceive.receive ); -var smsSend = require("./server/sms/send"); +const smsSend = require("./server/sms/send"); app.post("/sms/send", fb.validateFirebaseIdToken, smsSend.send); -var smsStatus = require("./server/sms/status"); +const smsStatus = require("./server/sms/status"); app.post( - "/sms/status", - twilio.webhook({ validate: process.env.NODE_ENV === "PRODUCTION" }), - smsStatus.status + "/sms/status", + twilio.webhook({validate: process.env.NODE_ENV === "PRODUCTION"}), + smsStatus.status ); app.post( - "/sms/markConversationRead", - fb.validateFirebaseIdToken, - smsStatus.markConversationRead + "/sms/markConversationRead", + fb.validateFirebaseIdToken, + smsStatus.markConversationRead ); -var job = require("./server/job/job"); +const job = require("./server/job/job"); app.post("/job/totals", fb.validateFirebaseIdToken, job.totals); app.post( - "/job/statustransition", - // fb.validateFirebaseIdToken, - job.statustransition + "/job/statustransition", + // fb.validateFirebaseIdToken, + job.statustransition ); app.post("/job/totalsssu", fb.validateFirebaseIdToken, job.totalsSsu); app.post("/job/costing", fb.validateFirebaseIdToken, job.costing); +app.get("/job/lifecycle", fb.validateFirebaseIdToken, job.lifecycle); + app.post("/job/costingmulti", fb.validateFirebaseIdToken, job.costingmulti); -var partsScan = require("./server/parts-scan/parts-scan"); +const partsScan = require("./server/parts-scan/parts-scan"); app.post("/job/partsscan", fb.validateFirebaseIdToken, partsScan.partsScan); //Scheduling -var scheduling = require("./server/scheduling/scheduling-job"); +const scheduling = require("./server/scheduling/scheduling-job"); app.post("/scheduling/job", fb.validateFirebaseIdToken, scheduling.job); //Handlebars Paths for Email/Report Rendering // var renderHandlebars = require("./server/render/renderHandlebars"); // app.post("/render", fb.validateFirebaseIdToken, renderHandlebars.render); -var inlineCss = require("./server/render/inlinecss"); +const inlineCss = require("./server/render/inlinecss"); app.post("/render/inlinecss", fb.validateFirebaseIdToken, inlineCss.inlinecss); // app.post( @@ -169,37 +172,37 @@ app.post("/render/inlinecss", fb.validateFirebaseIdToken, inlineCss.inlinecss); // ); app.post("/notifications/subscribe", fb.validateFirebaseIdToken, fb.subscribe); app.post( - "/notifications/unsubscribe", - fb.validateFirebaseIdToken, - fb.unsubscribe + "/notifications/unsubscribe", + fb.validateFirebaseIdToken, + fb.unsubscribe ); app.post("/adm/updateuser", fb.validateFirebaseIdToken, fb.updateUser); app.post("/adm/getuser", fb.validateFirebaseIdToken, fb.getUser); app.post("/adm/createuser", fb.validateFirebaseIdToken, fb.createUser); const adm = require("./server/admin/adminops"); app.post( - "/adm/createassociation", - fb.validateFirebaseIdToken, - fb.validateAdmin, - adm.createAssociation + "/adm/createassociation", + fb.validateFirebaseIdToken, + fb.validateAdmin, + adm.createAssociation ); app.post( - "/adm/createshop", - fb.validateFirebaseIdToken, - fb.validateAdmin, - adm.createShop + "/adm/createshop", + fb.validateFirebaseIdToken, + fb.validateAdmin, + adm.createShop ); app.post( - "/adm/updateshop", - fb.validateFirebaseIdToken, - fb.validateAdmin, - adm.updateShop + "/adm/updateshop", + fb.validateFirebaseIdToken, + fb.validateAdmin, + adm.updateShop ); app.post( - "/adm/updatecounter", - fb.validateFirebaseIdToken, - fb.validateAdmin, - adm.updateCounter + "/adm/updatecounter", + fb.validateFirebaseIdToken, + fb.validateAdmin, + adm.updateCounter ); //Stripe Processing @@ -212,88 +215,88 @@ app.post( // ); //Tech Console -var tech = require("./server/tech/tech"); +const tech = require("./server/tech/tech"); app.post("/tech/login", fb.validateFirebaseIdToken, tech.techLogin); -var utils = require("./server/utils/utils"); +const utils = require("./server/utils/utils"); app.post("/utils/time", utils.servertime); app.post("/utils/jsr", fb.validateFirebaseIdToken, utils.jsrAuth); -var qbo = require("./server/accounting/qbo/qbo"); +const qbo = require("./server/accounting/qbo/qbo"); app.post("/qbo/authorize", fb.validateFirebaseIdToken, qbo.authorize); app.get("/qbo/callback", qbo.callback); app.post("/qbo/receivables", fb.validateFirebaseIdToken, qbo.receivables); app.post("/qbo/payables", fb.validateFirebaseIdToken, qbo.payables); app.post("/qbo/payments", fb.validateFirebaseIdToken, qbo.payments); -var data = require("./server/data/data"); +const data = require("./server/data/data"); app.post("/data/ah", data.autohouse); app.post("/data/cc", data.claimscorp); app.post("/data/kaizen", data.kaizen); app.post("/record-handler/arms", data.arms); -var taskHandler = require("./server/tasks/tasks"); +const taskHandler = require("./server/tasks/tasks"); app.post("/taskHandler", fb.validateFirebaseIdToken, taskHandler.taskHandler); -var mixdataUpload = require("./server/mixdata/mixdata"); +const mixdataUpload = require("./server/mixdata/mixdata"); app.post( - "/mixdata/upload", - fb.validateFirebaseIdToken, - upload.any(), - mixdataUpload.mixdataUpload + "/mixdata/upload", + fb.validateFirebaseIdToken, + upload.any(), + mixdataUpload.mixdataUpload ); -var intellipay = require("./server/intellipay/intellipay"); +const intellipay = require("./server/intellipay/intellipay"); app.post( - "/intellipay/lightbox_credentials", - fb.validateFirebaseIdToken, - intellipay.lightbox_credentials + "/intellipay/lightbox_credentials", + fb.validateFirebaseIdToken, + intellipay.lightbox_credentials ); app.post( - "/intellipay/payment_refund", - fb.validateFirebaseIdToken, - intellipay.payment_refund + "/intellipay/payment_refund", + fb.validateFirebaseIdToken, + intellipay.payment_refund ); app.post( - "/intellipay/generate_payment_url", - fb.validateFirebaseIdToken, - intellipay.generate_payment_url + "/intellipay/generate_payment_url", + fb.validateFirebaseIdToken, + intellipay.generate_payment_url ); app.post( - "/intellipay/postback", - // fb.validateFirebaseIdToken, - intellipay.postback + "/intellipay/postback", + // fb.validateFirebaseIdToken, + intellipay.postback ); -var ioevent = require("./server/ioevent/ioevent"); +const ioevent = require("./server/ioevent/ioevent"); app.post("/ioevent", ioevent.default); // app.post("/newlog", (req, res) => { // const { message, type, user, record, object } = req.body; // logger.log(message, type, user, record, object); // }); -var os = require("./server/opensearch/os-handler"); +const os = require("./server/opensearch/os-handler"); app.post( - "/opensearch", //fb.validateFirebaseIdToken, - os.handler + "/opensearch", //fb.validateFirebaseIdToken, + os.handler ); app.post("/search", fb.validateFirebaseIdToken, os.search); -var cdkGetMake = require("./server/cdk/cdk-get-makes"); +const cdkGetMake = require("./server/cdk/cdk-get-makes"); app.post("/cdk/getvehicles", fb.validateFirebaseIdToken, cdkGetMake.default); -app.get("/", async function (req, res) { - res.status(200).send("Access Forbidden."); +app.get("/", async (req, res) => { + res.status(200).send("Access Forbidden."); }); server.listen(port, (error) => { - if (error) throw error; - logger.log( - `[${process.env.NODE_ENV || "DEVELOPMENT"}] Server running on port ${port}`, - "INFO", - "api" - ); + if (error) throw error; + logger.log( + `[${process.env.NODE_ENV || "DEVELOPMENT"}] Server running on port ${port}`, + "INFO", + "api" + ); }); diff --git a/server/job/job-lifecycle.js b/server/job/job-lifecycle.js new file mode 100644 index 000000000..3834bf1cb --- /dev/null +++ b/server/job/job-lifecycle.js @@ -0,0 +1,5 @@ +const jobLifecycle = (req, res) => { + return res.status(200).send("jobLifecycle"); +}; + +module.exports = jobLifecycle; \ No newline at end of file diff --git a/server/job/job.js b/server/job/job.js index e0fff1695..f21cbf4f4 100644 --- a/server/job/job.js +++ b/server/job/job.js @@ -3,3 +3,4 @@ exports.totalsSsu = require("./job-totals").totalsSsu; exports.costing = require("./job-costing").JobCosting; exports.costingmulti = require("./job-costing").JobCostingMulti; exports.statustransition = require("./job-status-transition").statustransition; +exports.lifecycle = require('./job-lifecycle'); \ No newline at end of file