document.js 1.17 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
/**
 * Document schema
 */
module.exports = (sequelize, DataTypes) => {
  let documentSchema = sequelize.define('setting', {
    path: {
      type: DataTypes.STRING,
      allowNull: false
    },
    title: {
      type: DataTypes.STRING,
      allowNull: false,
      validate: {
        len: [2, 255]
      }
    },
    subtitle: {
      type: DataTypes.STRING,
      allowNull: true,
      defaultValue: ''
    },
    parentPath: {
      type: DataTypes.STRING,
      allowNull: true,
      defaultValue: ''
    },
    parentTitle: {
      type: DataTypes.STRING,
      allowNull: true,
      defaultValue: ''
    },
    isDirectory: {
      type: DataTypes.BOOLEAN,
      allowNull: false,
      defaultValue: false
    },
    isEntry: {
      type: DataTypes.BOOLEAN,
      allowNull: false,
      defaultValue: false
NGPixel's avatar
NGPixel committed
41
    },
42 43 44 45 46
    isDraft: {
      type: DataTypes.BOOLEAN,
      allowNull: false,
      defaultValue: false
    },
NGPixel's avatar
NGPixel committed
47 48 49 50
    searchContent: {
      type: DataTypes.TEXT,
      allowNull: true,
      defaultValue: ''
51 52 53 54 55 56 57 58 59 60 61 62 63 64
    }
  }, {
    timestamps: true,
    version: true,
    indexes: [
      {
        unique: true,
        fields: ['path']
      }
    ]
  })

  return documentSchema
}