UNPKG

@zohocrm/nodejs-sdk-2.0

Version:
183 lines (152 loc) 4.84 kB
const Constants = require("../../../../../../utils/util/constants").MasterModel; const SDKException = require("../exception/sdk_exception").MasterModel; class Module{ layout; displayLabel; apiName; module; id; moduleName; keyModified = new Map(); /** * The method to get the layout * @returns {Layout} An instance of Layout */ getLayout() { return this.layout; } /** * The method to set the value to layout * @param {Layout} layout An instance of Layout */ setLayout(layout) { const Layout = require("../layouts/layout").MasterModel; if((layout != null) && (!(layout instanceof Layout))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: layout EXPECTED TYPE: Layout", null, null); } this.layout = layout; this.keyModified.set("layout", 1); } /** * The method to get the displayLabel * @returns {String} A String representing the displayLabel */ getDisplayLabel() { return this.displayLabel; } /** * The method to set the value to displayLabel * @param {String} displayLabel A String representing the displayLabel */ setDisplayLabel(displayLabel) { if((displayLabel != null) && (!(Object.prototype.toString.call(displayLabel) == "[object String]"))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: displayLabel EXPECTED TYPE: String", null, null); } this.displayLabel = displayLabel; this.keyModified.set("display_label", 1); } /** * The method to get the apiName * @returns {String} A String representing the apiName */ getAPIName() { return this.apiName; } /** * The method to set the value to apiName * @param {String} apiName A String representing the apiName */ setAPIName(apiName) { if((apiName != null) && (!(Object.prototype.toString.call(apiName) == "[object String]"))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: apiName EXPECTED TYPE: String", null, null); } this.apiName = apiName; this.keyModified.set("api_name", 1); } /** * The method to get the module * @returns {String} A String representing the module */ getModule() { return this.module; } /** * The method to set the value to module * @param {String} module A String representing the module */ setModule(module) { if((module != null) && (!(Object.prototype.toString.call(module) == "[object String]"))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: module EXPECTED TYPE: String", null, null); } this.module = module; this.keyModified.set("module", 1); } /** * The method to get the id * @returns {BigInt} A BigInt representing the id */ getId() { return this.id; } /** * The method to set the value to id * @param {BigInt} id A BigInt representing the id */ setId(id) { if((id != null) && (!(Object.prototype.toString.call(id) == "[object BigInt]"))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: id EXPECTED TYPE: BigInt", null, null); } this.id = id; this.keyModified.set("id", 1); } /** * The method to get the moduleName * @returns {String} A String representing the moduleName */ getModuleName() { return this.moduleName; } /** * The method to set the value to moduleName * @param {String} moduleName A String representing the moduleName */ setModuleName(moduleName) { if((moduleName != null) && (!(Object.prototype.toString.call(moduleName) == "[object String]"))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: moduleName EXPECTED TYPE: String", null, null); } this.moduleName = moduleName; this.keyModified.set("module_name", 1); } /** * The method to check if the user has modified the given key * @param {String} key A String representing the key * @returns {number} A number representing the modification */ isKeyModified(key) { if((key != null) && (!(Object.prototype.toString.call(key) == "[object String]"))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: key EXPECTED TYPE: String", null, null); } if(this.keyModified.has(key)) { return this.keyModified.get(key); } return null; } /** * The method to mark the given key as modified * @param {String} key A String representing the key * @param {number} modification A number representing the modification */ setKeyModified(key, modification) { if((key != null) && (!(Object.prototype.toString.call(key) == "[object String]"))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: key EXPECTED TYPE: String", null, null); } if((modification != null) && (!(Object.prototype.toString.call(modification) == "[object Number]"))) { throw new SDKException(Constants.DATA_TYPE_ERROR, "KEY: modification EXPECTED TYPE: number", null, null); } this.keyModified.set(key, modification); } } module.exports = { MasterModel : Module, Module : Module }