On Thu, Mar 23, 2017 at 11:50 PM, Malintha Amarasinghe <malint...@wso2.com> wrote:
> Hi Rajith, > > I think what we need to include here is not the full API object, but an > object that has minimal information of an API or an Application such as > name and version (E.g like the list of minimal API info objects we are > returning from GET /apis ). So I guess it will not do harm although we do > not filter that out since it does not contain any sensitive information. > +1 > > IMO 2nd approach is cleaner than the first approach. May be we can rename > them as apiInfo and applicationInfo, just a thought. > > Thanks! > > On Thu, Mar 23, 2017 at 11:19 PM, Rajith Roshan <raji...@wso2.com> wrote: > >> Hi >> >> On Thu, Mar 23, 2017 at 11:33 AM, Anuruddha Liyanarachchi < >> anurudd...@wso2.com> wrote: >> >>> Hi, >>> >>> As per the current publisher REST API [1], there is a resource to get >>> the subscription for a given API. >>> >>> This returns the following subscriptionDTO with subscription details and >>> IDs of other objects associated with it (applicationId, apiId). >>> >>> @JsonProperty("subscriptionId") >>> private String subscriptionId = null; >>> >>> @JsonProperty("applicationId") >>> private String applicationId = null; >>> >>> @JsonProperty("apiId") >>> private String apiId = null; >>> >>> @JsonProperty("subscriptionTier") >>> private String subscriptionTier = null; >>> >>> @JsonProperty("subscriptionStatus") >>> private SubscriptionStatusEnum subscriptionStatus = null; >>> >>> For the UI we need the application name and API name to be displayed >>> along with the subscription status. >>> >>> In order to do get APP_NAME and API_NAME, we need to do two additional >>> network calls with apiID and applicationID to two different resources. >>> >>> Therefore if we are to display 10 subscriptions in the UI we need to do >>> 21 network calls. >>> >>> 1. One network call to get list of subscriptions which return List with >>> 10 subscription DTO objects (1 network call) >>> *publisher/v1/subscriptions?api_id=fe855359-b3fd-4bbf-8f5c-6fb3f020011e* >>> >>> 2. For each subscriptionDTO, we need to do 2 network calls to get API >>> name and Application Name. (2 * 10 = 20 network calls) >>> *publisher/v1/apis?api_id=fe855359-b3fd-4bbf-8f5c-6fb3f020011e* >>> *publisher/v1/applications?**application_id* >>> *=fe855359-b3fd-4bbf-8f5c-6fb3f020011e* >>> >>> There are two ways to handle this. >>> >>> 1. Include the API_NAME and APPLICATION_NAME in the same DTO. >>> @JsonProperty("applicationName") >>> private String applicationName = null; >>> >>> @JsonProperty("apiName") >>> private String apiName = null; >>> >>> >>> 2. Include the *API* *object* and *Application* *object* in the >>> subscription DAO with required fields populated. >>> @JsonProperty("applicationObj") >>> private Application applicationObj = null; >>> >>> @JsonProperty("apiObj") >>> private API apiObj = null; >>> >>> IMO 2nd approach is more suitable. Please share your thoughts. >>> >> >> Are we going to filter out API object from subscription dto if the >> particular user only have "apim:subscription_view" scope .(not >> apim:api_view scope) >> >>> >>> [1] https://github.com/wso2/carbon-apimgt/blob/master/compon >>> ents/apimgt/org.wso2.carbon.apimgt.rest.api.publisher/src/ma >>> in/resources/publisher-api.yaml >>> <https://github.com/wso2/carbon-apimgt/blob/master/components/apimgt/org.wso2.carbon.apimgt.rest.api.publisher/src/main/resources/publisher-api.yaml#L3400-L3429> >>> -- >>> Thanks and Regards, >>> Anuruddha Lanka Liyanarachchi >>> Software Engineer - WSO2 >>> Mobile : +94 (0) 712762611 <+94%2071%20276%202611> >>> Tel : +94 112 145 345 <+94%2011%202%20145345> >>> anurudd...@wso2.com >>> >>> -- >>> *Thanks and Regards,* >>> Anuruddha Lanka Liyanarachchi >>> Software Engineer - WSO2 >>> Mobile : +94 (0) 712762611 >>> Tel : +94 112 145 345 >>> a <thili...@wso2.com>nurudd...@wso2.com >>> >> >> >> >> -- >> Rajith Roshan >> Software Engineer, WSO2 Inc. >> Mobile: +94-72-642-8350 <%2B94-71-554-8430> >> > > > > -- > Malintha Amarasinghe > Software Engineer > *WSO2, Inc. - lean | enterprise | middleware* > http://wso2.com/ > > Mobile : +94 712383306 <+94%2071%20238%203306> > -- Rajith Roshan Software Engineer, WSO2 Inc. Mobile: +94-72-642-8350 <%2B94-71-554-8430>
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev