Search in sources :

Example 6 with Key

use of io.gravitee.rest.api.portal.rest.model.Key in project gravitee-management-rest-api by gravitee-io.

the class SubscriptionResource method getSubscriptionBySubscriptionId.

@GET
@Produces(MediaType.APPLICATION_JSON)
public Response getSubscriptionBySubscriptionId(@PathParam("subscriptionId") String subscriptionId, @QueryParam("include") List<String> include) {
    SubscriptionEntity subscriptionEntity = subscriptionService.findById(subscriptionId);
    if (hasPermission(RolePermission.API_SUBSCRIPTION, subscriptionEntity.getApi(), RolePermissionAction.READ) || hasPermission(RolePermission.APPLICATION_SUBSCRIPTION, subscriptionEntity.getApplication(), RolePermissionAction.READ)) {
        Subscription subscription = subscriptionMapper.convert(subscriptionEntity);
        if (include.contains(INCLUDE_KEYS)) {
            List<Key> keys = apiKeyService.findBySubscription(subscriptionId).stream().sorted((o1, o2) -> o2.getCreatedAt().compareTo(o1.getCreatedAt())).map(keyMapper::convert).collect(Collectors.toList());
            subscription.setKeys(keys);
        }
        return Response.ok(subscription).build();
    }
    throw new ForbiddenAccessException();
}
Also used : SubscriptionEntity(io.gravitee.rest.api.model.SubscriptionEntity) Subscription(io.gravitee.rest.api.portal.rest.model.Subscription) ForbiddenAccessException(io.gravitee.rest.api.service.exceptions.ForbiddenAccessException) Key(io.gravitee.rest.api.portal.rest.model.Key)

Example 7 with Key

use of io.gravitee.rest.api.portal.rest.model.Key in project gravitee-management-rest-api by gravitee-io.

the class SubscriptionKeysResourceTest method init.

@Before
public void init() {
    resetAllMocks();
    apiKeyEntity = new ApiKeyEntity();
    apiKeyEntity.setKey(KEY);
    apiKeyEntity.setSubscription(SUBSCRIPTION);
    doReturn(apiKeyEntity).when(apiKeyService).renew(SUBSCRIPTION);
    doReturn(apiKeyEntity).when(apiKeyService).findByKey(KEY);
    doReturn(new Key().id(KEY)).when(keyMapper).convert(apiKeyEntity);
    SubscriptionEntity subscriptionEntity = new SubscriptionEntity();
    subscriptionEntity.setApi(API);
    subscriptionEntity.setApplication(APPLICATION);
    doReturn(subscriptionEntity).when(subscriptionService).findById(eq(SUBSCRIPTION));
    doReturn(true).when(permissionService).hasPermission(any(), any(), any());
}
Also used : ApiKeyEntity(io.gravitee.rest.api.model.ApiKeyEntity) SubscriptionEntity(io.gravitee.rest.api.model.SubscriptionEntity) Key(io.gravitee.rest.api.portal.rest.model.Key) Before(org.junit.Before)

Example 8 with Key

use of io.gravitee.rest.api.portal.rest.model.Key in project gravitee-management-rest-api by gravitee-io.

the class SubscriptionResourceTest method init.

@Before
public void init() {
    resetAllMocks();
    subscriptionEntity = new SubscriptionEntity();
    subscriptionEntity.setId(SUBSCRIPTION);
    subscriptionEntity.setApi(API);
    subscriptionEntity.setApplication(APPLICATION);
    doReturn(subscriptionEntity).when(subscriptionService).findById(SUBSCRIPTION);
    doThrow(SubscriptionNotFoundException.class).when(subscriptionService).findById(UNKNOWN_SUBSCRIPTION);
    doReturn(Arrays.asList(new ApiKeyEntity())).when(apiKeyService).findBySubscription(SUBSCRIPTION);
    doReturn(new Subscription()).when(subscriptionMapper).convert(any());
    doReturn(new Key()).when(keyMapper).convert(any());
    doReturn(true).when(permissionService).hasPermission(any(), any(), any());
}
Also used : ApiKeyEntity(io.gravitee.rest.api.model.ApiKeyEntity) SubscriptionEntity(io.gravitee.rest.api.model.SubscriptionEntity) Subscription(io.gravitee.rest.api.portal.rest.model.Subscription) Key(io.gravitee.rest.api.portal.rest.model.Key) Before(org.junit.Before)

Aggregations

Key (io.gravitee.rest.api.portal.rest.model.Key)8 SubscriptionEntity (io.gravitee.rest.api.model.SubscriptionEntity)3 Subscription (io.gravitee.rest.api.portal.rest.model.Subscription)3 Test (org.junit.Test)3 ApiKeyEntity (io.gravitee.rest.api.model.ApiKeyEntity)2 ForbiddenAccessException (io.gravitee.rest.api.service.exceptions.ForbiddenAccessException)2 Before (org.junit.Before)2 PageRevisionId (io.gravitee.rest.api.model.PageEntity.PageRevisionId)1 PlanEntity (io.gravitee.rest.api.model.PlanEntity)1 PlanNotFoundException (io.gravitee.rest.api.service.exceptions.PlanNotFoundException)1 Response (javax.ws.rs.core.Response)1