spee.ch/server/models/file.js
2018-03-16 10:34:26 -07:00

68 lines
1.3 KiB
JavaScript

module.exports = (sequelize, { STRING, BOOLEAN, INTEGER }) => {
const File = sequelize.define(
'File',
{
name: {
type : STRING,
allowNull: false,
},
claimId: {
type : STRING,
allowNull: false,
},
address: {
type : STRING,
allowNull: false,
},
outpoint: {
type : STRING,
allowNull: false,
},
height: {
type : INTEGER,
allowNull: false,
default : 0,
},
fileName: {
type : STRING,
allowNull: false,
},
filePath: {
type : STRING,
allowNull: false,
},
fileType: {
type: STRING,
},
nsfw: {
type : BOOLEAN,
allowNull : false,
defaultValue: false,
},
trendingEligible: {
type : BOOLEAN,
allowNull : false,
defaultValue: true,
},
},
{
freezeTableName: true,
}
);
File.associate = db => {
File.hasMany(db.Request);
File.hasOne(db.Claim);
};
File.getRecentClaims = function () {
return this.findAll({
where: { nsfw: false, trendingEligible: true },
order: [['createdAt', 'DESC']],
limit: 25,
});
};
return File;
};