// import { Inject, Service } from 'typedi'; // import events from '@/subscribers/events'; // import { // ISaleReceiptCreatingPayload, // ISaleReceiptEditingPayload, // } from '@/interfaces'; // import { ValidateBranchExistance } from '../../Integrations/ValidateBranchExistance'; // @Service() // export class SaleReceiptBranchValidateSubscriber { // @Inject() // private validateBranchExistance: ValidateBranchExistance; // /** // * Attaches events with handlers. // */ // public attach = (bus) => { // bus.subscribe( // events.saleReceipt.onCreating, // this.validateBranchExistanceOnInvoiceCreating // ); // bus.subscribe( // events.saleReceipt.onEditing, // this.validateBranchExistanceOnInvoiceEditing // ); // return bus; // }; // /** // * Validate branch existance on estimate creating. // * @param {ISaleReceiptCreatingPayload} payload // */ // private validateBranchExistanceOnInvoiceCreating = async ({ // tenantId, // saleReceiptDTO, // }: ISaleReceiptCreatingPayload) => { // await this.validateBranchExistance.validateTransactionBranchWhenActive( // tenantId, // saleReceiptDTO.branchId // ); // }; // /** // * Validate branch existance once estimate editing. // * @param {ISaleReceiptEditingPayload} payload // */ // private validateBranchExistanceOnInvoiceEditing = async ({ // saleReceiptDTO, // tenantId, // }: ISaleReceiptEditingPayload) => { // await this.validateBranchExistance.validateTransactionBranchWhenActive( // tenantId, // saleReceiptDTO.branchId // ); // }; // }