Since GraphQL is just a another API, we can create a swagger and continue
with the existing approach. Even for GraphQL isn't swagger getting created
as we need to define atleast one resource?

On Thu, Jul 11, 2019 at 11:01 AM Hiranya Abeyrathne <[email protected]>
wrote:

>
>
>
>
> On Thu, Jul 11, 2019 at 10:41 AM Malintha Amarasinghe <[email protected]>
> wrote:
>
>>
>>
>> On Thu, Jul 11, 2019 at 10:28 AM Sanjeewa Malalgoda <[email protected]>
>> wrote:
>>
>>>
>>>
>>> On Wed, Jul 10, 2019 at 7:14 PM Malintha Amarasinghe <[email protected]>
>>> wrote:
>>>
>>>>
>>>> On Wed, Jul 10, 2019 at 6:30 PM Hiranya Abeyrathne <[email protected]>
>>>> wrote:
>>>>
>>>>> +adding [email protected]
>>>>>
>>>>> Hiranya Abeyrathne
>>>>> Software Engineer,
>>>>>
>>>>> *WSO2, Inc. *
>>>>>
>>>>> lean. enterprise. middleware
>>>>> Mob: +94 70210 8657
>>>>> LinkedIn: https://www.linkedin.com/in/hiranya-kavishani/
>>>>>
>>>>> <http://wso2.com/signature>
>>>>>
>>>>>
>>>>> On Wed, Jul 10, 2019 at 6:16 PM Harsha Kumara <[email protected]>
>>>>> wrote:
>>>>>
>>>>>> Pleas use dev mailing thread for the public discussions.
>>>>>>
>>>>>> On Wed, Jul 10, 2019 at 6:13 PM Hiranya Abeyrathne <[email protected]>
>>>>>> wrote:
>>>>>>
>>>>>
>>>> Adding some points we discussed offline :
>>>>
>>>>
>>>>> Hi all,
>>>>>>>
>>>>>>> This is regarding a problem which has been encountered during the
>>>>>>> graphQL implementation.
>>>>>>>
>>>>>>> Currently, we have stored the swagger definition of an API at the
>>>>>>> registry and it contains the global scopes which have been created for 
>>>>>>> an
>>>>>>> API. Once these created scopes are registered to resources, we store 
>>>>>>> them
>>>>>>> in the DB. But in the graphQL schema, we are not able to store global
>>>>>>> scopes. AFAIK, there are two options that we can use to solve this 
>>>>>>> problem
>>>>>>> for GraphQL APIs.
>>>>>>>
>>>>>>> 1. *Global scopes in GraphQL APIs, will not be stored in any
>>>>>>> persistence storage. (*Once the user creates a global scope, it
>>>>>>> should be assigned to an operation at the same time)
>>>>>>>
>>>>>> Then any scopes that are not assigned to any operation will be lost
>>>> when refreshing. But this does not require additional resources (like a
>>>> swagger below)
>>>>
>>> What does it mean by global scope? In store what we do is create scopes
>>> in API level and assign them to one or more resources. Did i missed
>>> something?
>>>
>> No Sanjeewa that's correct. It is actually the scopes created in API
>> level (which becomes ultimately global since we can't assign them to any
>> other APIs).
>>
>> If we take a normal REST API, if we created a scope called read_api but
>> didn't assign it to any resource, the mapping available for it to the
>> particular API is only inside the swagger. For graphQL APIs, we didn't plan
>> to add a swagger so this information will lose. But if we assign that scope
>> to a resource, it will be added to the URL mapping table. So, any scopes
>> that are not assigned to any resource, are likely to lose (if we refresh
>> the page) in the current approach.
>>
>
> Yes. The scopes which are created in API level, are stored in the
> IDN_SCOPE related tables, only when they are assigned to resources.
> Therefore, we can go with either fist/second option which has been
> mentioned above or is there any other better option to handle this?
>
>
>>
>>> Thanks,
>>> sanjeewa.
>>>
>>>>
>>>>
>>>>>
>>>>>>> 2. *Creating a swagger definition for graphQL API and storing it in
>>>>>>> the registry. (*Then the registry will store both the graphQL
>>>>>>> schema and the swagger definition)
>>>>>>>
>>>>>> This is basically including the mandatory resources of graphQL API
>>>> (eg: GET, POST /*) and the global set of scopes (scopes element at the top
>>>> of the swagger). The global scope set won't be lost like first option.
>>>>
>>>> Thanks!
>>>>
>>>>
>>>>>
>>>>>>> Your valuable input in this regard is highly appreciated.
>>>>>>>
>>>>>>> Thanks!
>>>>>>> Hiranya Abeyrathne
>>>>>>> Software Engineer,
>>>>>>>
>>>>>>> *WSO2, Inc. *
>>>>>>>
>>>>>>> lean. enterprise. middleware
>>>>>>> Mob: +94 70210 8657
>>>>>>> LinkedIn: https://www.linkedin.com/in/hiranya-kavishani/
>>>>>>>
>>>>>>> <http://wso2.com/signature>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>>
>>>>>> *Harsha Kumara*
>>>>>>
>>>>>> Technical Lead, WSO2 Inc.
>>>>>> Mobile: +94775505618
>>>>>> Email: [email protected]
>>>>>> Blog: harshcreationz.blogspot.com
>>>>>>
>>>>>> GET INTEGRATION AGILE
>>>>>> Integration Agility for Digitally Driven Business
>>>>>>
>>>>>
>>>>
>>>> --
>>>> Malintha Amarasinghe
>>>> *WSO2, Inc. - lean | enterprise | middleware*
>>>> http://wso2.com/
>>>>
>>>> Mobile : +94 712383306
>>>>
>>>
>>>
>>> --
>>> *Sanjeewa Malalgoda*
>>> Software Architect | Associate Director, Engineering - WSO2 Inc.
>>> (m) +94 712933253 | (e) [email protected] | (b) Blogger
>>> <http://sanjeewamalalgoda.blogspot.com>, Medium
>>> <https://medium.com/@sanjeewa190>
>>>
>>> GET INTEGRATION AGILE <https://wso2.com/signature>
>>> Integration Agility for Digitally Driven Business
>>>
>>
>>
>> --
>> Malintha Amarasinghe
>> *WSO2, Inc. - lean | enterprise | middleware*
>> http://wso2.com/
>>
>> Mobile : +94 712383306
>>
>
>
> Hiranya Abeyrathne
> Software Engineer,
>
> *WSO2, Inc. *
>
> lean . enterprise . middleware
> Mob: +94 70210 8657
> LinkedIn: https://www.linkedin.com/in/hiranya-kavishani/
>
> <http://wso2.com/signature>
>


-- 

*Harsha Kumara*

Technical Lead, WSO2 Inc.
Mobile: +94775505618
Email: [email protected]
Blog: harshcreationz.blogspot.com

GET INTEGRATION AGILE
Integration Agility for Digitally Driven Business
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to