blob: 4d29c25df89491613a2ba9fec1967786aca1140b [file] [log] [blame]
Matthias Andreas Benkarddb9a1982020-11-03 06:49:57 +01001package eu.mulk.mulkcms2.benki.newsletter;
2
Matthias Andreas Benkardff1fc092021-07-17 22:31:48 +02003import eu.mulk.mulkcms2.common.logging.Messages;
Matthias Andreas Benkarddb9a1982020-11-03 06:49:57 +01004import io.quarkus.scheduler.Scheduled;
Matthias Andreas Benkarde3bc3ee2023-08-06 16:21:11 +02005import jakarta.enterprise.context.Dependent;
6import jakarta.transaction.Transactional;
Matthias Andreas Benkarddb9a1982020-11-03 06:49:57 +01007import java.time.OffsetDateTime;
Matthias Andreas Benkarddb9a1982020-11-03 06:49:57 +01008
9@Dependent
10public class NewsletterSubscriptionExpirer {
11
Matthias Andreas Benkarddb9a1982020-11-03 06:49:57 +010012 @Scheduled(every = "PT1H")
13 @Transactional
14 void run() {
15 var subscriptionsDeleted =
16 NewsletterSubscription.delete(
Matthias Andreas Benkard5000f9a2020-11-03 07:09:42 +010017 "registrationKey IS NOT NULL AND startDate < ?1", OffsetDateTime.now().minusWeeks(1));
Matthias Andreas Benkarddb9a1982020-11-03 06:49:57 +010018 if (subscriptionsDeleted > 0) {
Matthias Andreas Benkardff1fc092021-07-17 22:31:48 +020019 Messages.log.expiredSubscriptionsDeleted(subscriptionsDeleted);
Matthias Andreas Benkarddb9a1982020-11-03 06:49:57 +010020 }
21 }
22}