
com.hubspot.slack.client.methods.params.files.FilesUploadParamsIF Maven / Gradle / Ivy
package com.hubspot.slack.client.methods.params.files;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.databind.PropertyNamingStrategies.SnakeCaseStrategy;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.hubspot.immutables.style.HubSpotStyle;
import com.hubspot.slack.client.models.files.SlackFileType;
import java.io.File;
import java.util.List;
import java.util.Optional;
import org.immutables.value.Value.Check;
import org.immutables.value.Value.Immutable;
@Immutable
@HubSpotStyle
@JsonNaming(SnakeCaseStrategy.class)
public interface FilesUploadParamsIF {
List getChannels();
Optional getContent();
Optional getFile();
Optional getFilename();
Optional getFiletype();
Optional getInitialComment();
Optional getThreadTs();
Optional getTitle();
@Check
@JsonIgnore
default void hasContent() {
if (!getContent().isPresent() && !getFile().isPresent()) {
throw new IllegalStateException("Must provide either content or raw file");
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy