jagd-apps/stoeberhunde/backend/models/ResetToken.js

33 lines
627 B
JavaScript

const mongoose = require('mongoose');
const resetTokenSchema = new mongoose.Schema({
adminId: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Admin',
required: true,
index: true
},
token: {
type: String,
required: true,
unique: true,
index: true
},
expiresAt: {
type: Date,
required: true,
index: true
},
used: {
type: Boolean,
default: false
}
}, {
timestamps: true
});
// Automatically delete expired tokens (TTL index)
resetTokenSchema.index({ expiresAt: 1 }, { expireAfterSeconds: 0 });
module.exports = mongoose.model('ResetToken', resetTokenSchema);