UNPKG

@georgiancollege/express-mvc

Version:
48 lines (42 loc) 1 kB
import mongoose, { PassportLocalSchema, ObjectId, Types, Document, PassportLocalDocument } from 'mongoose'; const Schema = mongoose.Schema; // alias import passportLocalMongoose from 'passport-local-mongoose'; interface IUser extends PassportLocalDocument { username: string, emailAddress: string, displayName: string, created: Date, updated: Date } const UserSchema = new Schema<IUser> ({ displayName: String, username: String, emailAddress: String, created: { type: Date, default: Date.now() }, updated: { type: Date, default: Date.now() } }, { collection: "users" }); UserSchema.plugin(passportLocalMongoose); const Model = mongoose.model<IUser>("User", UserSchema); declare global { export type UserDocument = mongoose.Document & { username: String, emailAddress: String, displayName: String } } export default Model;