Skip to content

Commit e53817f

Browse files
Merge pull request #388 from HubSpot/fix/update_models_for_link_unfurling
Fix/update models for link unfurling
2 parents f5b0338 + 898e2c9 commit e53817f

File tree

9 files changed

+42
-10
lines changed

9 files changed

+42
-10
lines changed

slack-base/src/main/java/com/hubspot/slack/client/methods/params/chat/workobject/ExternalRefIF.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,13 @@
11
package com.hubspot.slack.client.methods.params.chat.workobject;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
34
import com.hubspot.immutables.style.HubSpotStyle;
45
import java.util.Optional;
56
import org.immutables.value.Value;
67

78
@Value.Immutable
89
@HubSpotStyle
10+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
911
public interface ExternalRefIF {
1012
String getId();
1113
Optional<String> getType();

slack-base/src/main/java/com/hubspot/slack/client/methods/params/chat/workobject/WorkObjectIF.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.hubspot.slack.client.methods.params.chat.workobject;
22

3+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
4+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
35
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
46
import com.hubspot.immutables.style.HubSpotStyle;
57
import com.hubspot.slack.client.methods.params.chat.workobject.entity.EntityPayload;
@@ -8,6 +10,7 @@
810

911
@Value.Immutable
1012
@HubSpotStyle
13+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
1114
public interface WorkObjectIF {
1215
String getAppUnfurlUrl();
1316
String getUrl();
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
package com.hubspot.slack.client.methods.params.chat.workobject.entity;
2+
3+
import com.hubspot.immutables.style.HubSpotStyle;
4+
import org.immutables.value.Value;
5+
6+
@Value.Immutable
7+
@HubSpotStyle
8+
public interface EntityPayloadAttributeTitleIF {
9+
String getText();
10+
}

slack-base/src/main/java/com/hubspot/slack/client/methods/params/chat/workobject/entity/EntityPayloadAttributesIF.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package com.hubspot.slack.client.methods.params.chat.workobject.entity;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
5+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
36
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
47
import com.hubspot.immutables.style.HubSpotStyle;
58
import com.hubspot.slack.client.methods.params.chat.workobject.serializers.DisplayTypeSerializer;
@@ -8,10 +11,13 @@
811

912
@Value.Immutable
1013
@HubSpotStyle
14+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
15+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
1116
public interface EntityPayloadAttributesIF {
12-
String getTitle();
17+
EntityPayloadAttributeTitle getTitle();
1318
Optional<String> getDisplayId();
1419

20+
@JsonInclude(JsonInclude.Include.NON_ABSENT)
1521
@JsonSerialize(using = DisplayTypeSerializer.class)
1622
Optional<DisplayType> getDisplayType();
1723

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,21 @@
11
package com.hubspot.slack.client.methods.params.chat.workobject.entity;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
4+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
5+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
36
import com.hubspot.immutables.style.HubSpotStyle;
47
import com.hubspot.slack.client.methods.params.chat.workobject.entity.fields.EntityPayloadFields;
58
import java.util.List;
9+
import java.util.Optional;
610
import org.immutables.value.Value;
711

812
@Value.Immutable
913
@HubSpotStyle
14+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
15+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
1016
public interface EntityPayloadIF {
1117
EntityPayloadAttributes getAttributes();
12-
EntityPayloadFields getFields();
18+
Optional<EntityPayloadFields> getFields();
1319
List<EntityPayloadAttributesCustomField> getCustomFields();
1420
List<String> getDisplayOrder();
1521
}

slack-base/src/main/java/com/hubspot/slack/client/methods/params/chat/workobject/entity/ProductIconIF.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
package com.hubspot.slack.client.methods.params.chat.workobject.entity;
22

3+
import com.fasterxml.jackson.databind.PropertyNamingStrategies;
4+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
35
import com.hubspot.immutables.style.HubSpotStyle;
46
import org.immutables.value.Value;
57

68
@Value.Immutable
79
@HubSpotStyle
10+
@JsonNaming(PropertyNamingStrategies.SnakeCaseStrategy.class)
811
public interface ProductIconIF {
912
String getUrl();
1013
String getAltText();
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
package com.hubspot.slack.client.methods.params.chat.workobject.entity.fields;
22

3+
import com.fasterxml.jackson.annotation.JsonInclude;
34
import com.hubspot.immutables.style.HubSpotStyle;
45
import org.immutables.value.Value;
56

67
@Value.Immutable
78
@HubSpotStyle
9+
@JsonInclude(JsonInclude.Include.NON_EMPTY)
810
public interface ItemFieldsIF extends EntityPayloadFields {}

slack-base/src/main/java/com/hubspot/slack/client/methods/params/chat/workobject/serializers/DisplayTypeSerializer.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,4 +21,9 @@ public void serialize(
2121
gen.writeNull();
2222
}
2323
}
24+
25+
@Override
26+
public boolean isEmpty(SerializerProvider provider, Optional<DisplayType> value) {
27+
return value.isEmpty();
28+
}
2429
}

slack-base/src/main/java/com/hubspot/slack/client/methods/params/chat/workobject/serializers/EntityTypeSerializer.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -5,20 +5,15 @@
55
import com.fasterxml.jackson.databind.SerializerProvider;
66
import com.hubspot.slack.client.methods.params.chat.workobject.EntityType;
77
import java.io.IOException;
8-
import java.util.Optional;
98

10-
public class EntityTypeSerializer extends JsonSerializer<Optional<EntityType>> {
9+
public class EntityTypeSerializer extends JsonSerializer<EntityType> {
1110

1211
@Override
1312
public void serialize(
14-
Optional<EntityType> entityType,
13+
EntityType entityType,
1514
JsonGenerator gen,
1615
SerializerProvider serializers
1716
) throws IOException {
18-
if (entityType.isPresent()) {
19-
gen.writeString(entityType.get().getValue());
20-
} else {
21-
gen.writeNull();
22-
}
17+
gen.writeString(entityType.getValue());
2318
}
2419
}

0 commit comments

Comments
 (0)