jsm-utilities
Version:
A utilities library.
49 lines (48 loc) • 2.68 kB
JavaScript
;
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.getServerStatusReport = void 0;
const axios_1 = __importDefault(require("axios"));
const jsm_logger_1 = __importDefault(require("jsm-logger"));
const mongoose_1 = __importDefault(require("mongoose"));
const connection_utilities_1 = require("../data/db/connection.utilities");
const logger = (0, jsm_logger_1.default)("UTILITY", "system");
const getServerStatusReport = (config) => __awaiter(void 0, void 0, void 0, function* () {
var _a, _b, _c;
logger.event(`Getting My public IP address`);
const url = "https://checkip.amazonaws.com/";
const response = yield (0, axios_1.default)(url);
logger.value(`My public IP address is: ${response.data.trim()}`);
return {
service: (_a = config === null || config === void 0 ? void 0 : config.currentService) === null || _a === void 0 ? void 0 : _a.name,
server: "UP",
db: {
connect_to: (_c = (_b = config === null || config === void 0 ? void 0 : config.currentService) === null || _b === void 0 ? void 0 : _b.db) === null || _c === void 0 ? void 0 : _c.connectTo,
status: mongoose_1.default.STATES[mongoose_1.default.connection.readyState],
connection_utl: (0, connection_utilities_1.getMongooseUri)(),
},
ip: response.data.trim(),
env: {
API_PREFIX: process.env.API_PREFIX,
NODE_ENV: process.env.NODE_ENV,
NEXT_PUBLIC_GATEWAY_URL: process.env.NEXT_PUBLIC_GATEWAY_URL,
PORT: process.env.PORT,
APPLICATION: process.env.APPLICATION,
PWD: process.env.PWD,
RXDB_NAME: process.env.RXDB_NAME,
},
config: process.env.NODE_ENV === "production" ? undefined : config,
};
});
exports.getServerStatusReport = getServerStatusReport;