36 lines
808 B
TypeScript
36 lines
808 B
TypeScript
|
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);
|