text: 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;
  