50 lines
1.4 KiB
Java
50 lines
1.4 KiB
Java
package com.myoa.engineering.crawl.ppomppu.sender.dto;
|
|
|
|
import com.fasterxml.jackson.annotation.JsonInclude;
|
|
import com.fasterxml.jackson.annotation.JsonProperty;
|
|
|
|
import lombok.Builder;
|
|
import lombok.Getter;
|
|
import lombok.NoArgsConstructor;
|
|
|
|
/**
|
|
* SlackImageMessageBlock
|
|
* @author Shin Woo-jin (woo-jin.shin@linecorp.com)
|
|
* @since 2021-11-30
|
|
*
|
|
*/
|
|
@Getter
|
|
@NoArgsConstructor
|
|
@JsonInclude(JsonInclude.Include.NON_NULL)
|
|
public class SlackImageMessageBlock implements SlackMessageBlock {
|
|
private static final long serialVersionUID = 1597984001727808419L;
|
|
|
|
private SlackMessageBlockType type;
|
|
|
|
@JsonProperty(value = "image_url", required = true)
|
|
private String imageUrl;
|
|
|
|
@JsonProperty(value = "alt_text", required = true)
|
|
private String altText;
|
|
|
|
@Builder
|
|
private SlackImageMessageBlock(SlackMessageBlockType type, String imageUrl, String altText) {
|
|
this.type = type;
|
|
this.imageUrl = imageUrl;
|
|
this.altText = altText;
|
|
}
|
|
|
|
public static SlackImageMessageBlock of(String imageUrl, String altText) {
|
|
return SlackImageMessageBlock.builder()
|
|
.type(SlackMessageBlockType.IMAGE)
|
|
.imageUrl(imageUrl)
|
|
.altText(altText)
|
|
.build();
|
|
}
|
|
|
|
@Override
|
|
public String getType() {
|
|
return type.getType();
|
|
}
|
|
}
|