import { Injectable } from '@nestjs/common'; import { BaseUpdateStatusManager } from 'src/core/modules/domain/usecase/managers/base-update-status.manager'; import { PaymentMethodEntity } from '../../entities/payment-method.entity'; import { EventTopics, validateRelations, } from 'src/core/strings/constants/interface.constants'; import { PaymentMethodModel } from '../../../data/models/payment-method.model'; import { PaymentMethodChangeStatusEvent } from '../../entities/event/payment-method-change-status.event'; @Injectable() export class InactivePaymentMethodManager extends BaseUpdateStatusManager { getResult(): string { return `Success inactive data ${ this.result.account_name }`; } async validateProcess(): Promise { return; } async beforeProcess(): Promise { return; } async afterProcess(): Promise { return; } get validateRelations(): validateRelations[] { return []; } get entityTarget(): any { return PaymentMethodModel; } get eventTopics(): EventTopics[] { return [ { topic: PaymentMethodChangeStatusEvent, data: this.result, }, ]; } }