Added fortellis event logging.

This commit is contained in:
Patrick Fic
2025-12-16 09:36:46 -08:00
parent 19ecbad9c7
commit 7ea81465ee

View File

@@ -1,11 +1,13 @@
const path = require("path");
const fs = require("fs").promises;
require("dotenv").config({
path: path.resolve(process.cwd(), `.env.${process.env.NODE_ENV || "development"}`)
});
const client = require("../graphql-client/graphql-client").client;
// const CalcualteAllocations = require("../cdk/cdk-calculate-allocations").default;
const CreateFortellisLogEvent = require("./fortellis-logger");
const logger = require("../utils/logger");
const { INSERT_IOEVENT } = require("../graphql-client/queries");
const uuid = require("uuid").v4;
const AxiosLib = require("axios").default;
const axios = AxiosLib.create();
@@ -157,6 +159,19 @@ async function MakeFortellisCall({
console.log(`Body Contents: ${JSON.stringify(body, null, 4)}`);
}
//Write to the IOEvent Log
await WriteToIOEventLog({
apiName,
fullUrl,
logger,
socket,
useremail: socket.user?.email,
type,
bodyshopid: ""
//bodyshopid: job.bodyshop.id,
})
try {
let result;
switch (type) {
@@ -297,6 +312,45 @@ function sleep(ms) {
return new Promise((resolve) => setTimeout(resolve, ms));
}
async function WriteToIOEventLog({ apiName, type, fullUrl, bodyshopid, useremail, logger, socket }) {
try {
await client.request(INSERT_IOEVENT, {
event: {
operationname: `fortellis-${apiName}-${type}`,
//time,
//dbevent,
env: isProduction ? "production" : "test",
variables: { fullUrl, type, apiName },
bodyshopid: socket.bodyshopId,
useremail
}
});
} catch (error) {
logger.log(
"fortellis-tracking-error",
"ERROR",
socket?.user?.email,
socket?.recordid,
{
operationname: `fortellis-${apiName}-`,
//time,
//dbevent,
env: isProduction ? "production" : "test",
variables: {},
bodyshopid,
useremail,
error: error.message,
stack: error.stack
},
true
);
}
}
const isProduction = process.env.NODE_ENV === "production";
//Get requests should have the trailing slash as they are used that way in the calls.