Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
package com.hubspot.slack.client.methods.params.chat.workobject;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.hubspot.immutables.style.HubSpotStyle;
import java.util.Optional;
import org.immutables.value.Value;

@Value.Immutable
@HubSpotStyle
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public interface ExternalRefIF {
String getId();
Optional<String> getType();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,7 @@
package com.hubspot.slack.client.methods.params.chat.workobject;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
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.methods.params.chat.workobject.entity.EntityPayload;
Expand All @@ -8,6 +10,7 @@

@Value.Immutable
@HubSpotStyle
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public interface WorkObjectIF {
String getAppUnfurlUrl();
String getUrl();
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package com.hubspot.slack.client.methods.params.chat.workobject.entity;

import com.hubspot.immutables.style.HubSpotStyle;
import org.immutables.value.Value;

@Value.Immutable
@HubSpotStyle
public interface EntityPayloadAttributeTitleIF {
String getText();
}
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
package com.hubspot.slack.client.methods.params.chat.workobject.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
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.methods.params.chat.workobject.serializers.DisplayTypeSerializer;
Expand All @@ -8,10 +11,13 @@

@Value.Immutable
@HubSpotStyle
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public interface EntityPayloadAttributesIF {
String getTitle();
EntityPayloadAttributeTitle getTitle();
Optional<String> getDisplayId();

@JsonInclude(JsonInclude.Include.NON_ABSENT)
@JsonSerialize(using = DisplayTypeSerializer.class)
Optional<DisplayType> getDisplayType();

Expand Down
Original file line number Diff line number Diff line change
@@ -1,15 +1,21 @@
package com.hubspot.slack.client.methods.params.chat.workobject.entity;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.hubspot.immutables.style.HubSpotStyle;
import com.hubspot.slack.client.methods.params.chat.workobject.entity.fields.EntityPayloadFields;
import java.util.List;
import java.util.Optional;
import org.immutables.value.Value;

@Value.Immutable
@HubSpotStyle
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public interface EntityPayloadIF {
EntityPayloadAttributes getAttributes();
EntityPayloadFields getFields();
Optional<EntityPayloadFields> getFields();
List<EntityPayloadAttributesCustomField> getCustomFields();
List<String> getDisplayOrder();
}
Original file line number Diff line number Diff line change
@@ -1,10 +1,13 @@
package com.hubspot.slack.client.methods.params.chat.workobject.entity;

import com.fasterxml.jackson.databind.PropertyNamingStrategies;
import com.fasterxml.jackson.databind.annotation.JsonNaming;
import com.hubspot.immutables.style.HubSpotStyle;
import org.immutables.value.Value;

@Value.Immutable
@HubSpotStyle
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
public interface ProductIconIF {
String getUrl();
String getAltText();
Expand Down
Original file line number Diff line number Diff line change
@@ -1,8 +1,10 @@
package com.hubspot.slack.client.methods.params.chat.workobject.entity.fields;

import com.fasterxml.jackson.annotation.JsonInclude;
import com.hubspot.immutables.style.HubSpotStyle;
import org.immutables.value.Value;

@Value.Immutable
@HubSpotStyle
@JsonInclude(JsonInclude.Include.NON_EMPTY)
public interface ItemFieldsIF extends EntityPayloadFields {}
Original file line number Diff line number Diff line change
Expand Up @@ -21,4 +21,9 @@ public void serialize(
gen.writeNull();
}
}

@Override
public boolean isEmpty(SerializerProvider provider, Optional<DisplayType> value) {
return value.isEmpty();
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -5,20 +5,15 @@
import com.fasterxml.jackson.databind.SerializerProvider;
import com.hubspot.slack.client.methods.params.chat.workobject.EntityType;
import java.io.IOException;
import java.util.Optional;

public class EntityTypeSerializer extends JsonSerializer<Optional<EntityType>> {
public class EntityTypeSerializer extends JsonSerializer<EntityType> {

@Override
public void serialize(
Optional<EntityType> entityType,
EntityType entityType,
JsonGenerator gen,
SerializerProvider serializers
) throws IOException {
if (entityType.isPresent()) {
gen.writeString(entityType.get().getValue());
} else {
gen.writeNull();
}
gen.writeString(entityType.getValue());
}
}