newSubscriptionEntity = new NewSubscriptionEntity();
newSubscriptionEntity = new NewSubscriptionEntity();
@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(); }