UNPKG

merchantapi

Version:
115 lines (100 loc) 2.13 kB
/* * (c) Miva Inc <https://www.miva.com/> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ const util = require('./../util'); const models = require('./../models'); const { Model } = require('./../abstract'); /** * BranchItemVersion data model. * @class */ class BranchItemVersion extends Model { /** * BranchItemVersion Constructor. * @param {Object} data * @returns {void} */ constructor(data = {}) { super(data); if (!util.isUndefined(this.module)) { if (!util.isInstanceOf(this.module, models.Module) && util.isObject(this.module)) { this.module = new models.Module(this.module); } else if (!util.isInstanceOf(this.module, models.Module)) { throw new Error(util.format('Expected Module or an Object but got %s', typeof this.module)); } } else { this.module = {}; } } /** * Get id. * @returns {number} */ getId() { return this.getField('id', 0); } /** * Get item_id. * @returns {number} */ getItemId() { return this.getField('item_id', 0); } /** * Get user_id. * @returns {number} */ getUserId() { return this.getField('user_id', 0); } /** * Get user_name. * @returns {string} */ getUserName() { return this.getField('user_name'); } /** * Get user_icon. * @returns {string} */ getUserIcon() { return this.getField('user_icon'); } /** * Get code. * @returns {string} */ getCode() { return this.getField('code'); } /** * Get mod_code. * @returns {string} */ getModuleCode() { return this.getField('mod_code'); } /** * Get module. * @returns {Module|*} */ getModule() { return this.getField('module', null); } /** * @override */ toObject() { var ret = Object.assign(this); if (util.isInstanceOf(ret['module'], models.Module)) { ret['module'] = ret['module'].toObject(); } return ret; } } module.exports.BranchItemVersion = BranchItemVersion;