fog-controller
Version:
Fog Controller project @ iotracks.com
114 lines (101 loc) • 2.61 kB
JavaScript
'use strict';
Object.defineProperty(exports, "__esModule", {
value: true
});
var _sequelize = require('sequelize');
var _sequelize2 = _interopRequireDefault(_sequelize);
var _sequelize3 = require('./../utils/sequelize');
var _sequelize4 = _interopRequireDefault(_sequelize3);
var _fog = require('./fog');
var _fog2 = _interopRequireDefault(_fog);
var _element = require('./element');
var _element2 = _interopRequireDefault(_element);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @file elementInstance.js
* @author Zishan Iqbal
* @description This file includes a element_instance model used by sequalize for ORM;
*/
var ElementInstance = _sequelize4.default.define('element_instance', {
id: {
type: _sequelize2.default.INTEGER,
primaryKey: true,
autoIncrement: true,
field: 'ID'
},
uuid: {
type: _sequelize2.default.TEXT,
field: 'UUID'
},
trackId: {
type: _sequelize2.default.BIGINT,
field: 'track_id'
},
config: {
type: _sequelize2.default.TEXT,
field: 'config'
},
name: {
type: _sequelize2.default.TEXT,
field: 'name'
},
updatedBy: {
type: _sequelize2.default.BIGINT,
field: 'updated_by'
},
configLastUpdated: {
type: _sequelize2.default.BIGINT,
field: 'config_last_updated'
},
isStreamViewer: {
type: _sequelize2.default.BOOLEAN,
field: 'is_stream_viewer'
},
isDebugConsole: {
type: _sequelize2.default.BOOLEAN,
field: 'is_debug_console'
},
isManager: {
type: _sequelize2.default.BOOLEAN,
field: 'is_manager'
},
isNetwork: {
type: _sequelize2.default.BOOLEAN,
field: 'is_network'
},
registryId: {
type: _sequelize2.default.BIGINT,
field: 'registry_id'
},
rebuild: {
type: _sequelize2.default.BOOLEAN,
field: 'rebuild'
},
rootHostAccess: {
type: _sequelize2.default.BOOLEAN,
field: 'root_host_access'
},
logSize: {
type: _sequelize2.default.BIGINT,
field: 'log_size'
},
volumeMappings: {
type: _sequelize2.default.TEXT,
field: 'volume_mappings'
}
}, {
// don't add the timestamp attributes (updatedAt, createdAt)
timestamps: true,
// disable the modification of table names
freezeTableName: true,
// don't use camelcase for automatically added attributes but underscore style
// so updatedAt will be updated_at
underscored: true
});
ElementInstance.belongsTo(_element2.default, {
foreignKey: 'element_key'
});
ElementInstance.belongsTo(_fog2.default, {
foreignKey: 'iofog_uuid'
});
exports.default = ElementInstance;