sever_email_with_verification/models/User.js
2025-12-07 16:05:58 +01:00

26 lines
712 B
JavaScript

const mongoose = require('mongoose');
const userSchema = new mongoose.Schema({
nome: String,
cognome: String,
email: { type: String, unique: true },
telefono: String,
applicazione: String,
codiceVerifica: String,
codiceVerificaCreatoIl: { type: Date, default: Date.now },
verificato: { type: Boolean, default: false },
timestamp: { type: Date, default: Date.now }
});
// TTL: elimina documenti 10 minuti dopo la creazione del codice ma rimane se l'utente é verificato
userSchema.index(
{ codiceVerificaCreatoIl: 1 },
{
expireAfterSeconds: 600, // o 60 se vuoi 1 minuto
partialFilterExpression: { verificato: false }
}
);
module.exports = mongoose.model('User', userSchema);