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

com.hubspot.slack.client.models.users.SlackUserIF Maven / Gradle / Ivy

package com.hubspot.slack.client.models.users;

import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.annotation.JsonSetter;
import com.fasterxml.jackson.databind.PropertyNamingStrategies.SnakeCaseStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.hubspot.immutables.style.HubSpotStyle;
import java.util.Optional;
import org.immutables.value.Value.Derived;
import org.immutables.value.Value.Immutable;

@Immutable
@HubSpotStyle
@JsonNaming(SnakeCaseStrategy.class)
public interface SlackUserIF extends SlackUserCore {
  Optional getProfile();

  @JsonProperty("deleted")
  Optional isDeleted();

  Optional getColor();

  Optional isAdmin();

  Optional isOwner();

  Optional getTeamId();

  Optional getRealName();

  @JsonSetter("primaryOwner")
  @JsonProperty("is_primary_owner")
  Optional isPrimaryOwner();

  @JsonSetter("restricted")
  @JsonProperty("is_restricted")
  Optional isRestricted();

  @JsonSetter("ultra_restricted")
  @JsonProperty("is_ultra_restricted")
  Optional isUltraRestricted();

  @JsonProperty("is_bot")
  Optional isBot();

  @JsonSetter("app_user")
  @JsonProperty("is_app_user")
  Optional isAppUser();

  @JsonProperty("tz")
  Optional getTimezone();

  @JsonProperty("tz_label")
  Optional getTimezoneLabel();

  @JsonProperty("tz_offset")
  Optional getTimezoneOffset();

  @JsonProperty("updated")
  Optional getRawUpdated();

  Optional getLocale();

  @Derived
  default Optional getUpdatedAt() {
    return getRawUpdated().map(updated -> updated * 1000L);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy