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

export interface MotionInterface extends Document {
  issuer: string;
  subject: string;
  body: string;
  at: number;
  oID: string;
  results?: {
    yea: number;
    nay: number;
    present: number;
    absent: number;
  };
  processed: boolean;
  msg: string;
}

const Motion = new Schema({
  issuer: { type: String, required: true },
  subject: { type: String, required: true },
  body: { type: String, required: true },
  at: { type: Number, required: true },
  oID: { type: String, required: true, unique: true },
  results: {
    yea: Number,
    nay: Number,
    present: Number,
    absent: Number,
  },
  processed: Boolean,
  msg: { required: true, unique: true, type: String },
});

export default model<MotionInterface>('Motions', Motion);
