init
This commit is contained in:
44
src/models/token.model.js
Normal file
44
src/models/token.model.js
Normal file
@@ -0,0 +1,44 @@
|
||||
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],
|
||||
required: true,
|
||||
},
|
||||
expires: {
|
||||
type: Date,
|
||||
required: true,
|
||||
},
|
||||
blacklisted: {
|
||||
type: Boolean,
|
||||
default: false,
|
||||
},
|
||||
},
|
||||
{
|
||||
timestamps: true,
|
||||
}
|
||||
);
|
||||
|
||||
// add plugin that converts mongoose to json
|
||||
tokenSchema.plugin(toJSON);
|
||||
|
||||
/**
|
||||
* @typedef Token
|
||||
*/
|
||||
const Token = mongoose.model('Token', tokenSchema);
|
||||
|
||||
module.exports = Token;
|
||||
Reference in New Issue
Block a user