FINERACT-2025 SQL Query Improvement
This commit is contained in:
committed by
Peter Bagrij
parent
cb40f230b1
commit
5a8a2b9e35
+64
-101
@@ -18,11 +18,14 @@
|
|||||||
*/
|
*/
|
||||||
package org.apache.fineract.infrastructure.core.service;
|
package org.apache.fineract.infrastructure.core.service;
|
||||||
|
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Builder;
|
||||||
import org.apache.commons.lang3.StringUtils;
|
import org.apache.commons.lang3.StringUtils;
|
||||||
|
|
||||||
|
@Builder
|
||||||
|
@AllArgsConstructor
|
||||||
public final class SearchParameters {
|
public final class SearchParameters {
|
||||||
|
|
||||||
private final String sqlSearch;
|
|
||||||
private final Long officeId;
|
private final Long officeId;
|
||||||
private final String externalId;
|
private final String externalId;
|
||||||
private final String name;
|
private final String name;
|
||||||
@@ -44,28 +47,26 @@ public final class SearchParameters {
|
|||||||
private final Long savingsId;
|
private final Long savingsId;
|
||||||
private final Boolean orphansOnly;
|
private final Boolean orphansOnly;
|
||||||
|
|
||||||
// Provisning Entries Search Params
|
// Provisioning Entries Search Params
|
||||||
private final Long provisioningEntryId;
|
private final Long provisioningEntryId;
|
||||||
private final Long productId;
|
private final Long productId;
|
||||||
private final Long categoryId;
|
private final Long categoryId;
|
||||||
private final boolean isSelfUser;
|
private final boolean isSelfUser;
|
||||||
|
|
||||||
public static SearchParameters from(final String sqlSearch, final Long officeId, final String externalId, final String name,
|
public static SearchParameters from(final Long officeId, final String externalId, final String name, final String hierarchy) {
|
||||||
final String hierarchy) {
|
|
||||||
final Long staffId = null;
|
final Long staffId = null;
|
||||||
final String accountNo = null;
|
final String accountNo = null;
|
||||||
final Long loanId = null;
|
final Long loanId = null;
|
||||||
final Long savingsId = null;
|
final Long savingsId = null;
|
||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
return new SearchParameters(sqlSearch, officeId, externalId, name, hierarchy, null, null, null, null, null, null, staffId,
|
return new SearchParameters(officeId, externalId, name, hierarchy, null, null, null, null, null, null, staffId, accountNo, loanId,
|
||||||
accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forClients(final String sqlSearch, final Long officeId, final String externalId,
|
public static SearchParameters forClients(final Long officeId, final String externalId, final String displayName,
|
||||||
final String displayName, final String firstname, final String lastname, final String status, final String hierarchy,
|
final String firstname, final String lastname, final String status, final String hierarchy, final Integer offset,
|
||||||
final Integer offset, final Integer limit, final String orderBy, final String sortOrder, final Boolean orphansOnly,
|
final Integer limit, final String orderBy, final String sortOrder, final Boolean orphansOnly, final boolean isSelfUser) {
|
||||||
final boolean isSelfUser) {
|
|
||||||
|
|
||||||
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
||||||
final Long staffId = null;
|
final Long staffId = null;
|
||||||
@@ -73,8 +74,8 @@ public final class SearchParameters {
|
|||||||
final Long loanId = null;
|
final Long loanId = null;
|
||||||
final Long savingsId = null;
|
final Long savingsId = null;
|
||||||
|
|
||||||
return new SearchParameters(sqlSearch, officeId, externalId, displayName, hierarchy, firstname, lastname, status, offset,
|
return new SearchParameters(officeId, externalId, displayName, hierarchy, firstname, lastname, status, offset, maxLimitAllowed,
|
||||||
maxLimitAllowed, orderBy, sortOrder, staffId, accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
orderBy, sortOrder, staffId, accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forGroups(final Long officeId, final Long staffId, final String externalId, final String name,
|
public static SearchParameters forGroups(final Long officeId, final Long staffId, final String externalId, final String name,
|
||||||
@@ -94,12 +95,12 @@ public final class SearchParameters {
|
|||||||
public static SearchParameters forOffices(final String orderBy, final String sortOrder) {
|
public static SearchParameters forOffices(final String orderBy, final String sortOrder) {
|
||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
return new SearchParameters(null, null, null, null, null, null, null, null, null, orderBy, sortOrder, null, null, null, null,
|
return new SearchParameters(null, null, null, null, null, null, null, null, orderBy, sortOrder, null, null, null, null, orphansOnly,
|
||||||
orphansOnly, isSelfUser);
|
isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forLoans(final String sqlSearch, final String externalId, final Integer offset, final Integer limit,
|
public static SearchParameters forLoans(final String externalId, final Integer offset, final Integer limit, final String orderBy,
|
||||||
final String orderBy, final String sortOrder, final String accountNo) {
|
final String sortOrder, final String accountNo) {
|
||||||
|
|
||||||
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
||||||
final Long staffId = null;
|
final Long staffId = null;
|
||||||
@@ -108,8 +109,8 @@ public final class SearchParameters {
|
|||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
|
|
||||||
return new SearchParameters(sqlSearch, null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder,
|
return new SearchParameters(null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId,
|
||||||
staffId, accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forJournalEntries(final Long officeId, final Integer offset, final Integer limit, final String orderBy,
|
public static SearchParameters forJournalEntries(final Long officeId, final Integer offset, final Integer limit, final String orderBy,
|
||||||
@@ -120,8 +121,8 @@ public final class SearchParameters {
|
|||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
|
|
||||||
return new SearchParameters(null, officeId, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId,
|
return new SearchParameters(officeId, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId, null,
|
||||||
null, loanId, savingsId, orphansOnly, isSelfUser);
|
loanId, savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forJournalEntries(final Long officeId, final Integer offset, final Integer limit, final String orderBy,
|
public static SearchParameters forJournalEntries(final Long officeId, final Integer offset, final Integer limit, final String orderBy,
|
||||||
@@ -130,8 +131,8 @@ public final class SearchParameters {
|
|||||||
final Long staffId = null;
|
final Long staffId = null;
|
||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
|
|
||||||
return new SearchParameters(null, officeId, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId,
|
return new SearchParameters(officeId, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId, null,
|
||||||
null, loanId, savingsId, orphansOnly, currencyCode);
|
loanId, savingsId, orphansOnly, currencyCode);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forPagination(final Integer offset, final Integer limit, final String orderBy, final String sortOrder) {
|
public static SearchParameters forPagination(final Integer offset, final Integer limit, final String orderBy, final String sortOrder) {
|
||||||
@@ -143,8 +144,8 @@ public final class SearchParameters {
|
|||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
|
|
||||||
return new SearchParameters(null, null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId, null,
|
return new SearchParameters(null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId, null, loanId,
|
||||||
loanId, savingsId, orphansOnly, isSelfUser);
|
savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forPaginationAndAccountNumberSearch(final Integer offset, final Integer limit, final String orderBy,
|
public static SearchParameters forPaginationAndAccountNumberSearch(final Integer offset, final Integer limit, final String orderBy,
|
||||||
@@ -157,8 +158,8 @@ public final class SearchParameters {
|
|||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
|
|
||||||
return new SearchParameters(null, null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId,
|
return new SearchParameters(null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId, accountNumber,
|
||||||
accountNumber, loanId, savingsId, orphansOnly, isSelfUser);
|
loanId, savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forPagination(final Integer offset, final Integer limit) {
|
public static SearchParameters forPagination(final Integer offset, final Integer limit) {
|
||||||
@@ -172,8 +173,8 @@ public final class SearchParameters {
|
|||||||
final String sortOrder = null;
|
final String sortOrder = null;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
|
|
||||||
return new SearchParameters(null, null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId, null,
|
return new SearchParameters(null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId, null, loanId,
|
||||||
loanId, savingsId, orphansOnly, isSelfUser);
|
savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forProvisioningEntries(final Long provisioningEntryId, final Long officeId, final Long productId,
|
public static SearchParameters forProvisioningEntries(final Long provisioningEntryId, final Long officeId, final Long productId,
|
||||||
@@ -181,7 +182,22 @@ public final class SearchParameters {
|
|||||||
return new SearchParameters(provisioningEntryId, officeId, productId, categoryId, offset, limit);
|
return new SearchParameters(provisioningEntryId, officeId, productId, categoryId, offset, limit);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forSavings(final String sqlSearch, final String externalId, final Integer offset, final Integer limit,
|
public static SearchParameters forSavings(final String externalId, final Integer offset, final Integer limit, final String orderBy,
|
||||||
|
final String sortOrder) {
|
||||||
|
|
||||||
|
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
||||||
|
final Long staffId = null;
|
||||||
|
final String accountNo = null;
|
||||||
|
final Long loanId = null;
|
||||||
|
final Long savingsId = null;
|
||||||
|
final Boolean orphansOnly = false;
|
||||||
|
final boolean isSelfUser = false;
|
||||||
|
|
||||||
|
return new SearchParameters(null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId,
|
||||||
|
accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static SearchParameters forAccountTransfer(final String externalId, final Integer offset, final Integer limit,
|
||||||
final String orderBy, final String sortOrder) {
|
final String orderBy, final String sortOrder) {
|
||||||
|
|
||||||
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
||||||
@@ -192,13 +208,13 @@ public final class SearchParameters {
|
|||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
|
|
||||||
return new SearchParameters(sqlSearch, null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder,
|
return new SearchParameters(null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId,
|
||||||
staffId, accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forAccountTransfer(final String sqlSearch, final String externalId, final Integer offset,
|
public static SearchParameters forSMSCampaign(final Integer offset, final Integer limit, final String orderBy, final String sortOrder) {
|
||||||
final Integer limit, final String orderBy, final String sortOrder) {
|
|
||||||
|
|
||||||
|
final String externalId = null;
|
||||||
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
||||||
final Long staffId = null;
|
final Long staffId = null;
|
||||||
final String accountNo = null;
|
final String accountNo = null;
|
||||||
@@ -207,11 +223,11 @@ public final class SearchParameters {
|
|||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
|
|
||||||
return new SearchParameters(sqlSearch, null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder,
|
return new SearchParameters(null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId,
|
||||||
staffId, accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forSMSCampaign(final String sqlSearch, final Integer offset, final Integer limit, final String orderBy,
|
public static SearchParameters forEmailCampaign(final Integer offset, final Integer limit, final String orderBy,
|
||||||
final String sortOrder) {
|
final String sortOrder) {
|
||||||
|
|
||||||
final String externalId = null;
|
final String externalId = null;
|
||||||
@@ -223,60 +239,14 @@ public final class SearchParameters {
|
|||||||
final Boolean orphansOnly = false;
|
final Boolean orphansOnly = false;
|
||||||
final boolean isSelfUser = false;
|
final boolean isSelfUser = false;
|
||||||
|
|
||||||
return new SearchParameters(sqlSearch, null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder,
|
return new SearchParameters(null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, staffId,
|
||||||
staffId, accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
||||||
}
|
}
|
||||||
|
|
||||||
public static SearchParameters forEmailCampaign(final String sqlSearch, final Integer offset, final Integer limit, final String orderBy,
|
private SearchParameters(final Long officeId, final String externalId, final String name, final String hierarchy,
|
||||||
final String sortOrder) {
|
final String firstname, final String lastname, final String status, final Integer offset, final Integer limit,
|
||||||
|
|
||||||
final String externalId = null;
|
|
||||||
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
|
||||||
final Long staffId = null;
|
|
||||||
final String accountNo = null;
|
|
||||||
final Long loanId = null;
|
|
||||||
final Long savingsId = null;
|
|
||||||
final Boolean orphansOnly = false;
|
|
||||||
final boolean isSelfUser = false;
|
|
||||||
|
|
||||||
return new SearchParameters(sqlSearch, null, externalId, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder,
|
|
||||||
staffId, accountNo, loanId, savingsId, orphansOnly, isSelfUser);
|
|
||||||
}
|
|
||||||
|
|
||||||
private SearchParameters(final String sqlSearch, final Long officeId, final String externalId, final String name,
|
|
||||||
final String hierarchy, final String firstname, final String lastname, final Integer offset, final Integer limit,
|
|
||||||
final String orderBy, final String sortOrder, final Long staffId, final String accountNo, final Long loanId,
|
final String orderBy, final String sortOrder, final Long staffId, final String accountNo, final Long loanId,
|
||||||
final Long savingsId, final Boolean orphansOnly, boolean isSelfUser) {
|
final Long savingsId, final Boolean orphansOnly, boolean isSelfUser) {
|
||||||
this.sqlSearch = sqlSearch;
|
|
||||||
this.officeId = officeId;
|
|
||||||
this.externalId = externalId;
|
|
||||||
this.name = name;
|
|
||||||
this.hierarchy = hierarchy;
|
|
||||||
this.firstname = firstname;
|
|
||||||
this.lastname = lastname;
|
|
||||||
this.offset = offset;
|
|
||||||
this.limit = limit;
|
|
||||||
this.orderBy = orderBy;
|
|
||||||
this.sortOrder = sortOrder;
|
|
||||||
this.staffId = staffId;
|
|
||||||
this.accountNo = accountNo;
|
|
||||||
this.loanId = loanId;
|
|
||||||
this.savingsId = savingsId;
|
|
||||||
this.orphansOnly = orphansOnly;
|
|
||||||
this.currencyCode = null;
|
|
||||||
this.provisioningEntryId = null;
|
|
||||||
this.productId = null;
|
|
||||||
this.categoryId = null;
|
|
||||||
this.isSelfUser = isSelfUser;
|
|
||||||
this.status = null;
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
private SearchParameters(final String sqlSearch, final Long officeId, final String externalId, final String name,
|
|
||||||
final String hierarchy, final String firstname, final String lastname, final String status, final Integer offset,
|
|
||||||
final Integer limit, final String orderBy, final String sortOrder, final Long staffId, final String accountNo,
|
|
||||||
final Long loanId, final Long savingsId, final Boolean orphansOnly, boolean isSelfUser) {
|
|
||||||
this.sqlSearch = sqlSearch;
|
|
||||||
this.officeId = officeId;
|
this.officeId = officeId;
|
||||||
this.externalId = externalId;
|
this.externalId = externalId;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
@@ -305,7 +275,6 @@ public final class SearchParameters {
|
|||||||
final String firstname, final String lastname, final Integer offset, final Integer limit, final String orderBy,
|
final String firstname, final String lastname, final Integer offset, final Integer limit, final String orderBy,
|
||||||
final String sortOrder, final Long staffId, final String accountNo, final Long loanId, final Long savingsId,
|
final String sortOrder, final Long staffId, final String accountNo, final Long loanId, final Long savingsId,
|
||||||
final Boolean orphansOnly, boolean isSelfUser) {
|
final Boolean orphansOnly, boolean isSelfUser) {
|
||||||
this.sqlSearch = null;
|
|
||||||
this.officeId = officeId;
|
this.officeId = officeId;
|
||||||
this.externalId = externalId;
|
this.externalId = externalId;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
@@ -331,7 +300,6 @@ public final class SearchParameters {
|
|||||||
|
|
||||||
private SearchParameters(final Long provisioningEntryId, final Long officeId, final Long productId, final Long categoryId,
|
private SearchParameters(final Long provisioningEntryId, final Long officeId, final Long productId, final Long categoryId,
|
||||||
final Integer offset, final Integer limit) {
|
final Integer offset, final Integer limit) {
|
||||||
this.sqlSearch = null;
|
|
||||||
this.externalId = null;
|
this.externalId = null;
|
||||||
this.name = null;
|
this.name = null;
|
||||||
this.hierarchy = null;
|
this.hierarchy = null;
|
||||||
@@ -356,11 +324,10 @@ public final class SearchParameters {
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public SearchParameters(final String sqlSearch, final Long officeId, final String externalId, final String name, final String hierarchy,
|
public SearchParameters(final Long officeId, final String externalId, final String name, final String hierarchy, final String firstname,
|
||||||
final String firstname, final String lastname, final Integer offset, final Integer limit, final String orderBy,
|
final String lastname, final Integer offset, final Integer limit, final String orderBy, final String sortOrder,
|
||||||
final String sortOrder, final Long staffId, final String accountNo, final Long loanId, final Long savingsId,
|
final Long staffId, final String accountNo, final Long loanId, final Long savingsId, final Boolean orphansOnly,
|
||||||
final Boolean orphansOnly, final String currencyCode) {
|
final String currencyCode) {
|
||||||
this.sqlSearch = sqlSearch;
|
|
||||||
this.officeId = officeId;
|
this.officeId = officeId;
|
||||||
this.externalId = externalId;
|
this.externalId = externalId;
|
||||||
this.name = name;
|
this.name = name;
|
||||||
@@ -429,10 +396,6 @@ public final class SearchParameters {
|
|||||||
return StringUtils.isNotBlank(this.hierarchy);
|
return StringUtils.isNotBlank(this.hierarchy);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String getSqlSearch() {
|
|
||||||
return this.sqlSearch;
|
|
||||||
}
|
|
||||||
|
|
||||||
public Long getOfficeId() {
|
public Long getOfficeId() {
|
||||||
return this.officeId;
|
return this.officeId;
|
||||||
}
|
}
|
||||||
@@ -553,8 +516,8 @@ public final class SearchParameters {
|
|||||||
final String sortOrder) {
|
final String sortOrder) {
|
||||||
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
||||||
|
|
||||||
return new SearchParameters(null, null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, null, null, null,
|
return new SearchParameters(null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, null, null, null, null,
|
||||||
null, null, false);
|
null, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -566,7 +529,7 @@ public final class SearchParameters {
|
|||||||
final String sortOrder) {
|
final String sortOrder) {
|
||||||
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
final Integer maxLimitAllowed = getCheckedLimit(limit);
|
||||||
|
|
||||||
return new SearchParameters(null, null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, null, null, null,
|
return new SearchParameters(null, null, null, null, null, null, offset, maxLimitAllowed, orderBy, sortOrder, null, null, null, null,
|
||||||
null, null, false);
|
null, false);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+8
-9
@@ -271,8 +271,8 @@ public class BulkImportWorkbookPopulatorServiceImpl implements BulkImportWorkboo
|
|||||||
List<OfficeData> offices = null;
|
List<OfficeData> offices = null;
|
||||||
if (officeId == null) {
|
if (officeId == null) {
|
||||||
Boolean includeAllOffices = Boolean.TRUE;
|
Boolean includeAllOffices = Boolean.TRUE;
|
||||||
offices = (List) this.officeReadPlatformService.retrieveAllOffices(includeAllOffices, new SearchParameters(null, null, null,
|
offices = (List) this.officeReadPlatformService.retrieveAllOffices(includeAllOffices,
|
||||||
null, null, null, null, null, null, "id", "asc", null, null, null, null, null, null));
|
new SearchParameters(null, null, null, null, null, null, null, null, "id", "asc", null, null, null, null, null, null));
|
||||||
} else {
|
} else {
|
||||||
offices = new ArrayList<>();
|
offices = new ArrayList<>();
|
||||||
offices.add(this.officeReadPlatformService.retrieveOffice(officeId));
|
offices.add(this.officeReadPlatformService.retrieveOffice(officeId));
|
||||||
@@ -341,7 +341,7 @@ public class BulkImportWorkbookPopulatorServiceImpl implements BulkImportWorkboo
|
|||||||
if (officeId == null) {
|
if (officeId == null) {
|
||||||
centers = (List<CenterData>) this.centerReadPlatformService.retrieveAll(null, null);
|
centers = (List<CenterData>) this.centerReadPlatformService.retrieveAll(null, null);
|
||||||
} else {
|
} else {
|
||||||
SearchParameters searchParameters = SearchParameters.from(null, officeId, null, null, null);
|
SearchParameters searchParameters = SearchParameters.from(officeId, null, null, null);
|
||||||
centers = (List<CenterData>) centerReadPlatformService.retrieveAll(searchParameters, null);
|
centers = (List<CenterData>) centerReadPlatformService.retrieveAll(searchParameters, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -359,7 +359,7 @@ public class BulkImportWorkbookPopulatorServiceImpl implements BulkImportWorkboo
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
SearchParameters searchParameters = SearchParameters.from(null, officeId, null, null, null);
|
SearchParameters searchParameters = SearchParameters.from(officeId, null, null, null);
|
||||||
Page<ClientData> clientDataPage = this.clientReadPlatformService.retrieveAll(searchParameters);
|
Page<ClientData> clientDataPage = this.clientReadPlatformService.retrieveAll(searchParameters);
|
||||||
if (clientDataPage != null) {
|
if (clientDataPage != null) {
|
||||||
clients = new ArrayList<>();
|
clients = new ArrayList<>();
|
||||||
@@ -420,7 +420,7 @@ public class BulkImportWorkbookPopulatorServiceImpl implements BulkImportWorkboo
|
|||||||
if (officeId == null) {
|
if (officeId == null) {
|
||||||
groups = (List<GroupGeneralData>) this.groupReadPlatformService.retrieveAll(null, null);
|
groups = (List<GroupGeneralData>) this.groupReadPlatformService.retrieveAll(null, null);
|
||||||
} else {
|
} else {
|
||||||
SearchParameters searchParameters = SearchParameters.from(null, officeId, null, null, null);
|
SearchParameters searchParameters = SearchParameters.from(officeId, null, null, null);
|
||||||
groups = (List<GroupGeneralData>) groupReadPlatformService.retrieveAll(searchParameters, null);
|
groups = (List<GroupGeneralData>) groupReadPlatformService.retrieveAll(searchParameters, null);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -448,7 +448,7 @@ public class BulkImportWorkbookPopulatorServiceImpl implements BulkImportWorkboo
|
|||||||
if (officeId == null) {
|
if (officeId == null) {
|
||||||
loanAccounts = loanReadPlatformService.retrieveAll(null).getPageItems();
|
loanAccounts = loanReadPlatformService.retrieveAll(null).getPageItems();
|
||||||
} else {
|
} else {
|
||||||
SearchParameters searchParameters = SearchParameters.from(null, officeId, null, null, null);
|
SearchParameters searchParameters = SearchParameters.from(officeId, null, null, null);
|
||||||
loanAccounts = loanReadPlatformService.retrieveAll(searchParameters).getPageItems();
|
loanAccounts = loanReadPlatformService.retrieveAll(searchParameters).getPageItems();
|
||||||
}
|
}
|
||||||
return loanAccounts;
|
return loanAccounts;
|
||||||
@@ -488,12 +488,11 @@ public class BulkImportWorkbookPopulatorServiceImpl implements BulkImportWorkboo
|
|||||||
|
|
||||||
private List<SavingsAccountData> fetchSavingsAccounts(Long officeId) {
|
private List<SavingsAccountData> fetchSavingsAccounts(Long officeId) {
|
||||||
List<SavingsAccountData> savingsAccounts = null;
|
List<SavingsAccountData> savingsAccounts = null;
|
||||||
String activeAccounts = "sa.status_enum = 300";
|
|
||||||
if (officeId != null) {
|
if (officeId != null) {
|
||||||
SearchParameters searchParameters = SearchParameters.from(activeAccounts, officeId, null, null, null);
|
SearchParameters searchParameters = SearchParameters.builder().officeId(officeId).status("300").build();
|
||||||
savingsAccounts = savingsAccountReadPlatformService.retrieveAll(searchParameters).getPageItems();
|
savingsAccounts = savingsAccountReadPlatformService.retrieveAll(searchParameters).getPageItems();
|
||||||
} else {
|
} else {
|
||||||
SearchParameters searchParameters = SearchParameters.from(activeAccounts, null, null, null, null);
|
SearchParameters searchParameters = SearchParameters.builder().status("300").build();
|
||||||
savingsAccounts = savingsAccountReadPlatformService.retrieveAll(searchParameters).getPageItems();
|
savingsAccounts = savingsAccountReadPlatformService.retrieveAll(searchParameters).getPageItems();
|
||||||
}
|
}
|
||||||
return savingsAccounts;
|
return savingsAccounts;
|
||||||
|
|||||||
+7
-9
@@ -74,12 +74,11 @@ public class EmailApiResource {
|
|||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("pendingEmail")
|
@Path("pendingEmail")
|
||||||
public String retrievePendingEmail(@QueryParam("sqlSearch") final String sqlSearch, @QueryParam("offset") final Integer offset,
|
public String retrievePendingEmail(@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit,
|
||||||
@QueryParam("limit") final Integer limit, @QueryParam("orderBy") final String orderBy,
|
@QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) {
|
||||||
@QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) {
|
|
||||||
|
|
||||||
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||||
final SearchParameters searchParameters = SearchParameters.forEmailCampaign(sqlSearch, offset, limit, orderBy, sortOrder);
|
final SearchParameters searchParameters = SearchParameters.forEmailCampaign(offset, limit, orderBy, sortOrder);
|
||||||
Collection<EmailData> emailMessages = readPlatformService.retrieveAllPending(searchParameters);
|
Collection<EmailData> emailMessages = readPlatformService.retrieveAllPending(searchParameters);
|
||||||
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
||||||
return toApiJsonSerializer.serialize(settings, emailMessages);
|
return toApiJsonSerializer.serialize(settings, emailMessages);
|
||||||
@@ -87,13 +86,12 @@ public class EmailApiResource {
|
|||||||
|
|
||||||
@GET
|
@GET
|
||||||
@Path("sentEmail")
|
@Path("sentEmail")
|
||||||
public String retrieveSentEmail(@QueryParam("sqlSearch") final String sqlSearch, @QueryParam("offset") final Integer offset,
|
public String retrieveSentEmail(@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit,
|
||||||
@QueryParam("limit") final Integer limit, @QueryParam("orderBy") final String orderBy,
|
@QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) {
|
||||||
@QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) {
|
|
||||||
|
|
||||||
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||||
|
|
||||||
final SearchParameters searchParameters = SearchParameters.forEmailCampaign(sqlSearch, offset, limit, orderBy, sortOrder);
|
final SearchParameters searchParameters = SearchParameters.forEmailCampaign(offset, limit, orderBy, sortOrder);
|
||||||
Collection<EmailData> emailMessages = readPlatformService.retrieveAllSent(searchParameters);
|
Collection<EmailData> emailMessages = readPlatformService.retrieveAllSent(searchParameters);
|
||||||
|
|
||||||
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
||||||
@@ -133,7 +131,7 @@ public class EmailApiResource {
|
|||||||
|
|
||||||
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||||
|
|
||||||
final SearchParameters searchParameters = SearchParameters.forEmailCampaign(sqlSearch, offset, limit, orderBy, sortOrder);
|
final SearchParameters searchParameters = SearchParameters.forEmailCampaign(offset, limit, orderBy, sortOrder);
|
||||||
Collection<EmailData> emailMessages = readPlatformService.retrieveAllFailed(searchParameters);
|
Collection<EmailData> emailMessages = readPlatformService.retrieveAllFailed(searchParameters);
|
||||||
|
|
||||||
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
||||||
|
|||||||
+3
-4
@@ -139,11 +139,10 @@ public class SmsCampaignApiResource {
|
|||||||
|
|
||||||
smscampaigns""")
|
smscampaigns""")
|
||||||
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = SmsCampaignData.class)))
|
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = SmsCampaignData.class)))
|
||||||
public String retrieveAllEmails(@QueryParam("sqlSearch") final String sqlSearch, @QueryParam("offset") final Integer offset,
|
public String retrieveAllEmails(@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit,
|
||||||
@QueryParam("limit") final Integer limit, @QueryParam("orderBy") final String orderBy,
|
@QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) {
|
||||||
@QueryParam("sortOrder") final String sortOrder, @Context final UriInfo uriInfo) {
|
|
||||||
platformSecurityContext.authenticatedUser().validateHasReadPermission(SmsCampaignConstants.RESOURCE_NAME);
|
platformSecurityContext.authenticatedUser().validateHasReadPermission(SmsCampaignConstants.RESOURCE_NAME);
|
||||||
final SearchParameters searchParameters = SearchParameters.forSMSCampaign(sqlSearch, offset, limit, orderBy, sortOrder);
|
final SearchParameters searchParameters = SearchParameters.forSMSCampaign(offset, limit, orderBy, sortOrder);
|
||||||
Page<SmsCampaignData> smsCampaignDataCollection = smsCampaignReadPlatformService.retrieveAll(searchParameters);
|
Page<SmsCampaignData> smsCampaignDataCollection = smsCampaignReadPlatformService.retrieveAll(searchParameters);
|
||||||
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
||||||
return toApiJsonSerializer.serialize(settings, smsCampaignDataCollection);
|
return toApiJsonSerializer.serialize(settings, smsCampaignDataCollection);
|
||||||
|
|||||||
+4
-4
@@ -95,11 +95,11 @@ public class SmsApiResource {
|
|||||||
public String retrieveAllSmsByStatus(@PathParam("campaignId") final Long campaignId, @Context final UriInfo uriInfo,
|
public String retrieveAllSmsByStatus(@PathParam("campaignId") final Long campaignId, @Context final UriInfo uriInfo,
|
||||||
@QueryParam("status") final Long status, @QueryParam("fromDate") final DateParam fromDateParam,
|
@QueryParam("status") final Long status, @QueryParam("fromDate") final DateParam fromDateParam,
|
||||||
@QueryParam("toDate") final DateParam toDateParam, @QueryParam("locale") final String locale,
|
@QueryParam("toDate") final DateParam toDateParam, @QueryParam("locale") final String locale,
|
||||||
@QueryParam("dateFormat") final String rawDateFormat, @QueryParam("sqlSearch") final String sqlSearch,
|
@QueryParam("dateFormat") final String rawDateFormat, @QueryParam("offset") final Integer offset,
|
||||||
@QueryParam("offset") final Integer offset, @QueryParam("limit") final Integer limit,
|
@QueryParam("limit") final Integer limit, @QueryParam("orderBy") final String orderBy,
|
||||||
@QueryParam("orderBy") final String orderBy, @QueryParam("sortOrder") final String sortOrder) {
|
@QueryParam("sortOrder") final String sortOrder) {
|
||||||
context.authenticatedUser().validateHasReadPermission(resourceNameForPermissions);
|
context.authenticatedUser().validateHasReadPermission(resourceNameForPermissions);
|
||||||
final SearchParameters searchParameters = SearchParameters.forSMSCampaign(sqlSearch, offset, limit, orderBy, sortOrder);
|
final SearchParameters searchParameters = SearchParameters.forSMSCampaign(offset, limit, orderBy, sortOrder);
|
||||||
|
|
||||||
final DateFormat dateFormat = StringUtils.isBlank(rawDateFormat) ? null : new DateFormat(rawDateFormat);
|
final DateFormat dateFormat = StringUtils.isBlank(rawDateFormat) ? null : new DateFormat(rawDateFormat);
|
||||||
|
|
||||||
|
|||||||
+1
-3
@@ -116,7 +116,6 @@ public class AccountTransfersApiResource {
|
|||||||
@ApiResponses({
|
@ApiResponses({
|
||||||
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = AccountTransfersApiResourceSwagger.GetAccountTransfersResponse.class))) })
|
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = AccountTransfersApiResourceSwagger.GetAccountTransfersResponse.class))) })
|
||||||
public String retrieveAll(@Context final UriInfo uriInfo,
|
public String retrieveAll(@Context final UriInfo uriInfo,
|
||||||
@QueryParam("sqlSearch") @Parameter(description = "sqlSearch") final String sqlSearch,
|
|
||||||
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
||||||
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
||||||
@QueryParam("limit") @Parameter(example = "limit") final Integer limit,
|
@QueryParam("limit") @Parameter(example = "limit") final Integer limit,
|
||||||
@@ -126,8 +125,7 @@ public class AccountTransfersApiResource {
|
|||||||
|
|
||||||
this.context.authenticatedUser().validateHasReadPermission(AccountTransfersApiConstants.ACCOUNT_TRANSFER_RESOURCE_NAME);
|
this.context.authenticatedUser().validateHasReadPermission(AccountTransfersApiConstants.ACCOUNT_TRANSFER_RESOURCE_NAME);
|
||||||
|
|
||||||
final SearchParameters searchParameters = SearchParameters.forAccountTransfer(sqlSearch, externalId, offset, limit, orderBy,
|
final SearchParameters searchParameters = SearchParameters.forAccountTransfer(externalId, offset, limit, orderBy, sortOrder);
|
||||||
sortOrder);
|
|
||||||
|
|
||||||
final Page<AccountTransferData> transfers = this.accountTransfersReadPlatformService.retrieveAll(searchParameters, accountDetailId);
|
final Page<AccountTransferData> transfers = this.accountTransfersReadPlatformService.retrieveAll(searchParameters, accountDetailId);
|
||||||
|
|
||||||
|
|||||||
+3
-7
@@ -169,7 +169,6 @@ public class StandingInstructionApiResource {
|
|||||||
@ApiResponses({
|
@ApiResponses({
|
||||||
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = StandingInstructionApiResourceSwagger.GetStandingInstructionsResponse.class))) })
|
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = StandingInstructionApiResourceSwagger.GetStandingInstructionsResponse.class))) })
|
||||||
public String retrieveAll(@Context final UriInfo uriInfo,
|
public String retrieveAll(@Context final UriInfo uriInfo,
|
||||||
@QueryParam("sqlSearch") @Parameter(description = "sqlSearch") final String sqlSearch,
|
|
||||||
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
||||||
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
||||||
@QueryParam("limit") @Parameter(description = "limit") final Integer limit,
|
@QueryParam("limit") @Parameter(description = "limit") final Integer limit,
|
||||||
@@ -183,8 +182,7 @@ public class StandingInstructionApiResource {
|
|||||||
|
|
||||||
this.context.authenticatedUser().validateHasReadPermission(StandingInstructionApiConstants.STANDING_INSTRUCTION_RESOURCE_NAME);
|
this.context.authenticatedUser().validateHasReadPermission(StandingInstructionApiConstants.STANDING_INSTRUCTION_RESOURCE_NAME);
|
||||||
|
|
||||||
final SearchParameters searchParameters = SearchParameters.forAccountTransfer(sqlSearch, externalId, offset, limit, orderBy,
|
final SearchParameters searchParameters = SearchParameters.forAccountTransfer(externalId, offset, limit, orderBy, sortOrder);
|
||||||
sortOrder);
|
|
||||||
|
|
||||||
final LocalDate startDateRange = null;
|
final LocalDate startDateRange = null;
|
||||||
final LocalDate endDateRange = null;
|
final LocalDate endDateRange = null;
|
||||||
@@ -206,8 +204,7 @@ public class StandingInstructionApiResource {
|
|||||||
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = StandingInstructionApiResourceSwagger.GetStandingInstructionsStandingInstructionIdResponse.class))) })
|
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = StandingInstructionApiResourceSwagger.GetStandingInstructionsStandingInstructionIdResponse.class))) })
|
||||||
public String retrieveOne(
|
public String retrieveOne(
|
||||||
@PathParam("standingInstructionId") @Parameter(description = "standingInstructionId") final Long standingInstructionId,
|
@PathParam("standingInstructionId") @Parameter(description = "standingInstructionId") final Long standingInstructionId,
|
||||||
@Context final UriInfo uriInfo, @QueryParam("sqlSearch") @Parameter(description = "sqlSearch") final String sqlSearch,
|
@Context final UriInfo uriInfo, @QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
||||||
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
|
||||||
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
||||||
@QueryParam("limit") @Parameter(description = "limit") final Integer limit,
|
@QueryParam("limit") @Parameter(description = "limit") final Integer limit,
|
||||||
@QueryParam("orderBy") @Parameter(description = "orderBy") final String orderBy,
|
@QueryParam("orderBy") @Parameter(description = "orderBy") final String orderBy,
|
||||||
@@ -216,8 +213,7 @@ public class StandingInstructionApiResource {
|
|||||||
this.context.authenticatedUser().validateHasReadPermission(StandingInstructionApiConstants.STANDING_INSTRUCTION_RESOURCE_NAME);
|
this.context.authenticatedUser().validateHasReadPermission(StandingInstructionApiConstants.STANDING_INSTRUCTION_RESOURCE_NAME);
|
||||||
|
|
||||||
StandingInstructionData standingInstructionData = this.standingInstructionReadPlatformService.retrieveOne(standingInstructionId);
|
StandingInstructionData standingInstructionData = this.standingInstructionReadPlatformService.retrieveOne(standingInstructionId);
|
||||||
final SearchParameters searchParameters = SearchParameters.forAccountTransfer(sqlSearch, externalId, offset, limit, orderBy,
|
final SearchParameters searchParameters = SearchParameters.forAccountTransfer(externalId, offset, limit, orderBy, sortOrder);
|
||||||
sortOrder);
|
|
||||||
final Set<String> associationParameters = ApiParameterHelper.extractAssociationsForResponseIfProvided(uriInfo.getQueryParameters());
|
final Set<String> associationParameters = ApiParameterHelper.extractAssociationsForResponseIfProvided(uriInfo.getQueryParameters());
|
||||||
Page<AccountTransferData> transfers = null;
|
Page<AccountTransferData> transfers = null;
|
||||||
if (!associationParameters.isEmpty()) {
|
if (!associationParameters.isEmpty()) {
|
||||||
|
|||||||
+1
-3
@@ -69,7 +69,6 @@ public class StandingInstructionHistoryApiResource {
|
|||||||
@ApiResponses({
|
@ApiResponses({
|
||||||
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = StandingInstructionHistoryApiResourceSwagger.GetStandingInstructionRunHistoryResponse.class))) })
|
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = StandingInstructionHistoryApiResourceSwagger.GetStandingInstructionRunHistoryResponse.class))) })
|
||||||
public String retrieveAll(@Context final UriInfo uriInfo,
|
public String retrieveAll(@Context final UriInfo uriInfo,
|
||||||
@QueryParam("sqlSearch") @Parameter(description = "sqlSearch") final String sqlSearch,
|
|
||||||
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
||||||
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
||||||
@QueryParam("limit") @Parameter(description = "limit") final Integer limit,
|
@QueryParam("limit") @Parameter(description = "limit") final Integer limit,
|
||||||
@@ -89,8 +88,7 @@ public class StandingInstructionHistoryApiResource {
|
|||||||
|
|
||||||
final DateFormat dateFormat = StringUtils.isBlank(rawDateFormat) ? null : new DateFormat(rawDateFormat);
|
final DateFormat dateFormat = StringUtils.isBlank(rawDateFormat) ? null : new DateFormat(rawDateFormat);
|
||||||
|
|
||||||
final SearchParameters searchParameters = SearchParameters.forAccountTransfer(sqlSearch, externalId, offset, limit, orderBy,
|
final SearchParameters searchParameters = SearchParameters.forAccountTransfer(externalId, offset, limit, orderBy, sortOrder);
|
||||||
sortOrder);
|
|
||||||
LocalDate startDateRange = null;
|
LocalDate startDateRange = null;
|
||||||
LocalDate endDateRange = null;
|
LocalDate endDateRange = null;
|
||||||
if (fromDateParam != null) {
|
if (fromDateParam != null) {
|
||||||
|
|||||||
+7
-9
@@ -136,7 +136,6 @@ public class ClientsApiResource {
|
|||||||
@ApiResponses({
|
@ApiResponses({
|
||||||
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = ClientsApiResourceSwagger.GetClientsResponse.class))) })
|
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = ClientsApiResourceSwagger.GetClientsResponse.class))) })
|
||||||
public String retrieveAll(@Context final UriInfo uriInfo,
|
public String retrieveAll(@Context final UriInfo uriInfo,
|
||||||
@QueryParam("sqlSearch") @Parameter(description = "sqlSearch") final String sqlSearch,
|
|
||||||
@QueryParam("officeId") @Parameter(description = "officeId") final Long officeId,
|
@QueryParam("officeId") @Parameter(description = "officeId") final Long officeId,
|
||||||
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
||||||
@QueryParam("displayName") @Parameter(description = "displayName") final String displayName,
|
@QueryParam("displayName") @Parameter(description = "displayName") final String displayName,
|
||||||
@@ -150,8 +149,8 @@ public class ClientsApiResource {
|
|||||||
@QueryParam("sortOrder") @Parameter(description = "sortOrder") final String sortOrder,
|
@QueryParam("sortOrder") @Parameter(description = "sortOrder") final String sortOrder,
|
||||||
@QueryParam("orphansOnly") @Parameter(description = "orphansOnly") final Boolean orphansOnly) {
|
@QueryParam("orphansOnly") @Parameter(description = "orphansOnly") final Boolean orphansOnly) {
|
||||||
|
|
||||||
return retrieveAll(uriInfo, sqlSearch, officeId, externalId, displayName, firstname, lastname, status, hierarchy, offset, limit,
|
return retrieveAll(uriInfo, officeId, externalId, displayName, firstname, lastname, status, hierarchy, offset, limit, orderBy,
|
||||||
orderBy, sortOrder, orphansOnly, false);
|
sortOrder, orphansOnly, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
@@ -440,13 +439,12 @@ public class ClientsApiResource {
|
|||||||
return retrieveClientTransferTemplate(null, externalId);
|
return retrieveClientTransferTemplate(null, externalId);
|
||||||
}
|
}
|
||||||
|
|
||||||
public String retrieveAll(final UriInfo uriInfo, final String sqlSearch, final Long officeId, final String externalId,
|
public String retrieveAll(final UriInfo uriInfo, final Long officeId, final String externalId, final String displayName,
|
||||||
final String displayName, final String firstname, final String lastname, final String status, final String hierarchy,
|
final String firstname, final String lastname, final String status, final String hierarchy, final Integer offset,
|
||||||
final Integer offset, final Integer limit, final String orderBy, final String sortOrder, final Boolean orphansOnly,
|
final Integer limit, final String orderBy, final String sortOrder, final Boolean orphansOnly, final boolean isSelfUser) {
|
||||||
final boolean isSelfUser) {
|
|
||||||
context.authenticatedUser().validateHasReadPermission(ClientApiConstants.CLIENT_RESOURCE_NAME);
|
context.authenticatedUser().validateHasReadPermission(ClientApiConstants.CLIENT_RESOURCE_NAME);
|
||||||
final SearchParameters searchParameters = SearchParameters.forClients(sqlSearch, officeId, externalId, displayName, firstname,
|
final SearchParameters searchParameters = SearchParameters.forClients(officeId, externalId, displayName, firstname, lastname,
|
||||||
lastname, status, hierarchy, offset, limit, orderBy, sortOrder, orphansOnly, isSelfUser);
|
status, hierarchy, offset, limit, orderBy, sortOrder, orphansOnly, isSelfUser);
|
||||||
final Page<ClientData> clientData = clientReadPlatformService.retrieveAll(searchParameters);
|
final Page<ClientData> clientData = clientReadPlatformService.retrieveAll(searchParameters);
|
||||||
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
final ApiRequestJsonSerializationSettings settings = apiRequestParameterHelper.process(uriInfo.getQueryParameters());
|
||||||
return toApiJsonSerializer.serialize(settings, clientData, ClientApiConstants.CLIENT_RESPONSE_DATA_PARAMETERS);
|
return toApiJsonSerializer.serialize(settings, clientData, ClientApiConstants.CLIENT_RESPONSE_DATA_PARAMETERS);
|
||||||
|
|||||||
-8
@@ -227,7 +227,6 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
|
|||||||
|
|
||||||
private String buildSqlStringFromClientCriteria(String schemaSql, final SearchParameters searchParameters, List<Object> paramList) {
|
private String buildSqlStringFromClientCriteria(String schemaSql, final SearchParameters searchParameters, List<Object> paramList) {
|
||||||
|
|
||||||
String sqlSearch = searchParameters.getSqlSearch();
|
|
||||||
final Long officeId = searchParameters.getOfficeId();
|
final Long officeId = searchParameters.getOfficeId();
|
||||||
final String externalId = searchParameters.getExternalId();
|
final String externalId = searchParameters.getExternalId();
|
||||||
final String displayName = searchParameters.getName();
|
final String displayName = searchParameters.getName();
|
||||||
@@ -236,13 +235,6 @@ public class ClientReadPlatformServiceImpl implements ClientReadPlatformService
|
|||||||
final String status = searchParameters.getStatus();
|
final String status = searchParameters.getStatus();
|
||||||
|
|
||||||
String extraCriteria = "";
|
String extraCriteria = "";
|
||||||
if (sqlSearch != null) {
|
|
||||||
sqlSearch = sqlSearch.replaceAll(" display_name ", " c.display_name ");
|
|
||||||
sqlSearch = sqlSearch.replaceAll("display_name ", "c.display_name ");
|
|
||||||
extraCriteria = " and (" + sqlSearch + ")";
|
|
||||||
this.columnValidator.validateSqlInjection(schemaSql, sqlSearch);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (officeId != null) {
|
if (officeId != null) {
|
||||||
extraCriteria += " and c.office_id = ? ";
|
extraCriteria += " and c.office_id = ? ";
|
||||||
paramList.add(officeId);
|
paramList.add(officeId);
|
||||||
|
|||||||
+4
-4
@@ -465,19 +465,19 @@ public class LoansApiResource {
|
|||||||
@ApiResponses({
|
@ApiResponses({
|
||||||
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = LoansApiResourceSwagger.GetLoansResponse.class))) })
|
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = LoansApiResourceSwagger.GetLoansResponse.class))) })
|
||||||
public String retrieveAll(@Context final UriInfo uriInfo,
|
public String retrieveAll(@Context final UriInfo uriInfo,
|
||||||
@QueryParam("sqlSearch") @Parameter(description = "sqlSearch") final String sqlSearch,
|
|
||||||
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
||||||
// @QueryParam("underHierarchy") final String hierarchy,
|
// @QueryParam("underHierarchy") final String hierarchy,
|
||||||
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
||||||
@QueryParam("limit") @Parameter(description = "limit") final Integer limit,
|
@QueryParam("limit") @Parameter(description = "limit") final Integer limit,
|
||||||
@QueryParam("orderBy") @Parameter(description = "orderBy") final String orderBy,
|
@QueryParam("orderBy") @Parameter(description = "orderBy") final String orderBy,
|
||||||
@QueryParam("sortOrder") @Parameter(description = "sortOrder") final String sortOrder,
|
@QueryParam("sortOrder") @Parameter(description = "sortOrder") final String sortOrder,
|
||||||
@QueryParam("accountNo") @Parameter(description = "accountNo") final String accountNo) {
|
@QueryParam("accountNo") @Parameter(description = "accountNo") final String accountNo,
|
||||||
|
@QueryParam("status") @Parameter(description = "status") final String status) {
|
||||||
|
|
||||||
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
this.context.authenticatedUser().validateHasReadPermission(RESOURCE_NAME_FOR_PERMISSIONS);
|
||||||
|
|
||||||
final SearchParameters searchParameters = SearchParameters.forLoans(sqlSearch, externalId, offset, limit, orderBy, sortOrder,
|
final SearchParameters searchParameters = SearchParameters.builder().accountNo(accountNo).sortOrder(sortOrder)
|
||||||
accountNo);
|
.externalId(externalId).offset(offset).limit(limit).orderBy(orderBy).status(status).build();
|
||||||
|
|
||||||
final Page<LoanAccountData> loanBasicDetails = this.loanReadPlatformService.retrieveAll(searchParameters);
|
final Page<LoanAccountData> loanBasicDetails = this.loanReadPlatformService.retrieveAll(searchParameters);
|
||||||
|
|
||||||
|
|||||||
+5
-8
@@ -55,7 +55,6 @@ import org.apache.fineract.infrastructure.core.service.SearchParameters;
|
|||||||
import org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
|
import org.apache.fineract.infrastructure.core.service.database.DatabaseSpecificSQLGenerator;
|
||||||
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
|
import org.apache.fineract.infrastructure.security.service.PlatformSecurityContext;
|
||||||
import org.apache.fineract.infrastructure.security.utils.ColumnValidator;
|
import org.apache.fineract.infrastructure.security.utils.ColumnValidator;
|
||||||
import org.apache.fineract.infrastructure.security.utils.SQLInjectionValidator;
|
|
||||||
import org.apache.fineract.organisation.monetary.data.CurrencyData;
|
import org.apache.fineract.organisation.monetary.data.CurrencyData;
|
||||||
import org.apache.fineract.organisation.monetary.domain.ApplicationCurrency;
|
import org.apache.fineract.organisation.monetary.domain.ApplicationCurrency;
|
||||||
import org.apache.fineract.organisation.monetary.domain.ApplicationCurrencyRepositoryWrapper;
|
import org.apache.fineract.organisation.monetary.domain.ApplicationCurrencyRepositoryWrapper;
|
||||||
@@ -313,7 +312,7 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService, Loa
|
|||||||
|
|
||||||
// TODO - for time being this will data scope list of loans returned to
|
// TODO - for time being this will data scope list of loans returned to
|
||||||
// only loans that have a client associated.
|
// only loans that have a client associated.
|
||||||
// to support senario where loan has group_id only OR client_id will
|
// to support scenario where loan has group_id only OR client_id will
|
||||||
// probably require a UNION query
|
// probably require a UNION query
|
||||||
// but that at present is an edge case
|
// but that at present is an edge case
|
||||||
sqlBuilder.append(" join m_office o on (o.id = c.office_id or o.id = g.office_id) ");
|
sqlBuilder.append(" join m_office o on (o.id = c.office_id or o.id = g.office_id) ");
|
||||||
@@ -327,12 +326,10 @@ public class LoanReadPlatformServiceImpl implements LoanReadPlatformService, Loa
|
|||||||
|
|
||||||
if (searchParameters != null) {
|
if (searchParameters != null) {
|
||||||
|
|
||||||
String sqlQueryCriteria = searchParameters.getSqlSearch();
|
if (StringUtils.isNotBlank(searchParameters.getStatus())) {
|
||||||
if (StringUtils.isNotBlank(sqlQueryCriteria)) {
|
sqlBuilder.append(" and l.loan_status_id = ?");
|
||||||
SQLInjectionValidator.validateSQLInput(sqlQueryCriteria);
|
extraCriterias.add(Integer.parseInt(searchParameters.getStatus()));
|
||||||
sqlQueryCriteria = sqlQueryCriteria.replace("accountNo", "l.account_no");
|
arrayPos = arrayPos + 1;
|
||||||
this.columnValidator.validateSqlInjection(sqlBuilder.toString(), sqlQueryCriteria);
|
|
||||||
sqlBuilder.append(" and (").append(sqlQueryCriteria).append(")");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(searchParameters.getExternalId())) {
|
if (StringUtils.isNotBlank(searchParameters.getExternalId())) {
|
||||||
|
|||||||
+1
-2
@@ -125,7 +125,6 @@ public class SavingsAccountsApiResource {
|
|||||||
@ApiResponses({
|
@ApiResponses({
|
||||||
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = SavingsAccountsApiResourceSwagger.GetSavingsAccountsResponse.class))) })
|
@ApiResponse(responseCode = "200", description = "OK", content = @Content(schema = @Schema(implementation = SavingsAccountsApiResourceSwagger.GetSavingsAccountsResponse.class))) })
|
||||||
public String retrieveAll(@Context final UriInfo uriInfo,
|
public String retrieveAll(@Context final UriInfo uriInfo,
|
||||||
@QueryParam("sqlSearch") @Parameter(description = "sqlSearch") final String sqlSearch,
|
|
||||||
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
@QueryParam("externalId") @Parameter(description = "externalId") final String externalId,
|
||||||
// @QueryParam("underHierarchy") final String hierarchy,
|
// @QueryParam("underHierarchy") final String hierarchy,
|
||||||
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
@QueryParam("offset") @Parameter(description = "offset") final Integer offset,
|
||||||
@@ -135,7 +134,7 @@ public class SavingsAccountsApiResource {
|
|||||||
|
|
||||||
context.authenticatedUser().validateHasReadPermission(SavingsApiConstants.SAVINGS_ACCOUNT_RESOURCE_NAME);
|
context.authenticatedUser().validateHasReadPermission(SavingsApiConstants.SAVINGS_ACCOUNT_RESOURCE_NAME);
|
||||||
|
|
||||||
final SearchParameters searchParameters = SearchParameters.forSavings(sqlSearch, externalId, offset, limit, orderBy, sortOrder);
|
final SearchParameters searchParameters = SearchParameters.forSavings(externalId, offset, limit, orderBy, sortOrder);
|
||||||
|
|
||||||
final Page<SavingsAccountData> products = savingsAccountReadPlatformService.retrieveAll(searchParameters);
|
final Page<SavingsAccountData> products = savingsAccountReadPlatformService.retrieveAll(searchParameters);
|
||||||
|
|
||||||
|
|||||||
+5
-5
@@ -200,11 +200,11 @@ public class SavingsAccountReadPlatformServiceImpl implements SavingsAccountRead
|
|||||||
objectArray[0] = hierarchySearchString;
|
objectArray[0] = hierarchySearchString;
|
||||||
int arrayPos = 1;
|
int arrayPos = 1;
|
||||||
if (searchParameters != null) {
|
if (searchParameters != null) {
|
||||||
String sqlQueryCriteria = searchParameters.getSqlSearch();
|
|
||||||
if (StringUtils.isNotBlank(sqlQueryCriteria)) {
|
if (StringUtils.isNotBlank(searchParameters.getStatus())) {
|
||||||
sqlQueryCriteria = sqlQueryCriteria.replaceAll("accountNo", "sa.account_no");
|
sqlBuilder.append(" and sa.status_enum = ?");
|
||||||
this.columnValidator.validateSqlInjection(sqlBuilder.toString(), sqlQueryCriteria);
|
objectArray[arrayPos] = Integer.parseInt(searchParameters.getStatus());
|
||||||
sqlBuilder.append(" and (").append(sqlQueryCriteria).append(")");
|
arrayPos = arrayPos + 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (StringUtils.isNotBlank(searchParameters.getExternalId())) {
|
if (StringUtils.isNotBlank(searchParameters.getExternalId())) {
|
||||||
|
|||||||
+2
-3
@@ -90,13 +90,12 @@ public class SelfClientsApiResource {
|
|||||||
@QueryParam("orderBy") @Parameter(description = "orderBy") final String orderBy,
|
@QueryParam("orderBy") @Parameter(description = "orderBy") final String orderBy,
|
||||||
@QueryParam("sortOrder") @Parameter(description = "sortOrder") final String sortOrder) {
|
@QueryParam("sortOrder") @Parameter(description = "sortOrder") final String sortOrder) {
|
||||||
|
|
||||||
final String sqlSearch = null;
|
|
||||||
final Long officeId = null;
|
final Long officeId = null;
|
||||||
final String externalId = null;
|
final String externalId = null;
|
||||||
final String hierarchy = null;
|
final String hierarchy = null;
|
||||||
final Boolean orphansOnly = null;
|
final Boolean orphansOnly = null;
|
||||||
return this.clientApiResource.retrieveAll(uriInfo, sqlSearch, officeId, externalId, displayName, firstname, lastname, status,
|
return this.clientApiResource.retrieveAll(uriInfo, officeId, externalId, displayName, firstname, lastname, status, hierarchy,
|
||||||
hierarchy, offset, limit, orderBy, sortOrder, orphansOnly, true);
|
offset, limit, orderBy, sortOrder, orphansOnly, true);
|
||||||
}
|
}
|
||||||
|
|
||||||
@GET
|
@GET
|
||||||
|
|||||||
+1
-1
@@ -62,7 +62,7 @@ public class ClientTest extends IntegrationTest {
|
|||||||
|
|
||||||
Optional<Long> retrieveFirst() {
|
Optional<Long> retrieveFirst() {
|
||||||
GetClientsResponse clients = ok(
|
GetClientsResponse clients = ok(
|
||||||
fineract().clients.retrieveAll21(null, null, null, null, null, null, null, null, 0, 1, null, null, false));
|
fineract().clients.retrieveAll21(null, null, null, null, null, null, null, 0, 1, null, null, false));
|
||||||
if (clients.getTotalFilteredRecords() != null && clients.getTotalFilteredRecords() > 0) {
|
if (clients.getTotalFilteredRecords() != null && clients.getTotalFilteredRecords() > 0) {
|
||||||
return clients.getPageItems().stream().findFirst().map(item -> item.getId());
|
return clients.getPageItems().stream().findFirst().map(item -> item.getId());
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user