diff --git a/README.md b/README.md index 4c0b130..c94d6b5 100644 --- a/README.md +++ b/README.md @@ -574,6 +574,26 @@ try { > **Note:** `StockKeepingUnit` and `QtyBasedPricing` have no standalone API endpoints. > Access them via `include` on `didGroups` and `capacityPools` respectively. +## Date and Datetime Fields + +The SDK distinguishes between date-only and datetime fields: + +- **Datetime fields** — deserialized as `OffsetDateTime`: + - All `getCreatedAt()` methods — present on most resources + - Expiry fields: `Did.getExpiresAt()`, `DidReservation.getExpireAt()`, `Proof.getExpiresAt()`, `EncryptedFile.getExpireAt()` +- **Date-only fields** — deserialized as `LocalDate`: + - `Identity.getBirthDate()` +- **Date-only fields kept as strings** (`CapacityPool.getRenewDate()`, `DidOrderItem.getBilledFrom()`, `DidOrderItem.getBilledTo()`) — remain as `String`. + +```java +Did did = client.dids().find("uuid").getData(); +System.out.println(did.getCreatedAt()); // 2024-01-15T10:00:00Z (OffsetDateTime) +System.out.println(did.getExpiresAt()); // null or 2025-01-15T10:00:00Z + +Identity identity = client.identities().find("uuid").getData(); +System.out.println(identity.getBirthDate()); // 1990-05-20 (LocalDate) +``` + ## Enums The SDK provides enum classes in `com.didww.sdk.resource.enums`: diff --git a/src/main/java/com/didww/sdk/resource/CapacityPool.java b/src/main/java/com/didww/sdk/resource/CapacityPool.java index da95e86..ad0526b 100644 --- a/src/main/java/com/didww/sdk/resource/CapacityPool.java +++ b/src/main/java/com/didww/sdk/resource/CapacityPool.java @@ -5,7 +5,6 @@ import com.github.jasminb.jsonapi.annotations.Type; import lombok.Getter; -import java.time.LocalDate; import java.util.List; @Type("capacity_pools") @@ -17,7 +16,7 @@ public class CapacityPool extends BaseResource { private String name; @JsonProperty(value = "renew_date", access = JsonProperty.Access.WRITE_ONLY) - private LocalDate renewDate; + private String renewDate; @JsonProperty("total_channels_count") private Integer totalChannelsCount; diff --git a/src/main/java/com/didww/sdk/resource/EncryptedFile.java b/src/main/java/com/didww/sdk/resource/EncryptedFile.java index df236ff..c2b37d4 100644 --- a/src/main/java/com/didww/sdk/resource/EncryptedFile.java +++ b/src/main/java/com/didww/sdk/resource/EncryptedFile.java @@ -17,9 +17,6 @@ public class EncryptedFile extends BaseResource { @JsonProperty(value = "expire_at", access = JsonProperty.Access.WRITE_ONLY) private OffsetDateTime expireAt; - @JsonProperty(value = "created_at", access = JsonProperty.Access.WRITE_ONLY) - private OffsetDateTime createdAt; - public void setDescription(String description) { this.description = markDirty("description", description); }