UNPKG

get-express-starter

Version:

Get production ready express boilerplate with a single command

41 lines (37 loc) 816 B
import { tokenTypes } from '@/config/tokens'; import type { IToken } from '@/types'; import mongoose from 'mongoose'; import toJSON from './plugins/toJSON'; const tokenSchema = new 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, }, ); tokenSchema.plugin(toJSON); const Token = mongoose.model<IToken>('Token', tokenSchema); export default Token;