merchantapi
Version:
Miva Merchant JSON API SDK
115 lines (100 loc) • 2.13 kB
JavaScript
/*
* (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;