The brkpt-auth.user.delete event notifies brkpt-auth when a user is deleted by your application.
Features such as session can react to this event to clean up related state, while audit can record the deletion.
The event payload is defined in src/brkpt-auth/common/interfaces/index.ts:
export interface UserDeleteEvent { userId: unknown; timestamp: number; metadata?: RequestMetadata;}userId identifies the deleted user. timestamp records when the deletion happened, and metadata can include request information when available.
Emit the event from your own user deletion flow:
import { Controller, Delete, Req } from '@nestjs/common';import { EventEmitter2 } from '@nestjs/event-emitter';import { type BrkptAuthRequest, UserDeleteEvent,} from '../brkpt-auth/common/interfaces';import { extractRequestMetadata } from '../brkpt-auth/common/utils';import { MemoryUserRepository } from './repositories/memory-user.repository';
@Controller('user')export class UserController { constructor( private readonly userRepo: MemoryUserRepository, private readonly eventEmitter: EventEmitter2, ) {}
@Delete() async delete(@Req() req: BrkptAuthRequest) { const id = req.user!.sub as number; await this.eventEmitter.emitAsync('brkpt-auth.user.delete', { userId: id, timestamp: Date.now(), metadata: extractRequestMetadata(req), } satisfies UserDeleteEvent); return this.userRepo.delete(id); }}When the session feature is enabled, emitting this event revokes the user’s sessions and removes their session index. If the audit feature is enabled, the deletion is also passed to your audit adapter.