import { Document, Schema, model } from 'mongoose';

export interface ModerationInterface extends Document {
  userID: string,
  logID: string,
  moderatorID: string,
  reason: string,
  /**
   * @field 0 - Warn
   * @field 1 - Unmute
   * @field 2 - Mute
   * @field 3 - Kick
   * @field 4 - Unban
   * @field 5 - Ban
   */
  type: 0 | 1 | 2 | 3 | 4 | 5
  date: Date,
  expiration?: {
    date: Date,
    processed: boolean
  }
}

const Moderation: Schema = new Schema({
  userID: String,
  logID: String,
  moderatorID: String,
  reason: String,
  type: Number,
  date: Date,
  expiration: {
    date: Date,
    processed: Boolean,
  },
});

export default model<ModerationInterface>('Moderation', Moderation);
