mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-16 04:40:32 +00:00
fix: making pagination more readable
This commit is contained in:
@@ -17,7 +17,12 @@ export default class PaginationQueryBuilder extends Model.QueryBuilder {
|
||||
});
|
||||
}
|
||||
|
||||
queryAndThrowIfHasRelations = ({ type, message, excludeRelations = [], includedRelations = [] }) => {
|
||||
queryAndThrowIfHasRelations = ({
|
||||
type,
|
||||
message,
|
||||
excludeRelations = [],
|
||||
includedRelations = [],
|
||||
}) => {
|
||||
const _excludeRelations = castArray(excludeRelations);
|
||||
const _includedRelations = castArray(includedRelations);
|
||||
|
||||
@@ -29,10 +34,17 @@ export default class PaginationQueryBuilder extends Model.QueryBuilder {
|
||||
) !== -1
|
||||
);
|
||||
const relations = model.secureDeleteRelations || modelRelations;
|
||||
const filteredRelations = !isEmpty(_includedRelations) ?
|
||||
relations.filter(r => _includedRelations.includes(r)) :
|
||||
!isEmpty(_excludeRelations) ? relations.filter(r => !excludeRelations.includes(r)) : relations;
|
||||
|
||||
const filteredByIncluded = relations.filter((r) =>
|
||||
_includedRelations.includes(r)
|
||||
);
|
||||
const filteredByExcluded = relations.filter(
|
||||
(r) => !excludeRelations.includes(r)
|
||||
);
|
||||
const filteredRelations = !isEmpty(_includedRelations)
|
||||
? filteredByIncluded
|
||||
: !isEmpty(_excludeRelations)
|
||||
? filteredByExcluded
|
||||
: relations;
|
||||
|
||||
this.runAfter((model, query) => {
|
||||
const nonEmptyRelations = filteredRelations.filter(
|
||||
|
||||
@@ -2,7 +2,6 @@ import { Inject, Service } from 'typedi';
|
||||
import { IAccountEventDeletedPayload } from '@/interfaces';
|
||||
import { PlaidClientWrapper } from '@/lib/Plaid';
|
||||
import HasTenancyService from '@/services/Tenancy/TenancyService';
|
||||
import { runAfterTransaction } from '@/services/UnitOfWork/TransactionsHooks';
|
||||
import events from '@/subscribers/events';
|
||||
|
||||
@Service()
|
||||
@@ -53,16 +52,13 @@ export class DisconnectPlaidItemOnAccountDeleted {
|
||||
.delete();
|
||||
|
||||
// Remove Plaid item once the transaction resolve.
|
||||
runAfterTransaction(trx, async () => {
|
||||
if (oldPlaidItem) {
|
||||
const plaidInstance = PlaidClientWrapper.getClient();
|
||||
|
||||
// Remove the Plaid item.
|
||||
await plaidInstance.itemRemove({
|
||||
access_token: oldPlaidItem.plaidAccessToken,
|
||||
});
|
||||
}
|
||||
})
|
||||
if (oldPlaidItem) {
|
||||
const plaidInstance = PlaidClientWrapper.getClient();
|
||||
|
||||
// Remove the Plaid item.
|
||||
await plaidInstance.itemRemove({
|
||||
access_token: oldPlaidItem.plaidAccessToken,
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user