@POST @Produces(MediaType.APPLICATION_JSON) @ApiOperation(value = "Subscribe to a plan", notes = "User must have the MANAGE_SUBSCRIPTIONS permission to use this service") @ApiResponses({ @ApiResponse(code = 201, message = "Subscription successfully created", response = Subscription.class), @ApiResponse(code = 500, message = "Internal server error")}) @Permissions({ @Permission(value = RolePermission.API_SUBSCRIPTION, acls = RolePermissionAction.CREATE) }) public Response createSubscription( @PathParam("api") String api, @ApiParam(name = "application", required = true) @NotNull @QueryParam("application") String application, @ApiParam(name = "plan", required = true) @NotNull @QueryParam("plan") String plan) { // Create subscription SubscriptionEntity subscription = subscriptionService.create(new NewSubscriptionEntity(plan, application)); if (subscription.getStatus() == SubscriptionStatus.PENDING) { ProcessSubscriptionEntity process = new ProcessSubscriptionEntity(); process.setId(subscription.getId()); process.setAccepted(true); process.setStartingAt(new Date()); subscription = subscriptionService.process(process, getAuthenticatedUser()); } return Response .created(URI.create("/apis/" + api + "/subscriptions/" + subscription.getId())) .entity(convert(subscription)) .build(); }
@POST @Produces(MediaType.APPLICATION_JSON) @ApiOperation(value = "Subscribe to a plan", notes = "User must have the MANAGE_SUBSCRIPTIONS permission to use this service") @ApiResponses({ @ApiResponse(code = 201, message = "Subscription successfully created", response = Subscription.class), @ApiResponse(code = 500, message = "Internal server error")}) @Permissions({ @Permission(value = RolePermission.API_SUBSCRIPTION, acls = RolePermissionAction.CREATE) }) public Response createSubscription( @PathParam("api") String api, @ApiParam(name = "application", required = true) @NotNull @QueryParam("application") String application, @ApiParam(name = "plan", required = true) @NotNull @QueryParam("plan") String plan) { // Create subscription SubscriptionEntity subscription = subscriptionService.create(new NewSubscriptionEntity(plan, application)); if (subscription.getStatus() == SubscriptionStatus.PENDING) { ProcessSubscriptionEntity process = new ProcessSubscriptionEntity(); process.setId(subscription.getId()); process.setAccepted(true); process.setStartingAt(new Date()); subscription = subscriptionService.process(process, getAuthenticatedUser()); } return Response .created(URI.create("/apis/" + api + "/subscriptions/" + subscription.getId())) .entity(convert(subscription)) .build(); }
JsonObject jsonSubscription = new JsonObject(); jsonSubscription.put("id", subscription.getId()); jsonSubscription.put("status", subscription.getStatus()); content.put("subscription", jsonSubscription);
JsonObject jsonSubscription = new JsonObject(); jsonSubscription.put("id", subscription.getId()); jsonSubscription.put("status", subscription.getStatus()); content.put("subscription", jsonSubscription);
subscriptionService.findByPlan(planId) .stream() .filter(subscriptionEntity -> subscriptionEntity.getStatus() == SubscriptionStatus.ACCEPTED) .forEach(subscription -> subscriptionService.close(subscription.getId())); subscriptionService.findByPlan(planId) .stream() .filter(subscriptionEntity -> subscriptionEntity.getStatus() == SubscriptionStatus.PENDING) .forEach(subscription -> { ProcessSubscriptionEntity processSubscriptionEntity = new ProcessSubscriptionEntity();
subscriptionService.findByPlan(planId) .stream() .filter(subscriptionEntity -> subscriptionEntity.getStatus() == SubscriptionStatus.ACCEPTED) .forEach(subscription -> subscriptionService.close(subscription.getId())); subscriptionService.findByPlan(planId) .stream() .filter(subscriptionEntity -> subscriptionEntity.getStatus() == SubscriptionStatus.PENDING) .forEach(subscription -> { ProcessSubscriptionEntity processSubscriptionEntity = new ProcessSubscriptionEntity();
subscription.setProcessedBy(subscriptionEntity.getProcessedBy()); subscription.setReason(subscriptionEntity.getReason()); subscription.setStatus(subscriptionEntity.getStatus());
subscription.setProcessedBy(subscriptionEntity.getProcessedBy()); subscription.setReason(subscriptionEntity.getReason()); subscription.setStatus(subscriptionEntity.getStatus());
subscription.setProcessedBy(subscriptionEntity.getProcessedBy()); subscription.setReason(subscriptionEntity.getReason()); subscription.setStatus(subscriptionEntity.getStatus()); subscription.setSubscribedBy( new Subscription.User(subscriptionEntity.getSubscribedBy(),
subscription.setProcessedBy(subscriptionEntity.getProcessedBy()); subscription.setReason(subscriptionEntity.getReason()); subscription.setStatus(subscriptionEntity.getStatus()); subscription.setSubscribedBy( new Subscription.User(subscriptionEntity.getSubscribedBy(),
subscription.setReason(subscriptionEntity.getReason()); subscription.setRequest(subscriptionEntity.getRequest()); subscription.setStatus(subscriptionEntity.getStatus()); subscription.setSubscribedBy( new Subscription.User(subscriptionEntity.getSubscribedBy(),
subscription.setReason(subscriptionEntity.getReason()); subscription.setRequest(subscriptionEntity.getRequest()); subscription.setStatus(subscriptionEntity.getStatus()); subscription.setSubscribedBy( new Subscription.User(subscriptionEntity.getSubscribedBy(),
subscription.setReason(subscriptionEntity.getReason()); subscription.setRequest(subscriptionEntity.getRequest()); subscription.setStatus(subscriptionEntity.getStatus()); subscription.setSubscribedBy( new Subscription.User(
subscription.setReason(subscriptionEntity.getReason()); subscription.setRequest(subscriptionEntity.getRequest()); subscription.setStatus(subscriptionEntity.getStatus()); subscription.setSubscribedBy( new Subscription.User(