flexbiz-server
Version:
Flexible Server
4 lines (3 loc) • 962 B
JavaScript
const tokenSchema=new Schema({email:{type:String,lowercase:!0,maxlength:128,trim:!0},token:String,refreshToken:String,expires_in:Number,agent:String,ip:String,service:String,once:Boolean,used:Boolean,note:String,session_created:String,session_updated:String,only_id_app:String,id_apps:[],status:{type:Boolean,default:!0},last_access:{type:Date,default:Date.now},date_created:{type:Date,default:Date.now}});
(global.configs||{}).createIndexes&&(tokenSchema.index({email:1}),tokenSchema.index({token:1}),tokenSchema.index({token:1,used:1}),tokenSchema.index({note:1}),tokenSchema.index({only_id_app:1}),tokenSchema.index({id_apps:1}),tokenSchema.index({ip:1}),tokenSchema.index({last_access:1},{expireAfterSeconds:604800,background:!0,partialFilterExpression:{ip:{$exists:!1}}}),tokenSchema.index({session_created:1}),tokenSchema.index({session_updated:1}),tokenSchema.index({status:1}));
module.exports=mongoose.models.token||mongoose.model("token",tokenSchema);