Hi,
On Tue, May 8, 2018 at 6:10 PM, Sachini De Silva <[email protected]> wrote: > Hi all, > > Proposed resource structure is as below. > > > /exports/apis: > +1. I think this looks more like generic export resource which is not really specific for the ballerina gw feature. I think it is okay as we can use this for any other future requirements which needs API export facilities. > get: > x-scope: apim:api_export > +1 > > produces: > - application/x-gzip > Not sure this is the most suitable content type we need among application/zip, application/gzip and application/x-gzip? To choose a better one, I think we need to think about what structure we are going to give a response with API information. Will it be a compressed file with a set of folders that containing each API's information? > summary: Return apis categorized into a label. > description: | > This operation can be used to fetch APIs categorized into a certain > label. > parameters: > - name: labelId > in: query > required: true > type: string > Since this is a "required" query parameter, we can think of *GET /exports/apis/{labelId} *as well. But if we use this, we will loose the opportunity to define *GET /exports/apis/{apiId} *in future to export a single API. So +1 for the query parameter. Thanks! > > responses: > 200: > description: | > OK. > schema: > type: file > headers: > Content-Type: > description: | > The content type of the body. > type: string > > 404: > description: | > Not Found > Resource to be fetched does not exist. > schema: > $ref: '#/definitions/Error' > > > A new scope apim:export_apis will be added and the new resource will be > protected by that. > The returned file will contain necessary details to create ballerina files > for the APIs. This includes,API name, version, provider, context, API > swagger definition of each API that satisfies the label query. > > > Thanks, > > Sachini > > > On Fri, May 4, 2018 at 10:42 AM, Krishan Wijesena <[email protected]> > wrote: > >> >> >> On Fri, May 4, 2018 at 9:57 AM, Sachini De Silva <[email protected]> >> wrote: >> >>> Hi all, >>> >>> >>> *Design Overview* >>> I am working on developing a REST API to fetch API details to APIM >>> gateway from the publisher. Fetching of APIs is based on labels, i.e as >>> mentioned in [1] a certain set of APIs can be grouped into a certain >>> gateway instance by a label. When setting up the gateway the user executes >>> following command followed by user credentials. >>> >>> setup <label> >>> >>> Then a request for APIs labeled with <label> is sent to API publisher. >>> The response to this is, API details as a compressed JSON. Then based on >>> the retrieved details b7a project structure for the gateway instance will >>> be created and deployed. >>> >> >> How we handle the permission restrictions here? for example if label X >> attached to API1, UserA do not have permission to view API1(restricted by >> roles) called setup<labelX> and he should not get that API1 with compressed >> JSON? or do we provide all the API with label X to that perticulr userA? >> >>> >>> So ideally I should be able to do this by adding a new resource to >>> publisher-api.yaml to fetch APIs by label. Then this resource call has to >>> be mapped to where the setup command is executed. >>> >>> Suggestions are highly appreciated. >>> >>> Related mail threads : >>> [1] [Architecture][APIM] Label feature for API-Manager gateway >>> [2] [Architecture][APIM][API-Manager gateway] Attaching Labels for APIs >>> >>> Thanks, >>> Sachini >>> >>> -- >>> >>> *Sachini De Silva* >>> Software Engineer - WSO2 >>> >>> Email : [email protected] >>> Mobile : +94714765495 >>> >>> >>> _______________________________________________ >>> Architecture mailing list >>> [email protected] >>> https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture >>> >>> >> >> >> -- >> >> *Krishan Wijesena* >> Software Engineer | WSO2 >> >> Email : [email protected] >> Mobile : +94776219923 >> WSO2 Inc : http://wso2.com >> [image: http://wso2.com/signature] <http://wso2.com/signature> >> > > > > -- > > *Sachini De Silva* > Software Engineer - WSO2 > > Email : [email protected] > Mobile : +94714765495 > > > _______________________________________________ > Architecture mailing list > [email protected] > https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture > > -- Malintha Amarasinghe *WSO2, Inc. - lean | enterprise | middleware* http://wso2.com/ Mobile : +94 712383306
_______________________________________________ Architecture mailing list [email protected] https://mail.wso2.org/cgi-bin/mailman/listinfo/architecture
