[ 
https://issues.apache.org/jira/browse/FINERACT-1910?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Peter Santa updated FINERACT-1910:
----------------------------------
    Description: 
h1. Background

FINERACT-1747
h1. Goal

Have the querying possibilities - that have been developed with FINERACT-1747 - 
extended with the following features:
 * pagination - similarly to several Fineract API endpoints
 * sorting based on given attribute
 * filter for closed interval (from, to) in case of the following typed fields
 ** date
 ** date and time
 ** number
 ** decimal
 * "LIKE" search in string and text fields - use wildcard

 
h1. Solution Concept

If multiple columns would be used as column filter, it is advisable not to put 
this number of query parameters in the url, but in the body. With this, a 
request would look like:
h3. URL

GET 
{{{}url{}}}/datatables/{{{}dataTableId{}}}/query?resultColumns=column3,column6,column4&offset=0&limit=10&sortOrder=desc&orderBy=transaction_date
h3. Body
{
    "columnFilters": [
        {
            "columnName1": {
                "from": 10,
                "to": 1000
            }
        },
        {
            "columnName2": {
                "equals": "The value equals to this string"
            }
        },
        {   
            "columnName3": {
                "contains": "ue equa"
            }
        },
        {   "aColumnThatContainDates1": {
                "gte": "2023-01-01", // including 01-01
                "lte": "2023-01-31", // including 01-31
                "dateFormat": "yyyy-MM-dd",
                "locale": "en" // if this makes any difference
            }
        },
        {   "aColumnThatContainDates2": {
                "gt": "2023-01-01", // greater than, later than
                "lt": "2023-01-31", // less than, earlier than
                "dateFormat": "yyyy-MM-dd",
                "locale": "en" // if this makes any difference
            }
        },
        {   "aColumnThatContainDates3": {
                "from": "2023-01-01", // including 01-01
                "dateFormat": "yyyy-MM-dd",
                "locale": "en" // if this makes any difference
            }
        },
        {    "aColumnThatContainDateTime1": {
                "to": "2023-01-31 17:10:22.321", // including 01-31
                "dateFormat": "yyyy-MM-dd HH:mm:ss.SSS",
                "locale": "en" // if this makes any difference
            }
        }
    ]
}
 

  was:
h1. Background

FINERACT-1747
h1. Goal

Have the querying possibilities - that have been developed with FINERACT-1747 - 
extended with the following features:
 * pagination - similarly to several Fineract API endpoints
 * sorting based on given attribute
 * filter for closed interval (from, to) in case of the following typed fields
 ** date
 ** date and time
 ** number
 ** decimal
 * "LIKE" search in string and text fields - use wildcard

 
h1. Solution Concept

If multiple columns would be used as column filter, it is advisable not to put 
this number of query parameters in the url, but in the body. With this, a 
request would look like:
h3. URL

GET 
{{{}url{}}}/datatables/{{{}dataTableId{}}}/query?resultColumns=column3,column6,column4&offset=0&limit=10&sortOrder=desc&orderBy=transaction_date
h3. Body
{{{
    "columnFilters": [
        {
            "columnName1": {
                "from": 10,
                "to": 1000
            }
        },
        {
            "columnName2": {
                "equals": "The value equals to this string"
            }
        },
        {   
            "columnName3": {
                "contains": "ue equa"
            }
        },
        {   "aColumnThatContainDates1": {
                "gte": "2023-01-01", // including 01-01
                "lte": "2023-01-31", // including 01-31
                "dateFormat": "yyyy-MM-dd",
                "locale": "en" // if this makes any difference
            }
        },
        {   "aColumnThatContainDates2": {
                "gt": "2023-01-01", // greater than, later than
                "lt": "2023-01-31", // less than, earlier than
                "dateFormat": "yyyy-MM-dd",
                "locale": "en" // if this makes any difference
            }
        },
        {   "aColumnThatContainDates3": {
                "from": "2023-01-01", // including 01-01
                "dateFormat": "yyyy-MM-dd",
                "locale": "en" // if this makes any difference
            }
        },
        {    "aColumnThatContainDateTime1": {
                "to": "2023-01-31 17:10:22.321", // including 01-31
                "dateFormat": "yyyy-MM-dd HH:mm:ss.SSS",
                "locale": "en" // if this makes any difference
            }
        }
    ]
}}}


> Have advanced features for data table querying
> ----------------------------------------------
>
>                 Key: FINERACT-1910
>                 URL: https://issues.apache.org/jira/browse/FINERACT-1910
>             Project: Apache Fineract
>          Issue Type: New Feature
>          Components: Data Tables
>            Reporter: Peter Santa
>            Priority: Critical
>
> h1. Background
> FINERACT-1747
> h1. Goal
> Have the querying possibilities - that have been developed with FINERACT-1747 
> - extended with the following features:
>  * pagination - similarly to several Fineract API endpoints
>  * sorting based on given attribute
>  * filter for closed interval (from, to) in case of the following typed fields
>  ** date
>  ** date and time
>  ** number
>  ** decimal
>  * "LIKE" search in string and text fields - use wildcard
>  
> h1. Solution Concept
> If multiple columns would be used as column filter, it is advisable not to 
> put this number of query parameters in the url, but in the body. With this, a 
> request would look like:
> h3. URL
> GET 
> {{{}url{}}}/datatables/{{{}dataTableId{}}}/query?resultColumns=column3,column6,column4&offset=0&limit=10&sortOrder=desc&orderBy=transaction_date
> h3. Body
> {
>     "columnFilters": [
>         {
>             "columnName1": {
>                 "from": 10,
>                 "to": 1000
>             }
>         },
>         {
>             "columnName2": {
>                 "equals": "The value equals to this string"
>             }
>         },
>         {   
>             "columnName3": {
>                 "contains": "ue equa"
>             }
>         },
>         {   "aColumnThatContainDates1": {
>                 "gte": "2023-01-01", // including 01-01
>                 "lte": "2023-01-31", // including 01-31
>                 "dateFormat": "yyyy-MM-dd",
>                 "locale": "en" // if this makes any difference
>             }
>         },
>         {   "aColumnThatContainDates2": {
>                 "gt": "2023-01-01", // greater than, later than
>                 "lt": "2023-01-31", // less than, earlier than
>                 "dateFormat": "yyyy-MM-dd",
>                 "locale": "en" // if this makes any difference
>             }
>         },
>         {   "aColumnThatContainDates3": {
>                 "from": "2023-01-01", // including 01-01
>                 "dateFormat": "yyyy-MM-dd",
>                 "locale": "en" // if this makes any difference
>             }
>         },
>         {    "aColumnThatContainDateTime1": {
>                 "to": "2023-01-31 17:10:22.321", // including 01-31
>                 "dateFormat": "yyyy-MM-dd HH:mm:ss.SSS",
>                 "locale": "en" // if this makes any difference
>             }
>         }
>     ]
> }
>  



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to