UNPKG

@topgroup/diginext

Version:

A BUILD SERVER & CLI to deploy apps to any Kubernetes clusters.

73 lines (72 loc) 3.35 kB
"use strict"; var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; var desc = Object.getOwnPropertyDescriptor(m, k); if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) { desc = { enumerable: true, get: function() { return m[k]; } }; } Object.defineProperty(o, k2, desc); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.saveActivityLog = void 0; const class_validator_1 = require("class-validator"); const lodash_1 = require("lodash"); const app_config_1 = require("../app.config"); const ActivityService_1 = __importDefault(require("../services/ActivityService")); const saveActivityLog = async (req, res, next) => { const { DB } = await Promise.resolve().then(() => __importStar(require("../modules/api/DB"))); // Only save log for POST, PATCH & DELETE // if (req.method === "GET") return next(); const { user, workspace, ownership } = req; // console.log("saveActivityLog > body :>> ", res.body); // console.log("user :>> ", user); // console.log('role :>> ', role); if (user) { // parse & create activity dto: const activityDto = {}; activityDto.owner = user._id; activityDto.workspace = !(0, lodash_1.isEmpty)(workspace) ? workspace : user.activeWorkspace; if ((0, lodash_1.isEmpty)(activityDto.workspace)) delete activityDto.workspace; activityDto.name = user.name; activityDto.query = req.query; activityDto.method = req.method; activityDto.responseStatus = (0, class_validator_1.isJSON)(res.body) ? JSON.parse(res.body).status : undefined; activityDto.httpStatus = req.statusCode; // activityDto.response = res.body; try { const url = new URL(`${app_config_1.Config.BASE_URL}${req.originalUrl}`); const route = await DB.findOne("route", { path: url.pathname }, { ignorable: true }); activityDto.url = req.originalUrl; activityDto.route = req.path; activityDto.routeName = route === null || route === void 0 ? void 0 : route.name; } catch (e) { console.error(e); } // write activity log to database: const activitySvc = new ActivityService_1.default(ownership); const activity = await activitySvc.create(activityDto); // console.log("Saved activity info :>> ", activity._id); } // next(); }; exports.saveActivityLog = saveActivityLog;