Skip to content

Commit a34c455

Browse files
Akshat SoniAkshat Soni
authored andcommitted
Fineract-2408: Update search api resource to support SAVING & SHARE entities
1 parent 9a16a26 commit a34c455

File tree

3 files changed

+30
-0
lines changed

3 files changed

+30
-0
lines changed

fineract-core/src/main/java/org/apache/fineract/portfolio/savings/service/SavingsEnumerations.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -213,6 +213,14 @@ public static SavingsAccountTransactionEnumData transactionType(final SavingsAcc
213213
return optionData;
214214
}
215215

216+
public static EnumOptionData status(final SavingsAccountStatusEnumData status) {
217+
Long id = status.getId();
218+
String code = status.getCode();
219+
String value = status.getValue();
220+
221+
return new EnumOptionData(id, code, value);
222+
}
223+
216224
public static SavingsAccountStatusEnumData status(final Integer statusEnum) {
217225
return status(SavingsAccountStatusType.fromInt(statusEnum));
218226
}

fineract-provider/src/main/java/org/apache/fineract/portfolio/search/service/SearchReadPlatformServiceImpl.java

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,12 +38,15 @@
3838
import org.apache.fineract.portfolio.loanproduct.data.LoanProductData;
3939
import org.apache.fineract.portfolio.loanproduct.service.LoanEnumerations;
4040
import org.apache.fineract.portfolio.loanproduct.service.LoanProductReadPlatformService;
41+
import org.apache.fineract.portfolio.savings.data.SavingsAccountStatusEnumData;
4142
import org.apache.fineract.portfolio.savings.service.SavingsEnumerations;
4243
import org.apache.fineract.portfolio.search.SearchConstants;
4344
import org.apache.fineract.portfolio.search.data.AdHocQuerySearchConditions;
4445
import org.apache.fineract.portfolio.search.data.AdHocSearchQueryData;
4546
import org.apache.fineract.portfolio.search.data.SearchConditions;
4647
import org.apache.fineract.portfolio.search.data.SearchData;
48+
import org.apache.fineract.portfolio.shareaccounts.data.ShareAccountStatusEnumData;
49+
import org.apache.fineract.portfolio.shareaccounts.service.SharesEnumerations;
4750
import org.apache.fineract.useradministration.domain.AppUser;
4851
import org.springframework.jdbc.core.RowMapper;
4952
import org.springframework.jdbc.core.namedparam.MapSqlParameterSource;
@@ -72,6 +75,7 @@ public List<SearchData> retriveMatchingData(final SearchConditions searchConditi
7275
} else {
7376
params.addValue("search", "%" + searchConditions.getSearchQuery() + "%");
7477
}
78+
7579
return namedParameterJdbcTemplate.query(searchSchema(searchConditions), params, rm);
7680
}
7781

@@ -177,6 +181,16 @@ else if (entityType.equalsIgnoreCase("loan")) {
177181
entityStatus = LoanEnumerations.status(loanStatusEnumData);
178182
}
179183

184+
else if (entityType.equalsIgnoreCase("saving")) {
185+
SavingsAccountStatusEnumData savingStatusEnumData = SavingsEnumerations.status(entityStatusEnum);
186+
entityStatus = SavingsEnumerations.status(savingStatusEnumData);
187+
}
188+
189+
else if (entityType.equalsIgnoreCase("share")) {
190+
ShareAccountStatusEnumData shareStatusEnumData = SharesEnumerations.status(entityStatusEnum);
191+
entityStatus = SharesEnumerations.status(shareStatusEnumData);
192+
}
193+
180194
return new SearchData(entityId, entityAccountNo, entityExternalId, entityName, entityType, parentId, parentName, parentType,
181195
entityMobileNo, entityStatus, subEntityTypeCode.getCode());
182196
}

fineract-provider/src/main/java/org/apache/fineract/portfolio/shareaccounts/service/SharesEnumerations.java

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,14 @@ public static ShareAccountStatusEnumData status(final Integer statusEnum) {
3636
return status(ShareAccountStatusType.fromInt(statusEnum));
3737
}
3838

39+
public static EnumOptionData status(final ShareAccountStatusEnumData status) {
40+
Long id = status.getId();
41+
String code = status.getCode();
42+
String value = status.getValue();
43+
44+
return new EnumOptionData(id, code, value);
45+
}
46+
3947
public static ShareAccountStatusEnumData status(final ShareAccountStatusType type) {
4048
final boolean submittedAndPendingApproval = type.isSubmittedAndPendingApproval();
4149
final boolean isApproved = type.isApproved();

0 commit comments

Comments
 (0)