Multimedias -> campo virtual
This commit is contained in:
parent
d0901c42a9
commit
c6eadc5d21
60
modules/multimedia/multimedias.model.js
Normal file
60
modules/multimedia/multimedias.model.js
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
'use strict';
|
||||||
|
|
||||||
|
module.exports = function (sequelize, DataTypes) {
|
||||||
|
const Multimedias = sequelize.define('Multimedias', {
|
||||||
|
id: {
|
||||||
|
type: DataTypes.UUID,
|
||||||
|
defaultValue: DataTypes.UUIDV4,
|
||||||
|
primaryKey: true,
|
||||||
|
},
|
||||||
|
entityId: {
|
||||||
|
type: DataTypes.UUID,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
entityName: {
|
||||||
|
type: DataTypes.STRING,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
type: {
|
||||||
|
type: DataTypes.STRING,
|
||||||
|
allowNull: false,
|
||||||
|
},
|
||||||
|
entity: {
|
||||||
|
type: DataTypes.VIRTUAL,
|
||||||
|
get: function() {
|
||||||
|
const name = this.get('entityName');
|
||||||
|
const id = this.get('entityId');
|
||||||
|
let modelName = '';
|
||||||
|
switch (name) {
|
||||||
|
case 'post':
|
||||||
|
modelName = 'Post';
|
||||||
|
break;
|
||||||
|
case 'speaker':
|
||||||
|
modelName = 'Speaker'
|
||||||
|
break;
|
||||||
|
|
||||||
|
case 'event':
|
||||||
|
modelName = 'Event';
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
return sequelize.models[modelName].findOne(id);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}, {
|
||||||
|
indexes: [{
|
||||||
|
unique: false,
|
||||||
|
fields: ['entityId']
|
||||||
|
}],
|
||||||
|
tableName: 'multimedias',
|
||||||
|
freezeTableName: true,
|
||||||
|
timestamps: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
return Multimedias;
|
||||||
|
};
|
||||||
@ -49,7 +49,7 @@ server.on('error', err => {
|
|||||||
});
|
});
|
||||||
|
|
||||||
try {
|
try {
|
||||||
models.sequelize.sync().then(() => {
|
models.sequelize.sync({ force: false }).then(() => {
|
||||||
// Launch server.
|
// Launch server.
|
||||||
server.listen(currentState.port, (err) => {
|
server.listen(currentState.port, (err) => {
|
||||||
if (err) {
|
if (err) {
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user