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: { createdAt: '_createdAt', updatedAt: '_updatedAt' },
    }
  );
  
  // add plugin that converts mongoose to json
  tokenSchema.plugin(toJSON);
  
  /**
   * @typedef Token
   */
  const Token = mongoose.model('Token', tokenSchema);
  
  module.exports = Token;
  