import { Injectable } from '@nestjs/common'; import { DeleteRefundVendorCreditService } from './commands/DeleteRefundVendorCredit.service'; import { RefundVendorCredit } from './models/RefundVendorCredit'; import { CreateRefundVendorCredit } from './commands/CreateRefundVendorCredit.service'; import { IRefundVendorCreditDTO } from './types/VendorCreditRefund.types'; import { RefundVendorCreditDto } from './dtos/RefundVendorCredit.dto'; @Injectable() export class VendorCreditsRefundApplication { /** * @param {CreateRefundVendorCredit} createRefundVendorCreditService * @param {DeleteRefundVendorCreditService} deleteRefundVendorCreditService */ constructor( private readonly createRefundVendorCreditService: CreateRefundVendorCredit, private readonly deleteRefundVendorCreditService: DeleteRefundVendorCreditService, ) {} /** * Creates a refund vendor credit. * @param {number} vendorCreditId * @param {IRefundVendorCreditDTO} refundVendorCreditDTO * @returns {Promise} */ public async createRefundVendorCredit( vendorCreditId: number, refundVendorCreditDTO: RefundVendorCreditDto, ): Promise { return this.createRefundVendorCreditService.createRefund( vendorCreditId, refundVendorCreditDTO, ); } /** * Deletes a refund vendor credit. * @param {number} refundCreditId * @returns {Promise} */ public async deleteRefundVendorCredit(refundCreditId: number): Promise { return this.deleteRefundVendorCreditService.deleteRefundVendorCreditRefund( refundCreditId, ); } }