-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/74610/
-----------------------------------------------------------

(Updated Sept. 29, 2023, 1:38 p.m.)


Review request for ranger, Anand Nadar, Ankita Sinha, Madhan Neethiraj, Monika 
Kachhadiya, and Prashant Satam.


Changes
-------

Addressed review comments


Bugs: https://reviews.apache.org/r/74532/bugs/RANGER-4323
    
https://issues.apache.org/jira/browse/https://reviews.apache.org/r/74532/bugs/RANGER-4323


Repository: ranger


Description
-------

We need a new API to get dataset header info, for dataset listing page, based 
on ACL evaluation for the logged in user. It supports:
1. Pagination
2. GDSPermission as query param, based on which ACL evaluation is done
3. Following counts (in case the logged in user has VIEW or higher permission): 
dataSharesActiveCount, dataSharesPendingCount, usersCount, groupsCount, 
rolesCount, projectsCount, resourceCount.
4. Permission for current user (in case GDSPermission in query-param is LIST)
5. Sort by creatTime
6. Search by startDate/endDate
7. Partial search by dataset and datashare name


Diffs (updated)
-----

  
agents-common/src/main/java/org/apache/ranger/plugin/model/RangerDatasetHeader.java
 PRE-CREATION 
  agents-common/src/main/java/org/apache/ranger/plugin/util/SearchFilter.java 
1a1a78064 
  security-admin/src/main/java/org/apache/ranger/biz/GdsDBStore.java ff6b2b23e 
  security-admin/src/main/java/org/apache/ranger/common/RangerSearchUtil.java 
51da7d15d 
  
security-admin/src/main/java/org/apache/ranger/db/XXGdsDataShareInDatasetDao.java
 52c441104 
  security-admin/src/main/java/org/apache/ranger/db/XXPolicyDao.java f020acb21 
  security-admin/src/main/java/org/apache/ranger/rest/GdsREST.java 653e397d4 
  
security-admin/src/main/java/org/apache/ranger/security/context/RangerAPIList.java
 de9014072 
  
security-admin/src/main/java/org/apache/ranger/service/RangerBaseModelService.java
 4128d70df 
  
security-admin/src/main/java/org/apache/ranger/service/RangerGdsDatasetInProjectService.java
 0ed51c249 
  
security-admin/src/main/java/org/apache/ranger/service/RangerGdsDatasetService.java
 747cc9f17 
  
security-admin/src/main/java/org/apache/ranger/service/RangerGdsSharedResourceService.java
 6a963da60 
  
security-admin/src/main/java/org/apache/ranger/validation/RangerGdsValidator.java
 374ac046d 
  security-admin/src/main/resources/META-INF/jpa_named_queries.xml f02101f09 


Diff: https://reviews.apache.org/r/74610/diff/2/

Changes: https://reviews.apache.org/r/74610/diff/1-2/


Testing (updated)
-------

Validated:
1. ACL evaluation based on GDSPermission in query-param
2. Pagination for the records returned
3. Confirmed the counts are returned based on the data available: 
dataSharesActiveCount, dataSharesPendingCount, usersCount, groupsCount, 
rolesCount, projectsCount, resourceCount
4. Search functionality by startDate/endDate
5. Partial search by dataset and datashare name

Updated response:
{
    "startIndex": 0,
    "pageSize": 200,
    "totalCount": 1,
    "resultSize": 1,
    "sortType": "createTime",
    "sortBy": "desc",
    "queryTimeMS": 1695969636652,
    "list": [
        {
            "id": 1,
            "guid": "30b50d94-dfde-4e16-8ef5-722cb8e7442b",
            "isEnabled": true,
            "createdBy": "Admin",
            "updatedBy": "Admin",
            "createTime": 1695969001000,
            "updateTime": 1695969001000,
            "version": 1,
            "name": "Test_GDS_Dataset",
            "dataSharesCountByStatus": {
                "REQUESTED": 1,
                "ACTIVE": 1
            },
            "principalsCountByType": {
                "ROLE": 0,
                "USER": 1,
                "GROUP": 1
            },
            "projectsCount": 1,
            "resourceCount": 4
        }
    ],
    "listSize": 1
}


Thanks,

Subhrat Chaudhary

Reply via email to