adamsaghy commented on code in PR #2624:
URL: https://github.com/apache/fineract/pull/2624#discussion_r983269252


##########
fineract-provider/src/main/java/org/apache/fineract/infrastructure/dataqueries/service/ReadWriteNonCoreDataServiceImpl.java:
##########
@@ -183,6 +185,44 @@ public DatatableData retrieveDatatable(final String 
datatable) {
         return datatableData;
     }
 
+    @Override
+    public List<JsonObject> queryDataTable(String datatable, String 
columnFilter, String valueFilter, String resultColumns) {
+        Arrays.asList(datatable, columnFilter, valueFilter, 
resultColumns).forEach(SQLInjectionValidator::validateDynamicQuery);
+        if(columnFilter == null || valueFilter == null) {
+            return new ArrayList<>(0);
+        }
+
+        List<String> resultColumnNames = resultColumns == null ? 
Collections.emptyList() : Stream.of(resultColumns.split(",")).toList();
+        final String sql = "select " + (resultColumns == null ? "" : 
resultColumns.trim()) + " from " + datatable + " where "

Review Comment:
   Please validate the provided filter column and resultColumns by the 
datatable metadata informations.
   e.g.: this.genericDataService.fillResultsetColumnHeaders(dataTableName); -> 
it will give you the column headers metadata



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to