const system = require('../../../system');
const settings = require('../../../../config/settings');
const appconfig = system.getSysConfig();
module.exports = (db, DataTypes) => db.define('msghistory', {
  msgType: {
    type: DataTypes.ENUM,
    allowNull: false,
    values: Object.keys(appconfig.pdict.msgType),
  },
  app_id: DataTypes.INTEGER,
  company_id: DataTypes.INTEGER,
  sender: DataTypes.STRING,
  senderId: DataTypes.INTEGER,
  target: DataTypes.STRING,
  targetId: DataTypes.INTEGER,
  content: {
    type: DataTypes.TEXT('long'),
    allowNull: false,
  }, // 需要在后台补充
  isRead: {
    type: DataTypes.BOOLEAN,
    defaultValue: false,
  },
}, {
  paranoid: false, // 假的删除
  underscored: true,
  version: true,
  freezeTableName: true,
  // freezeTableName: true,
  // define the table's name
  tableName: 'msghistory',
  validate: {

  },
  indexes: [
    // Create a unique index on email
    //  {
    //    unique: true,
    //    fields: ['email']
    //  },
    //
    //  // Creates a gin index on data with the jsonb_path_ops operator
    //  {
    //    fields: ['data'],
    //    using: 'gin',
    //    operator: 'jsonb_path_ops'
    //  },
    //
    //  // By default index name will be [table]_[fields]
    //  // Creates a multi column partial index
    //  {
    //    name: 'public_by_author',
    //    fields: ['author', 'status'],
    //    where: {
    //      status: 'public'
    //    }
    //  },
    //
    //  // A BTREE index with a ordered field
    //  {
    //    name: 'title_index',
    //    method: 'BTREE',
    //    fields: ['author', {attribute: 'title', collate: 'en_US', order: 'DESC', length: 5}]
    //  }
  ],
});
