From f00d294bf6f8827e7396e58dfc381815729e8e00 Mon Sep 17 00:00:00 2001 From: Simon Date: Sun, 21 Aug 2016 15:54:13 -0400 Subject: [PATCH] updates passport-local-mongoose to use mongoose intefaces instead of type intersections --- passport-local-mongoose/passport-local-mongoose-tests.ts | 7 +++---- passport-local-mongoose/passport-local-mongoose.d.ts | 9 ++++----- 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/passport-local-mongoose/passport-local-mongoose-tests.ts b/passport-local-mongoose/passport-local-mongoose-tests.ts index cf41176f08..993d5b05da 100644 --- a/passport-local-mongoose/passport-local-mongoose-tests.ts +++ b/passport-local-mongoose/passport-local-mongoose-tests.ts @@ -77,10 +77,9 @@ options.errorMessages = errorMessages; UserSchema.plugin(passportLocalMongoose, options); -type UserModel = _UserModel & PassportLocalModel; -interface _UserModel {} +interface UserModel extends PassportLocalModel {} -let UserModel: UserModel = model('User', UserSchema) as UserModel; +let UserModel: UserModel = model('User', UserSchema); //#endregion @@ -96,7 +95,7 @@ passport.use('login', new LocalStrategy({ process.nextTick(() => { UserModel .findOne({ 'username': username }) - .exec((err: any, user: model) => { + .exec((err: any, user: User) => { if (err) { console.log(err); return done(err, null); diff --git a/passport-local-mongoose/passport-local-mongoose.d.ts b/passport-local-mongoose/passport-local-mongoose.d.ts index 8e4a6bb777..acb834d85c 100644 --- a/passport-local-mongoose/passport-local-mongoose.d.ts +++ b/passport-local-mongoose/passport-local-mongoose.d.ts @@ -10,14 +10,13 @@ declare module 'mongoose' { import passportLocal = require('passport-local'); // methods - export interface PassportLocalDocument { + export interface PassportLocalDocument extends Document { setPassword(password: string, cb: (err: any, res: any) => void): void; authenticate(password: string, cb: (err: any, res: any, error: any) => void): void; } // statics - export type PassportLocalModel = _PassportLocalModel & Model; - interface _PassportLocalModel { + interface PassportLocalModel extends Model { authenticate(): (username: string, password: string, cb: (err: any, res: T, error: any) => void) => void; serializeUser(): (user: PassportLocalModel, cb: (err: any) => void) => void; deserializeUser(): (username: string, cb: (err: any) => void) => void; @@ -77,11 +76,11 @@ declare module 'mongoose' { ): this; } - export function model( + export function model( name: string, schema?: PassportLocalSchema, collection?: string, - skipInit?: boolean): Statics & PassportLocalModel; + skipInit?: boolean): PassportLocalModel; } declare module 'passport-local-mongoose' {