use of org.wso2.carbon.apimgt.impl.dto.SubscribedApiDTO in project carbon-apimgt by wso2.
the class APIProviderImpl method generateApiKey.
@Override
public String generateApiKey(String apiId) throws APIManagementException {
APIInfo apiInfo = apiMgtDAO.getAPIInfoByUUID(apiId);
if (apiInfo == null) {
throw new APIMgtResourceNotFoundException("Couldn't retrieve existing API with ID: " + apiId, ExceptionCodes.from(ExceptionCodes.API_NOT_FOUND, apiId));
}
SubscribedApiDTO subscribedApiInfo = new SubscribedApiDTO();
subscribedApiInfo.setName(apiInfo.getName());
subscribedApiInfo.setContext(apiInfo.getContext());
subscribedApiInfo.setPublisher(apiInfo.getProvider());
subscribedApiInfo.setVersion(apiInfo.getVersion());
JwtTokenInfoDTO jwtTokenInfoDTO = new JwtTokenInfoDTO();
jwtTokenInfoDTO.setEndUserName(username);
jwtTokenInfoDTO.setKeyType(APIConstants.API_KEY_TYPE_PRODUCTION);
jwtTokenInfoDTO.setSubscribedApiDTOList(Arrays.asList(subscribedApiInfo));
jwtTokenInfoDTO.setExpirationTime(60 * 1000);
ApiKeyGenerator apiKeyGenerator = new InternalAPIKeyGenerator();
return apiKeyGenerator.generateToken(jwtTokenInfoDTO);
}
use of org.wso2.carbon.apimgt.impl.dto.SubscribedApiDTO in project carbon-apimgt by wso2.
the class APIUtil method getJwtTokenInfoDTO.
public static JwtTokenInfoDTO getJwtTokenInfoDTO(Application application, String userName, String tenantDomain) throws APIManagementException {
int applicationId = application.getId();
String appOwner = application.getOwner();
APISubscriptionInfoDTO[] apis = ApiMgtDAO.getInstance().getSubscribedAPIsForAnApp(appOwner, applicationId);
JwtTokenInfoDTO jwtTokenInfoDTO = new JwtTokenInfoDTO();
jwtTokenInfoDTO.setSubscriber("sub");
jwtTokenInfoDTO.setEndUserName(userName);
jwtTokenInfoDTO.setContentAware(true);
Set<String> subscriptionTiers = new HashSet<>();
List<SubscribedApiDTO> subscribedApiDTOList = new ArrayList<SubscribedApiDTO>();
for (APISubscriptionInfoDTO api : apis) {
subscriptionTiers.add(api.getSubscriptionTier());
SubscribedApiDTO subscribedApiDTO = new SubscribedApiDTO();
subscribedApiDTO.setName(api.getApiName());
subscribedApiDTO.setContext(api.getContext());
subscribedApiDTO.setVersion(api.getVersion());
subscribedApiDTO.setPublisher(APIUtil.replaceEmailDomainBack(api.getProviderId()));
subscribedApiDTO.setSubscriptionTier(api.getSubscriptionTier());
subscribedApiDTO.setSubscriberTenantDomain(tenantDomain);
subscribedApiDTOList.add(subscribedApiDTO);
}
jwtTokenInfoDTO.setSubscribedApiDTOList(subscribedApiDTOList);
if (subscriptionTiers.size() > 0) {
SubscriptionPolicy[] subscriptionPolicies = ApiMgtDAO.getInstance().getSubscriptionPolicies(subscriptionTiers.toArray(new String[0]), APIUtil.getTenantId(appOwner));
Map<String, SubscriptionPolicyDTO> subscriptionPolicyDTOList = new HashMap<>();
for (SubscriptionPolicy subscriptionPolicy : subscriptionPolicies) {
SubscriptionPolicyDTO subscriptionPolicyDTO = new SubscriptionPolicyDTO();
subscriptionPolicyDTO.setSpikeArrestLimit(subscriptionPolicy.getRateLimitCount());
subscriptionPolicyDTO.setSpikeArrestUnit(subscriptionPolicy.getRateLimitTimeUnit());
subscriptionPolicyDTO.setStopOnQuotaReach(subscriptionPolicy.isStopOnQuotaReach());
subscriptionPolicyDTO.setTierQuotaType(subscriptionPolicy.getTierQuotaType());
subscriptionPolicyDTO.setGraphQLMaxDepth(subscriptionPolicy.getGraphQLMaxDepth());
subscriptionPolicyDTO.setGraphQLMaxComplexity(subscriptionPolicy.getGraphQLMaxComplexity());
subscriptionPolicyDTOList.put(subscriptionPolicy.getPolicyName(), subscriptionPolicyDTO);
}
jwtTokenInfoDTO.setSubscriptionPolicyDTOList(subscriptionPolicyDTOList);
}
return jwtTokenInfoDTO;
}
Aggregations