
com.hubspot.slack.client.models.bookmarks.BookmarkIF Maven / Gradle / Ivy
package com.hubspot.slack.client.models.bookmarks;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.hubspot.immutables.style.HubSpotStyle;
import java.time.Instant;
import java.util.Optional;
import org.immutables.value.Value;
@HubSpotStyle
@Value.Immutable
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public interface BookmarkIF {
BookmarkType getType();
String getId();
String getChannelId();
String getTitle();
Optional getLink();
Optional getEmoji();
Optional getIconUrl();
Optional getEntityId();
@JsonProperty("date_created")
long getDateCreatedEpochSeconds();
@JsonIgnore
@Value.Derived
default Instant getCreatedAt() {
return Instant.ofEpochSecond(getDateCreatedEpochSeconds());
}
@JsonProperty("date_updated")
long getDateUpdatedEpochSeconds();
@JsonIgnore
@Value.Derived
default Instant getUpdatedAt() {
return Instant.ofEpochSecond(getDateUpdatedEpochSeconds());
}
Optional getRank();
Optional getLastUpdatedByUserId();
Optional getLastUpdatedByTeamId();
Optional getShortcutId();
Optional getAppId();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy