Hi Sumedha,

In Current APIM, following are the status of a API Subscriptions

BLOCKED, PROD_ONLY_BLOCKED, UNBLOCKED, ON_HOLD, REJECTED

Consider following scenario/use case and relevant status of API
subscriptions

1. An Application subscribes an API              -  UNBLOCKED

2. Publisher blocks the Application                - BLOCKED

3. Application unsubscribes the API              - The entry will be
removed from DB

4. Same Application subscribes to same API - UNBLOCKED (A new entry in the
DB)

In this case, the Application was blocked by the publisher. Since we have
deleted the entry from DB, Application can invoke the API after re
subscribing to the API

With this implementation (keeping one status for API subscriptions), there
can be multiple scenarios having same problem.

So, we have to introduce two status for API subscription.

1. One for keeping the application state - SUBSCRIBE/UNSUBSCRIBE

2. Another for keeping publisher's action on the subscription -
BLOCK/UNBLOCK/PROD_ONLY_BLOCKED

With the introduction of these two status, please find the new status for
the above use case.

1. An Application subscribes to an API          -  SUBSCRIBE,UNBLOCKED

2. Publisher blocks the Application                - SUBSCRIBE,BLOCKED

3. Application unsubscribes the API              - UNSUBSCRIBE,BLOCKED

4. Same Application subscribes to same API - SUBSCRIBE,BLOCKED

So, even the application re subscribing to API, it can't invoke.

Here we don't delete any subscription entries from DB. So we can find the
history of the subscription of a API



-- 
Thanks
Abimaran Kugathasan

Software Engineer | WSO2 Inc
Data & APIs Technologies Team
Mobile : +94 77 1708229

<http://stackoverflow.com/users/515034>
<http://lk.linkedin.com/in/abimaran>  <http://www.lkabimaran.blogspot.com/>
<https://github.com/abimaran>  <https://twitter.com/abimaran>
_______________________________________________
Dev mailing list
Dev@wso2.org
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to