diff --git a/src/modules/configuration/auth/domain/entities/logout.event.ts b/src/modules/configuration/auth/domain/entities/logout.event.ts new file mode 100644 index 0000000..956bfa0 --- /dev/null +++ b/src/modules/configuration/auth/domain/entities/logout.event.ts @@ -0,0 +1,5 @@ +import { IEventAuth } from 'src/core/strings/constants/interface.constants'; + +export class UserLogoutEvent { + constructor(public readonly data: IEventAuth) {} +} diff --git a/src/modules/configuration/auth/domain/managers/logout.manager.ts b/src/modules/configuration/auth/domain/managers/logout.manager.ts index c6e47ac..482a84c 100644 --- a/src/modules/configuration/auth/domain/managers/logout.manager.ts +++ b/src/modules/configuration/auth/domain/managers/logout.manager.ts @@ -2,6 +2,7 @@ import { BaseCustomManager } from 'src/core/modules/domain/usecase/managers/base import { EventTopics } from 'src/core/strings/constants/interface.constants'; import { UserModel } from 'src/modules/user-related/user/data/models/user.model'; import { UserEntity } from 'src/modules/user-related/user/domain/entities/user.entity'; +import { UserLogoutEvent } from '../entities/logout.event'; export class LogoutManager extends BaseCustomManager { async validateProcess(): Promise { @@ -38,6 +39,15 @@ export class LogoutManager extends BaseCustomManager { } get eventTopics(): EventTopics[] { - return []; + return [ + { + topic: UserLogoutEvent, + data: { + id: this.user.id, + type: 'logout', + timestamp: new Date().getTime(), + }, + }, + ]; } }