rosettajs_dist_lib_rosetta_drapi_API.js

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.rosettaDRAPIObject = exports.rosettaServicesEntry = exports.rosettaServicesMap = exports.serviceType = void 0;
exports.getDefaultServiceType = getDefaultServiceType;
exports.getServiceType = getServiceType;
exports.setDefaultServiceType = setDefaultServiceType;
exports.setDefaultServiceTypeAsDRAPI = setDefaultServiceTypeAsDRAPI;
exports.isCurrentServiceTypeDRAPI = isCurrentServiceTypeDRAPI;
exports.rosettajsLogger = rosettajsLogger;
exports.setCurrentServerDatabase = setCurrentServerDatabase;
exports.getCurrentServerDatabase = getCurrentServerDatabase;
exports.setDominoAccessObject = setDominoAccessObject;
exports.getDominoAccessObject = getDominoAccessObject;
exports.createDominoAccessObject = createDominoAccessObject;
exports.getCurrentScopeName = getCurrentScopeName;
exports.setActionEventObject = setActionEventObject;
exports.getActionEventObject = getActionEventObject;
const tslib_1 = require("tslib");
/***************************************************
* Licensed Materials - Property of HCL.
* (c)Copyright HCL America, Inc. 2023-2024
****************************************************/
const domino_rest_sdk_node_1 = require("@hcl-software/domino-rest-sdk-node");
const loglevel_1 = tslib_1.__importDefault(require("loglevel"));
/**
 * @file Rosetta API - DRAPI
 * @module rosetta-api-drapi
 */
exports.serviceType = {
    _drapi: "drapi",
    _default: "drapi"
};
/**
 * getDefaultServiceType
 * @returns {string} the default service type currently set
 */
function getDefaultServiceType() { return exports.serviceType._default; }
/**
 * getServiceType
 * @param {string} scopeName for the DRAPI Service
 * @returns {string} the service type for the specified service
 */
function getServiceType(scopeName) {
    let serviceEntry = exports.rosettaServicesMap.get(scopeName);
    if (!scopeName || !serviceEntry) {
        return "";
    }
    return serviceEntry._serviceType;
}
/**
 * Set default service type.
 * @returns {string} The default service type
 */
function setDefaultServiceType(type) {
    exports.serviceType._default = type;
    return getDefaultServiceType();
}
/**
 * Set default service type to drapi service.
 * @returns {string} The default service type
 */
function setDefaultServiceTypeAsDRAPI() {
    exports.serviceType._default = exports.serviceType._drapi;
    return getDefaultServiceType();
}
/**
* Is current service type drapi service.
* @returns {boolean} True if the current service type is set to drapi service;
*     false otherwise
*/
function isCurrentServiceTypeDRAPI() {
    return getDefaultServiceType() === exports.serviceType._drapi;
}
/**
* rosettajsLogger
* @returns {*} rosettajs logger
*/
function rosettajsLogger() {
    const logger = loglevel_1.default.getLogger("rosettajs");
    return logger;
}
/**
 * Rosetta DRAPI Context Data Support
 */
/**
 * Top level Map to store all Services
 */
exports.rosettaServicesMap = new Map();
/**
 * Entry class for a DRAPI Service
 */
class rosettaServicesEntry {
    constructor(dominoAccess, scope, type) {
        this._dominoAccess = dominoAccess;
        this._scopeName = scope;
        this._nsfPath = "";
        this._serviceType = type;
        this._defaultView = "";
        this._objectNames = [];
        this._objects = new Map();
        this._metadata = [];
        this._lastError = new Error;
    }
}
exports.rosettaServicesEntry = rosettaServicesEntry;
/**
 * Class for a DRAPI Object - View or Form
 *
 */
class rosettaDRAPIObject {
    constructor(name) {
        this._name = name;
        this._documents = [];
        this._document = {};
        this._allDocsAvailable = false;
    }
}
exports.rosettaDRAPIObject = rosettaDRAPIObject;
/**
* Current active Server:Database
*/
let currentServerDatabase = ""; // Used when no ServerDatabase is specified in api
/**
* Domino Access Object
*/
let dominoAccessObject = {}; // Used when no ServerDatabase is specified in api
function setCurrentServerDatabase(serverDatabase) {
    currentServerDatabase = serverDatabase;
}
function getCurrentServerDatabase() {
    return currentServerDatabase;
}
function setDominoAccessObject(dominoAccess) {
    dominoAccessObject = dominoAccess;
}
function getDominoAccessObject() {
    return dominoAccessObject;
}
function createDominoAccessObject(credentials) {
    dominoAccessObject = new domino_rest_sdk_node_1.DominoAccess(credentials);
    return dominoAccessObject;
}
function getCurrentScopeName() {
    let currentScopeName = Array.isArray(currentServerDatabase) ? currentServerDatabase : ["", currentServerDatabase];
    return (!currentScopeName[1] ? "" : currentScopeName[1]);
}
/**
* Action Event Object
*/
let actionEventObject = {};
function setActionEventObject(eventobject) {
    actionEventObject = eventobject;
}
function getActionEventObject() {
    return actionEventObject;
}
//# sourceMappingURL=API.js.map