26 lines
712 B
JavaScript
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);
|