
com.hubspot.slack.client.models.files.SlackFile Maven / Gradle / Ivy
package com.hubspot.slack.client.models.files;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.hubspot.slack.client.models.files.json.SlackFileDeserializer;
import java.util.List;
import java.util.Optional;
import org.immutables.value.Value.Default;
@JsonDeserialize(using = SlackFileDeserializer.class)
public interface SlackFile {
String getId();
@JsonProperty("created")
long getCreatedEpochSeconds();
@JsonProperty("timestamp")
long getTimestampEpochSeconds();
String getName();
String getTitle();
String getMimetype();
SlackFileType getFiletype();
String getPrettyType();
@JsonProperty("user")
String getUserId();
boolean isEditable();
long getSize();
String getMode();
@JsonProperty("is_external")
boolean isExternal();
@JsonProperty("is_public")
boolean isPublic();
boolean isPublicUrlShared();
boolean getDisplayAsBot();
String getUsername();
String getUrlPrivate();
Optional getUrlPrivateDownload();
String getPermalink();
Optional getPermalinkPublic();
@Default
default int getCommentsCount() {
return 0;
}
@JsonProperty("is_starred")
Optional isStarred();
@JsonProperty("channels")
List getChannelIds();
@JsonProperty("groups")
List getGroupIds();
@JsonProperty("ims")
List getImIds();
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy