combine.fm/models/album.cjs

36 lines
818 B
JavaScript
Raw Normal View History

2020-01-18 10:19:20 +00:00
module.exports = function (sequelize, DataTypes) {
const Album = sequelize.define('album', {
id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true },
externalId: { type: DataTypes.STRING(50), index: true }, // eslint-disable-line new-cap
service: DataTypes.ENUM( // eslint-disable-line new-cap
'deezer',
'google',
'itunes',
'spotify',
'xbox',
'youtube'
),
name: DataTypes.TEXT,
artistId: DataTypes.INTEGER,
}, {
paranoid: true,
indexes: [
{
fields: ['externalId', 'service'],
},
],
getterMethods: {
type() {
2016-12-17 14:13:33 +01:00
return 'album';
},
},
});
2018-04-13 21:44:31 +01:00
Album.associate = function associate(models) {
2018-04-13 01:42:16 +01:00
Album.hasMany(models.match);
Album.belongsTo(models.artist);
};
return Album;
}