const { DataTypes } = require("sequelize"); const sequelize = require("../config/database"); const Trash = sequelize.define( "Trash", { id: { type: DataTypes.INTEGER, primaryKey: true, autoIncrement: true }, messageId: { type: DataTypes.STRING, unique: false, allowNull: true }, from: { type: DataTypes.STRING, allowNull: false }, fromName: { type: DataTypes.STRING, allowNull: true }, to: { type: DataTypes.TEXT, allowNull: false }, subject: { type: DataTypes.STRING, defaultValue: "(No Subject)" }, text: { type: DataTypes.TEXT("long"), allowNull: true }, html: { type: DataTypes.TEXT("long"), allowNull: true }, attachments: { type: DataTypes.JSON, defaultValue: [] }, date: { type: DataTypes.DATE, defaultValue: DataTypes.NOW }, flags: { type: DataTypes.JSON, defaultValue: [] }, isRead: { type: DataTypes.BOOLEAN, defaultValue: false }, isDeleted: { type: DataTypes.BOOLEAN, defaultValue: true }, // 항상 true originalMailbox: { type: DataTypes.STRING, allowNull: true }, // 복구를 위한 원래 위치 저장 // 메일 크기 (bytes) - 검색 필터용 size: { type: DataTypes.INTEGER, allowNull: true, defaultValue: 0 }, }, { tableName: "trash", timestamps: true, } ); module.exports = Trash;