Here is the pipeline design to get list of all workspace list that a user has access to.
user permission can be given in 3 ways
- individual user permission grant
- group permission
- admin permission
this pipeline will scan all workspace of that organization and it will also scan all group list of that organization and it will find out where are the user has access to.
as this scanning takes lots of time we need to cache the data somewhere. here we are using file storage in snaplogic for this cache operation. the file will be refreshed after each 1 hr interval.
we are using a scheduled task for this refreshing.the scheduled job pipeline is given at last.
here are some configuration details of the main pipeline.
this will try to read the data from local file storage first.
if local file does not exist it will go to get all group list:
then it will get group details for each group name.
at next step it will save the extracted data in a file for future use and will proceed for further processing.
here is the configuration of filter to get the workspace list where that mentiond user has access to.
parallelly for individual user permission
then the two result will be joined together to get the final result.
the scheduled task pipeline is:it will be scheduled at cron of 1 hour interval.