get-express-starter
Version:
Get production ready express boilerplate with a single command
47 lines (42 loc) • 878 B
JavaScript
const mongoose = require('mongoose');
const { toJSON } = require('./plugins');
const { tokenTypes } = require('../config/tokens');
const tokenSchema = mongoose.Schema(
{
token: {
type: String,
required: true,
index: true,
},
user: {
type: mongoose.SchemaTypes.ObjectId,
ref: 'User',
required: true,
},
type: {
type: String,
enum: [
tokenTypes.REFRESH,
tokenTypes.RESET_PASSWORD,
tokenTypes.VERIFY_EMAIL,
tokenTypes.VERIFY_PAYMENT,
tokenTypes.THIRD_WEB,
],
required: true,
},
expires: {
type: Date,
required: true,
},
blacklisted: {
type: Boolean,
default: false,
},
},
{
timestamps: true,
}
);
tokenSchema.plugin(toJSON);
const Token = mongoose.model('Token', tokenSchema);
module.exports = Token;