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

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

const Proclamation = 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,
  },
  msg: { type: String, required: true, unique: true },
  processed: Boolean,
  votedDirectors: { type: Array, required: true },
});

export default model<ProclamationInterface>('Proclamations', Proclamation);
