@Override public void run() { logger.debug("Refresh subscriptions #{} started at {}", counter.incrementAndGet(), Instant.now().toString()); final Set<String> apiIds = apiService.findAllLight().stream() .map(ApiEntity::getId) .collect(toSet()); final SubscriptionQuery query = new SubscriptionQuery(); query.setApis(apiIds); query.setStatuses(Collections.singleton(SubscriptionStatus.ACCEPTED)); final Collection<SubscriptionEntity> subscriptions = subscriptionService.search(query); final Date now = new Date(); subscriptions .forEach(subscription -> { if (subscription.getEndingAt() != null && subscription.getEndingAt().before(now)) { subscriptionService.close(subscription.getId()); } }); logger.debug("Refresh subscriptions #{} ended at {}", counter.get(), Instant.now().toString()); } }
@Override public void run() { logger.debug("Refresh subscriptions #{} started at {}", counter.incrementAndGet(), Instant.now().toString()); final Set<String> apiIds = apiService.findAllLight().stream() .map(ApiEntity::getId) .collect(toSet()); final SubscriptionQuery query = new SubscriptionQuery(); query.setApis(apiIds); query.setStatuses(Collections.singleton(SubscriptionStatus.ACCEPTED)); final Collection<SubscriptionEntity> subscriptions = subscriptionService.search(query); final Date now = new Date(); subscriptions .forEach(subscription -> { if (subscription.getEndingAt() != null && subscription.getEndingAt().before(now)) { subscriptionService.close(subscription.getId()); } }); logger.debug("Refresh subscriptions #{} ended at {}", counter.get(), Instant.now().toString()); } }
/** * Generate an {@link ApiKey} from a subscription. * * @param subscription * @return An Api Key */ private ApiKey generateForSubscription(String subscription) { SubscriptionEntity subscriptionEntity = subscriptionService.findById(subscription); Date now = new Date(); if (subscriptionEntity.getEndingAt() != null && subscriptionEntity.getEndingAt().before(now)) { throw new SubscriptionClosedException(subscription); } ApiKey apiKey = new ApiKey(); apiKey.setSubscription(subscription); apiKey.setApplication(subscriptionEntity.getApplication()); apiKey.setPlan(subscriptionEntity.getPlan()); apiKey.setCreatedAt(new Date()); apiKey.setUpdatedAt(apiKey.getCreatedAt()); apiKey.setKey(apiKeyGenerator.generate()); // By default, the API Key will expire when subscription is closed apiKey.setExpireAt(subscriptionEntity.getEndingAt()); return apiKey; }
/** * Generate an {@link ApiKey} from a subscription. * * @param subscription * @return An Api Key */ private ApiKey generateForSubscription(String subscription) { SubscriptionEntity subscriptionEntity = subscriptionService.findById(subscription); Date now = new Date(); if (subscriptionEntity.getEndingAt() != null && subscriptionEntity.getEndingAt().before(now)) { throw new SubscriptionClosedException(subscription); } ApiKey apiKey = new ApiKey(); apiKey.setSubscription(subscription); apiKey.setApplication(subscriptionEntity.getApplication()); apiKey.setPlan(subscriptionEntity.getPlan()); apiKey.setCreatedAt(new Date()); apiKey.setUpdatedAt(apiKey.getCreatedAt()); apiKey.setKey(apiKeyGenerator.generate()); // By default, the API Key will expire when subscription is closed apiKey.setExpireAt(subscriptionEntity.getEndingAt()); return apiKey; }
@Override public void accept(SubscriptionEntity subscriptionEntity) { UpdateSubscriptionEntity updateSubscriptionEntity = new UpdateSubscriptionEntity(); updateSubscriptionEntity.setId(subscriptionEntity.getId()); updateSubscriptionEntity.setStartingAt(subscriptionEntity.getStartingAt()); updateSubscriptionEntity.setEndingAt(subscriptionEntity.getEndingAt()); subscriptionService.update(updateSubscriptionEntity, application.getClientId()); } });
@Override public void accept(SubscriptionEntity subscriptionEntity) { UpdateSubscriptionEntity updateSubscriptionEntity = new UpdateSubscriptionEntity(); updateSubscriptionEntity.setId(subscriptionEntity.getId()); updateSubscriptionEntity.setStartingAt(subscriptionEntity.getStartingAt()); updateSubscriptionEntity.setEndingAt(subscriptionEntity.getEndingAt()); subscriptionService.update(updateSubscriptionEntity, application.getClientId()); } });
subscription.setUpdatedAt(subscriptionEntity.getUpdatedAt()); subscription.setStartingAt(subscriptionEntity.getStartingAt()); subscription.setEndingAt(subscriptionEntity.getEndingAt()); subscription.setProcessedAt(subscriptionEntity.getProcessedAt()); subscription.setProcessedBy(subscriptionEntity.getProcessedBy());
subscription.setUpdatedAt(subscriptionEntity.getUpdatedAt()); subscription.setStartingAt(subscriptionEntity.getStartingAt()); subscription.setEndingAt(subscriptionEntity.getEndingAt()); subscription.setProcessedAt(subscriptionEntity.getProcessedAt()); subscription.setProcessedBy(subscriptionEntity.getProcessedBy());
subscription.setUpdatedAt(subscriptionEntity.getUpdatedAt()); subscription.setStartingAt(subscriptionEntity.getStartingAt()); subscription.setEndingAt(subscriptionEntity.getEndingAt()); subscription.setProcessedAt(subscriptionEntity.getProcessedAt()); subscription.setProcessedBy(subscriptionEntity.getProcessedBy());
subscription.setUpdatedAt(subscriptionEntity.getUpdatedAt()); subscription.setStartingAt(subscriptionEntity.getStartingAt()); subscription.setEndingAt(subscriptionEntity.getEndingAt()); subscription.setProcessedAt(subscriptionEntity.getProcessedAt()); subscription.setProcessedBy(subscriptionEntity.getProcessedBy());
subscription.setUpdatedAt(subscriptionEntity.getUpdatedAt()); subscription.setStartingAt(subscriptionEntity.getStartingAt()); subscription.setEndingAt(subscriptionEntity.getEndingAt()); subscription.setProcessedAt(subscriptionEntity.getProcessedAt()); subscription.setProcessedBy(subscriptionEntity.getProcessedBy());
subscription.setUpdatedAt(subscriptionEntity.getUpdatedAt()); subscription.setStartingAt(subscriptionEntity.getStartingAt()); subscription.setEndingAt(subscriptionEntity.getEndingAt()); subscription.setProcessedAt(subscriptionEntity.getProcessedAt()); subscription.setProcessedBy(subscriptionEntity.getProcessedBy());
subscription.setUpdatedAt(subscriptionEntity.getUpdatedAt()); subscription.setStartingAt(subscriptionEntity.getStartingAt()); subscription.setEndingAt(subscriptionEntity.getEndingAt()); subscription.setProcessedAt(subscriptionEntity.getProcessedAt()); subscription.setProcessedBy(subscriptionEntity.getProcessedBy());
subscription.setUpdatedAt(subscriptionEntity.getUpdatedAt()); subscription.setStartingAt(subscriptionEntity.getStartingAt()); subscription.setEndingAt(subscriptionEntity.getEndingAt()); subscription.setProcessedAt(subscriptionEntity.getProcessedAt()); subscription.setProcessedBy(subscriptionEntity.getProcessedBy());