"use strict"; const mongoose = require('mongoose'); const Schema = mongoose.Schema; const PromotionSchema = new Schema({ userId: { type: mongoose.Schema.Types.ObjectId, ref: 'User' }, proposer: { type: mongoose.Schema.Types.ObjectId, ref: 'AppUser', required: true }, oldRankLvl: { type: Number, get: v => Math.round(v), set: v => Math.round(v), required: true }, newRankLvl: { type: Number, get: v => Math.round(v), set: v => Math.round(v), required: true }, confirmed: { type: Number, get: v => Math.round(v), set: v => Math.round(v), min: 0, max: 2, required: true }, rejectReason: { type: String } }, { collection: 'promotion', timestamps: {createdAt: 'timestamp'} }); // optional more indices PromotionSchema.index({timestamp: 1}); module.exports = mongoose.model('Promotion', PromotionSchema);