mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-17 21:30:31 +00:00
refactor: tenant proxy providers
This commit is contained in:
@@ -12,12 +12,15 @@ import {
|
||||
import { UnitOfWork } from '@/modules/Tenancy/TenancyDB/UnitOfWork.service';
|
||||
import { EventEmitter2 } from '@nestjs/event-emitter';
|
||||
import { events } from '@/common/events/events';
|
||||
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
|
||||
|
||||
@Injectable()
|
||||
export class ExcludeBankTransactionService {
|
||||
constructor(
|
||||
@Inject(UncategorizedBankTransaction.name)
|
||||
private uncategorizedBankTransactionModel: typeof UncategorizedBankTransaction,
|
||||
private uncategorizedBankTransactionModel: TenantModelProxy<
|
||||
typeof UncategorizedBankTransaction
|
||||
>,
|
||||
|
||||
private uow: UnitOfWork,
|
||||
private eventEmitter: EventEmitter2,
|
||||
@@ -30,7 +33,7 @@ export class ExcludeBankTransactionService {
|
||||
*/
|
||||
public async excludeBankTransaction(uncategorizedTransactionId: number) {
|
||||
const oldUncategorizedTransaction =
|
||||
await this.uncategorizedBankTransactionModel
|
||||
await this.uncategorizedBankTransactionModel()
|
||||
.query()
|
||||
.findById(uncategorizedTransactionId)
|
||||
.throwIfNotFound();
|
||||
@@ -47,7 +50,7 @@ export class ExcludeBankTransactionService {
|
||||
trx,
|
||||
} as IBankTransactionUnexcludingEventPayload);
|
||||
|
||||
await this.uncategorizedBankTransactionModel
|
||||
await this.uncategorizedBankTransactionModel()
|
||||
.query(trx)
|
||||
.findById(uncategorizedTransactionId)
|
||||
.patch({
|
||||
|
||||
@@ -12,6 +12,7 @@ import { Inject, Injectable } from '@nestjs/common';
|
||||
import { UncategorizedBankTransaction } from '@/modules/BankingTransactions/models/UncategorizedBankTransaction';
|
||||
import { UnitOfWork } from '@/modules/Tenancy/TenancyDB/UnitOfWork.service';
|
||||
import { events } from '@/common/events/events';
|
||||
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
|
||||
|
||||
@Injectable()
|
||||
export class UnexcludeBankTransactionService {
|
||||
@@ -20,7 +21,9 @@ export class UnexcludeBankTransactionService {
|
||||
private readonly uow: UnitOfWork,
|
||||
|
||||
@Inject(UncategorizedBankTransaction.name)
|
||||
private readonly uncategorizedBankTransactionModel: typeof UncategorizedBankTransaction,
|
||||
private readonly uncategorizedBankTransactionModel: TenantModelProxy<
|
||||
typeof UncategorizedBankTransaction
|
||||
>,
|
||||
) {}
|
||||
|
||||
/**
|
||||
@@ -33,7 +36,7 @@ export class UnexcludeBankTransactionService {
|
||||
uncategorizedTransactionId: number,
|
||||
): Promise<void> {
|
||||
const oldUncategorizedTransaction =
|
||||
await this.uncategorizedBankTransactionModel
|
||||
await this.uncategorizedBankTransactionModel()
|
||||
.query()
|
||||
.findById(uncategorizedTransactionId)
|
||||
.throwIfNotFound();
|
||||
@@ -49,7 +52,7 @@ export class UnexcludeBankTransactionService {
|
||||
uncategorizedTransactionId,
|
||||
} as IBankTransactionExcludingEventPayload);
|
||||
|
||||
await this.uncategorizedBankTransactionModel
|
||||
await this.uncategorizedBankTransactionModel()
|
||||
.query(trx)
|
||||
.findById(uncategorizedTransactionId)
|
||||
.patch({
|
||||
|
||||
@@ -3,14 +3,21 @@ import { TransformerInjectable } from '@/modules/Transformer/TransformerInjectab
|
||||
import { ExcludedBankTransactionsQuery } from '../types/BankTransactionsExclude.types';
|
||||
import { UncategorizedTransactionTransformer } from '@/modules/BankingCategorize/commands/UncategorizedTransaction.transformer';
|
||||
import { UncategorizedBankTransaction } from '@/modules/BankingTransactions/models/UncategorizedBankTransaction';
|
||||
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
|
||||
|
||||
@Injectable()
|
||||
export class GetExcludedBankTransactionsService {
|
||||
/**
|
||||
* @param {TransformerInjectable} transformer
|
||||
* @param {TenantModelProxy<typeof UncategorizedBankTransaction>} uncategorizedBankTransaction
|
||||
*/
|
||||
constructor(
|
||||
private readonly transformer: TransformerInjectable,
|
||||
|
||||
@Inject(UncategorizedBankTransaction.name)
|
||||
private readonly uncategorizedBankTransaction: typeof UncategorizedBankTransaction,
|
||||
private readonly uncategorizedBankTransaction: TenantModelProxy<
|
||||
typeof UncategorizedBankTransaction
|
||||
>,
|
||||
) {}
|
||||
|
||||
/**
|
||||
@@ -27,7 +34,7 @@ export class GetExcludedBankTransactionsService {
|
||||
pageSize: 20,
|
||||
...filter,
|
||||
};
|
||||
const { results, pagination } = await this.uncategorizedBankTransaction
|
||||
const { results, pagination } = await this.uncategorizedBankTransaction()
|
||||
.query()
|
||||
.onBuild((q) => {
|
||||
q.modify('excluded');
|
||||
|
||||
@@ -7,15 +7,18 @@ import {
|
||||
import { Account } from '@/modules/Accounts/models/Account.model';
|
||||
import { UncategorizedBankTransaction } from '@/modules/BankingTransactions/models/UncategorizedBankTransaction';
|
||||
import { events } from '@/common/events/events';
|
||||
import { TenantModelProxy } from '@/modules/System/models/TenantBaseModel';
|
||||
|
||||
@Injectable()
|
||||
export class DecrementUncategorizedTransactionOnExclude {
|
||||
constructor(
|
||||
@Inject(Account.name)
|
||||
private readonly account: typeof Account,
|
||||
private readonly account: TenantModelProxy<typeof Account>,
|
||||
|
||||
@Inject(UncategorizedBankTransaction.name)
|
||||
private readonly uncategorizedBankTransaction: typeof UncategorizedBankTransaction,
|
||||
private readonly uncategorizedBankTransaction: TenantModelProxy<
|
||||
typeof UncategorizedBankTransaction
|
||||
>,
|
||||
) {}
|
||||
|
||||
/**
|
||||
@@ -27,11 +30,12 @@ export class DecrementUncategorizedTransactionOnExclude {
|
||||
uncategorizedTransactionId,
|
||||
trx,
|
||||
}: IBankTransactionExcludedEventPayload) {
|
||||
const transaction = await this.uncategorizedBankTransaction.query(
|
||||
trx
|
||||
).findById(uncategorizedTransactionId);
|
||||
const transaction = await this.uncategorizedBankTransaction()
|
||||
.query(trx)
|
||||
.findById(uncategorizedTransactionId);
|
||||
|
||||
await this.account.query(trx)
|
||||
await this.account()
|
||||
.query(trx)
|
||||
.findById(transaction.accountId)
|
||||
.decrement('uncategorizedTransactions', 1);
|
||||
}
|
||||
@@ -45,11 +49,12 @@ export class DecrementUncategorizedTransactionOnExclude {
|
||||
uncategorizedTransactionId,
|
||||
trx,
|
||||
}: IBankTransactionUnexcludedEventPayload) {
|
||||
const transaction = await this.uncategorizedBankTransaction.query().findById(
|
||||
uncategorizedTransactionId
|
||||
);
|
||||
const transaction = await this.uncategorizedBankTransaction()
|
||||
.query()
|
||||
.findById(uncategorizedTransactionId);
|
||||
//
|
||||
await this.account.query(trx)
|
||||
await this.account()
|
||||
.query(trx)
|
||||
.findById(transaction.accountId)
|
||||
.increment('uncategorizedTransactions', 1);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user