[netatmo] Ensure expiresAt is usable (#17553)

* Ensure expiresAt is usable

Signed-off-by: Gaël L'hopital <gael@lhopital.org>
Signed-off-by: Ciprian Pascu <contact@ciprianpascu.ro>
This commit is contained in:
Gaël L'hopital 2024-10-13 11:50:27 +02:00 committed by Ciprian Pascu
parent 143d072c85
commit 8601ae4717

View File

@ -37,10 +37,15 @@ public class HomeEvent extends Event {
public class NAEventsDataResponse extends ApiResponse<BodyResponse<Home>> {
}
private record Snapshot(String url, ZonedDateTime expiresAt) {
// If the snapshot is expired we consider it as not available, so do not provide the url
private record Snapshot(@Nullable String url, @Nullable ZonedDateTime expiresAt) {
public @Nullable String url() {
return expiresAt.isAfter(ZonedDateTime.now().withZoneSameInstant(expiresAt.getZone())) ? url : null;
ZonedDateTime expires = expiresAt;
// If no expiration data provided, lets consider it is available
if (expires == null) {
return url;
}
// If the snapshot is expired we consider it as not available, so do not provide the url
return expires.isAfter(ZonedDateTime.now().withZoneSameInstant(expires.getZone())) ? url : null;
}
}