mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 04:40:32 +00:00
28 lines
809 B
TypeScript
28 lines
809 B
TypeScript
import { events } from '@/common/events/events';
|
|
import { SystemUser } from '@/modules/System/models/SystemUser';
|
|
import { Inject, Injectable } from '@nestjs/common';
|
|
import { OnEvent } from '@nestjs/event-emitter';
|
|
import { ITenantUserDeletedPayload } from '../Users.types';
|
|
|
|
@Injectable()
|
|
export class SyncTenantUserDeleteSubscriber {
|
|
constructor(
|
|
@Inject(SystemUser.name)
|
|
private readonly systemUserModel: typeof SystemUser,
|
|
) {}
|
|
|
|
/**
|
|
* Deletes the system user once tenant user be deleted.
|
|
* @param {ITenantUserDeletedPayload} payload -
|
|
*/
|
|
@OnEvent(events.tenantUser.onDeleted)
|
|
async syncSystemUserOnceUserDeleted({
|
|
tenantUser,
|
|
}: ITenantUserDeletedPayload) {
|
|
await this.systemUserModel
|
|
.query()
|
|
.where('id', tenantUser.systemUserId)
|
|
.delete();
|
|
}
|
|
}
|