At SURROUND we've been building a very comprehensive set of script functions covering aspects all the way from s3 data ingestion and data landing, on-the-fly graph validation and automated workflow creation, and auto-publishing to explorers and other graphs.
It's truly awesome what this deep connection through the EDG stack now supports ! We are just scratching the surface.... Amazing work !
So now that we have a very large set of services setup we want to be able to control who sees these services and where.
Is there a mechanism or recommended approach to control the visibility of API services shown in the generated swagger page ?
We would like to have the following control over the swagger page:
- hide dash , TBS, tosh and other "under the hood" type services
- hide most of our own services that are used "under the hood"
- generate different versions of swagger pages for different EDG roles - make certain services only available to certain roles and also control read/write depending on role
- generate different swagger pages for different graphs - scope certain services to specific graphs. I know changing import closure can do this, but perhaps it can be made conditional on graph params
I first tried using the dash hidden and sh: deactivated flags and found these don't change the api generation. I didn't try the dash:defaultViewForRole, but assume this may not work either. I guess the js function generation is happening in a separate layer to the intended use of node shapes.
We will have a user base of authenticated and public data consumers and I'm developing an ontology with the intent to control how the api's are logically grouped/themed, exposed and controlled. Ultimately I would also like to support skilled power users to create their own api as part of this control.
So are there mechanisms available in the usual 'front end' view of resources ?
Or is there control of visibility and access available in the JS script functions themselves once they are generated ?
Many thanks in advance