fog-controller
Version:
Fog Controller project @ iotracks.com
74 lines (57 loc) • 1.81 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 _elementInstance = require('./elementInstance');
var _elementInstance2 = _interopRequireDefault(_elementInstance);
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
/**
* @file routing.js
* @author Zishan Iqbal
* @description This file includes a routing model used by sequalize for ORM;
*/
var Routing = _sequelize4.default.define('routing', {
id: {
type: _sequelize2.default.INTEGER,
primaryKey: true,
autoIncrement: true,
field: 'ID'
},
isNetworkConnection: {
type: _sequelize2.default.BOOLEAN,
field: 'is_network_connection'
}
}, {
// don't add the timestamp attributes (updatedAt, createdAt)
timestamps: false,
// 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
});
Routing.belongsTo(_fog2.default, {
foreignKey: 'publishing_instance_id',
as: 'publishingInstanceId'
});
Routing.belongsTo(_fog2.default, {
foreignKey: 'destination_instance_id',
as: 'destinationInstanceId'
});
Routing.belongsTo(_elementInstance2.default, {
foreignKey: 'publishing_element_id',
as: 'publishingElementId',
targetKey: 'uuid'
});
Routing.belongsTo(_elementInstance2.default, {
foreignKey: 'destination_element_id',
as: 'destinationElementId',
targetKey: 'uuid'
});
exports.default = Routing;