38 lines
918 B
TypeScript
38 lines
918 B
TypeScript
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);
|