Mailspring/core/models/account/message.js

28 lines
741 B
JavaScript
Raw Normal View History

const crypto = require('crypto');
2016-06-19 18:02:32 +08:00
module.exports = (sequelize, Sequelize) => {
const Message = sequelize.define('Message', {
subject: Sequelize.STRING,
snippet: Sequelize.STRING,
body: Sequelize.STRING,
hash: Sequelize.STRING,
2016-06-19 18:02:32 +08:00
headers: Sequelize.STRING,
date: Sequelize.DATE,
unread: Sequelize.BOOLEAN,
starred: Sequelize.BOOLEAN,
}, {
classMethods: {
associate: ({MessageUID}) => {
// is this really a good idea?
// Message.hasMany(Contact, {as: 'from'})
Message.hasMany(MessageUID, {as: 'uids'})
},
hashForHeaders: (headers) => {
return crypto.createHash('sha256').update(headers, 'utf8').digest('hex');
},
2016-06-19 18:02:32 +08:00
},
});
return Message;
};