UNPKG

fog-controller

Version:

Fog Controller project @ iotracks.com

96 lines (81 loc) 2.11 kB
'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 _registry = require('./registry'); var _registry2 = _interopRequireDefault(_registry); var _user = require('./user'); var _user2 = _interopRequireDefault(_user); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } /** * @file element.js * @author Zishan Iqbal * @description This file includes a element model used by sequalize for ORM; */ var Element = _sequelize4.default.define('element', { id: { type: _sequelize2.default.INTEGER, primaryKey: true, autoIncrement: true, field: 'ID' }, name: { type: _sequelize2.default.TEXT, field: 'name' }, description: { type: _sequelize2.default.TEXT, field: 'description' }, category: { type: _sequelize2.default.TEXT, field: 'category' }, config: { type: _sequelize2.default.TEXT, field: 'config' }, registryId: { type: _sequelize2.default.BIGINT, field: 'registry_id' }, publisher: { type: _sequelize2.default.TEXT, field: 'publisher' }, diskRequired: { type: _sequelize2.default.BIGINT, field: 'diskRequired' }, ramRequired: { type: _sequelize2.default.BIGINT, field: 'ram_required' }, picture: { type: _sequelize2.default.BIGINT, field: 'picture' }, isPublic: { type: _sequelize2.default.BOOLEAN, field: 'is_public' } }, { // 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 }); Element.belongsTo(_registry2.default, { foreignKey: 'registry_id' }); Element.belongsTo(_user2.default, { foreignKey: 'user_id' }); exports.default = Element;