All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.hubspot.slack.client.models.response.dnd.DndInfoResponseIF Maven / Gradle / Ivy

package com.hubspot.slack.client.models.response.dnd;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.hubspot.immutables.style.HubSpotStyle;
import com.hubspot.slack.client.models.json.InstantDeserializer;
import com.hubspot.slack.client.models.json.InstantSerializer;
import com.hubspot.slack.client.models.response.SlackResponse;
import java.time.Instant;
import java.util.Optional;
import org.immutables.value.Value;

@Value.Immutable
@HubSpotStyle
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public interface DndInfoResponseIF extends SlackResponse {
  boolean isDndEnabled();

  @JsonProperty("next_dnd_start_ts")
  @JsonSerialize(contentUsing = InstantSerializer.class)
  @JsonDeserialize(contentUsing = InstantDeserializer.class)
  Optional getNextDndStart();

  @JsonProperty("next_dnd_end_ts")
  @JsonSerialize(contentUsing = InstantSerializer.class)
  @JsonDeserialize(contentUsing = InstantDeserializer.class)
  Optional getNextDndEnd();

  boolean isSnoozeEnabled();

  @JsonProperty("snooze_endtime")
  @JsonSerialize(contentUsing = InstantSerializer.class)
  @JsonDeserialize(contentUsing = InstantDeserializer.class)
  Optional getSnoozeEnd();

  Optional getSnoozeRemaining();
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy