mirror of
https://github.com/bigcapitalhq/bigcapital.git
synced 2026-02-20 14:50: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 _excludeRelations = castArray(excludeRelations);
|
||||||
const _includedRelations = castArray(includedRelations);
|
const _includedRelations = castArray(includedRelations);
|
||||||
|
|
||||||
@@ -29,10 +34,17 @@ export default class PaginationQueryBuilder extends Model.QueryBuilder {
|
|||||||
) !== -1
|
) !== -1
|
||||||
);
|
);
|
||||||
const relations = model.secureDeleteRelations || modelRelations;
|
const relations = model.secureDeleteRelations || modelRelations;
|
||||||
const filteredRelations = !isEmpty(_includedRelations) ?
|
const filteredByIncluded = relations.filter((r) =>
|
||||||
relations.filter(r => _includedRelations.includes(r)) :
|
_includedRelations.includes(r)
|
||||||
!isEmpty(_excludeRelations) ? relations.filter(r => !excludeRelations.includes(r)) : relations;
|
);
|
||||||
|
const filteredByExcluded = relations.filter(
|
||||||
|
(r) => !excludeRelations.includes(r)
|
||||||
|
);
|
||||||
|
const filteredRelations = !isEmpty(_includedRelations)
|
||||||
|
? filteredByIncluded
|
||||||
|
: !isEmpty(_excludeRelations)
|
||||||
|
? filteredByExcluded
|
||||||
|
: relations;
|
||||||
|
|
||||||
this.runAfter((model, query) => {
|
this.runAfter((model, query) => {
|
||||||
const nonEmptyRelations = filteredRelations.filter(
|
const nonEmptyRelations = filteredRelations.filter(
|
||||||
|
|||||||
@@ -2,7 +2,6 @@ import { Inject, Service } from 'typedi';
|
|||||||
import { IAccountEventDeletedPayload } from '@/interfaces';
|
import { IAccountEventDeletedPayload } from '@/interfaces';
|
||||||
import { PlaidClientWrapper } from '@/lib/Plaid';
|
import { PlaidClientWrapper } from '@/lib/Plaid';
|
||||||
import HasTenancyService from '@/services/Tenancy/TenancyService';
|
import HasTenancyService from '@/services/Tenancy/TenancyService';
|
||||||
import { runAfterTransaction } from '@/services/UnitOfWork/TransactionsHooks';
|
|
||||||
import events from '@/subscribers/events';
|
import events from '@/subscribers/events';
|
||||||
|
|
||||||
@Service()
|
@Service()
|
||||||
@@ -53,7 +52,6 @@ export class DisconnectPlaidItemOnAccountDeleted {
|
|||||||
.delete();
|
.delete();
|
||||||
|
|
||||||
// Remove Plaid item once the transaction resolve.
|
// Remove Plaid item once the transaction resolve.
|
||||||
runAfterTransaction(trx, async () => {
|
|
||||||
if (oldPlaidItem) {
|
if (oldPlaidItem) {
|
||||||
const plaidInstance = PlaidClientWrapper.getClient();
|
const plaidInstance = PlaidClientWrapper.getClient();
|
||||||
|
|
||||||
@@ -62,7 +60,5 @@ export class DisconnectPlaidItemOnAccountDeleted {
|
|||||||
access_token: oldPlaidItem.plaidAccessToken,
|
access_token: oldPlaidItem.plaidAccessToken,
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
})
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user