Use payment success timestamp to calculate recurring donation badge expiration

This commit is contained in:
Katherine
2023-12-12 07:01:20 -08:00
committed by GitHub
parent 6c7a3df5ae
commit 3cbbf37468
7 changed files with 30 additions and 11 deletions

View File

@@ -20,13 +20,16 @@ import javax.validation.constraints.NotNull;
public class SubscriptionConfiguration {
private final Duration badgeGracePeriod;
private final Duration badgeExpiration;
private final Map<Long, SubscriptionLevelConfiguration> levels;
@JsonCreator
public SubscriptionConfiguration(
@JsonProperty("badgeGracePeriod") @Valid Duration badgeGracePeriod,
@JsonProperty("badgeExpiration") @Valid Duration badgeExpiration,
@JsonProperty("levels") @Valid Map<@NotNull @Min(1) Long, @NotNull @Valid SubscriptionLevelConfiguration> levels) {
this.badgeGracePeriod = badgeGracePeriod;
this.badgeExpiration = badgeExpiration;
this.levels = levels;
}
@@ -34,6 +37,11 @@ public class SubscriptionConfiguration {
return badgeGracePeriod;
}
// This is the badge expiration time starting from when a payment successfully completes
public Duration getBadgeExpiration() {
return badgeExpiration;
}
public Map<Long, SubscriptionLevelConfiguration> getLevels() {
return levels;
}