mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 04:40:32 +00:00
49 lines
1.2 KiB
TypeScript
49 lines
1.2 KiB
TypeScript
import Knex from 'knex';
|
|
import { IRefundCreditNote } from '@/interfaces';
|
|
import HasTenancyService from '@/services/Tenancy/TenancyService';
|
|
import { Inject, Service } from 'typedi';
|
|
|
|
@Service()
|
|
export default class RefundSyncCreditNoteBalance {
|
|
@Inject()
|
|
tenancy: HasTenancyService;
|
|
|
|
/**
|
|
*
|
|
* @param {number} tenantId
|
|
* @param {IRefundCreditNote} refundCreditNote
|
|
* @param {Knex.Transaction} trx
|
|
*/
|
|
public incrementCreditNoteRefundAmount = async (
|
|
tenantId: number,
|
|
creditNoteId: number,
|
|
amount: number,
|
|
trx?: Knex.Transaction
|
|
): Promise<void> => {
|
|
const { CreditNote } = this.tenancy.models(tenantId);
|
|
|
|
await CreditNote.query(trx)
|
|
.findById(creditNoteId)
|
|
.increment('refunded_amount', amount);
|
|
};
|
|
|
|
/**
|
|
*
|
|
* @param {number} tenantId
|
|
* @param {IRefundCreditNote} refundCreditNote
|
|
* @param {Knex.Transaction} trx
|
|
*/
|
|
public decrementCreditNoteRefundAmount = async (
|
|
tenantId: number,
|
|
creditNoteId: number,
|
|
amount: number,
|
|
trx?: Knex.Transaction
|
|
): Promise<void> => {
|
|
const { CreditNote } = this.tenancy.models(tenantId);
|
|
|
|
await CreditNote.query(trx)
|
|
.findById(creditNoteId)
|
|
.decrement('refunded_amount', amount);
|
|
};
|
|
}
|