Procházet zdrojové kódy

feat(core): Record lastLogin date on authenticate

Michael Bromley před 5 roky
rodič
revize
39c743bb56

+ 2 - 2
packages/core/src/entity/user/user.entity.ts

@@ -42,8 +42,8 @@ export class User extends VendureEntity implements HasCustomFields, SoftDeletabl
     @JoinTable()
     roles: Role[];
 
-    @Column({ nullable: true })
-    lastLogin: string;
+    @Column({ type: Date, nullable: true })
+    lastLogin: Date | null;
 
     @Column(type => CustomUserFields)
     customFields: CustomUserFields;

+ 2 - 0
packages/core/src/service/services/auth.service.ts

@@ -77,6 +77,8 @@ export class AuthService {
         if (ctx.session && ctx.session.activeOrder) {
             await this.deleteSessionsByActiveOrder(ctx.session && ctx.session.activeOrder);
         }
+        user.lastLogin = new Date();
+        await this.connection.manager.save(user, { reload: false });
         const session = await this.createNewAuthenticatedSession(ctx, user);
         const newSession = await this.connection.getRepository(AuthenticatedSession).save(session);
         this.eventBus.publish(new LoginEvent(ctx, user));