Skip to content

Commit 6e6fe16

Browse files
authored
Merge pull request #166 from reclaim-ai/master
Reclaim contributions - all
2 parents 6b5c55a + 42a406c commit 6e6fe16

28 files changed

+482
-16
lines changed

slack-base/src/main/java/com/hubspot/slack/client/models/events/SlackEventType.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
import com.fasterxml.jackson.annotation.JsonValue;
55
import com.hubspot.slack.client.enums.EnumIndex;
66
import com.hubspot.slack.client.models.events.bot.SlackAppHomeOpenedEvent;
7+
import com.hubspot.slack.client.models.events.app.SlackAppUninstalledEvent;
8+
import com.hubspot.slack.client.models.events.app.SlackTokensRevokedEvent;
79
import com.hubspot.slack.client.models.events.channel.SlackChannelArchiveEvent;
810
import com.hubspot.slack.client.models.events.channel.SlackChannelCreatedEvent;
911
import com.hubspot.slack.client.models.events.channel.SlackChannelDeletedEvent;
@@ -17,7 +19,7 @@ public enum SlackEventType {
1719

1820
APP_HOME_OPENED(SlackAppHomeOpenedEvent.class),
1921
APP_MENTION(SlackEventMessage.class),
20-
APP_UNINSTALLED,
22+
APP_UNINSTALLED(SlackAppUninstalledEvent.class),
2123
CHANNEL_ARCHIVE(SlackChannelArchiveEvent.class),
2224
CHANNEL_CREATED(SlackChannelCreatedEvent.class),
2325
CHANNEL_DELETED(SlackChannelDeletedEvent.class),
@@ -71,7 +73,7 @@ public enum SlackEventType {
7173
TEAM_DOMAIN_CHANGE,
7274
TEAM_JOIN,
7375
TEAM_RENAME,
74-
TOKENS_REVOKED,
76+
TOKENS_REVOKED(SlackTokensRevokedEvent.class),
7577
URL_VERIFICATION,
7678
USER_CHANGE(SlackUserChangeEvent.class),
7779
UNKNOWN
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
package com.hubspot.slack.client.models.events.app;
2+
3+
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
4+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
5+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
6+
import com.hubspot.immutables.style.HubSpotStyle;
7+
import com.hubspot.slack.client.models.events.SlackEvent;
8+
import org.immutables.value.Value;
9+
10+
@Value.Immutable
11+
@HubSpotStyle
12+
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
13+
@JsonDeserialize(as = SlackAppUninstalledEvent.class)
14+
public interface SlackAppUninstalledEventIF extends SlackEvent {
15+
//App uninstall events do not have a ts, so we manually set it as null
16+
@Override
17+
default String getTs() {
18+
return null;
19+
}
20+
}
Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
package com.hubspot.slack.client.models.events.app;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
5+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
6+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
7+
import com.hubspot.immutables.style.HubSpotStyle;
8+
import com.hubspot.slack.client.models.events.SlackEvent;
9+
import org.immutables.value.Value;
10+
11+
@Value.Immutable
12+
@HubSpotStyle
13+
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
14+
@JsonDeserialize(as = SlackTokensRevokedEvent.class)
15+
public interface SlackTokensRevokedEventIF extends SlackEvent {
16+
@JsonProperty
17+
TokensRevoked getTokens();
18+
19+
//Tokens revoked events do not have a ts, so we manually set it as null
20+
@Override
21+
default String getTs() {
22+
return null;
23+
}
24+
25+
}
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
package com.hubspot.slack.client.models.events.app;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.fasterxml.jackson.databind.PropertyNamingStrategy;
5+
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
6+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
7+
import com.hubspot.immutables.style.HubSpotStyle;
8+
import org.immutables.value.Value;
9+
10+
import java.util.List;
11+
12+
@Value.Immutable
13+
@HubSpotStyle
14+
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
15+
@JsonDeserialize(as = TokensRevoked.class)
16+
public interface TokensRevokedIF {
17+
@JsonProperty
18+
List<String> getOauth();
19+
20+
@JsonProperty
21+
List<String> getBot();
22+
}

slack-base/src/main/java/com/hubspot/slack/client/models/events/bot/SlackAppHomeOpenedEventIF.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
@JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class)
1818
@JsonDeserialize(as = SlackAppHomeOpenedEvent.class)
1919
public interface SlackAppHomeOpenedEventIF extends SlackEvent, HasUser {
20-
String getTab();
20+
Optional<String> getTab();
2121

2222
Optional<HomeTabViewResponse> getView();
2323

slack-base/src/main/java/com/hubspot/slack/client/models/interaction/BlockElementActionIF.java

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package com.hubspot.slack.client.models.interaction;
22

3+
import java.time.LocalDate;
34
import java.util.Optional;
45

56
import org.immutables.value.Value.Immutable;
@@ -24,8 +25,10 @@ public interface BlockElementActionIF {
2425

2526
BlockElement getElement();
2627

27-
@JsonProperty("value")
2828
Optional<String> getSelectedValue();
2929

30+
@JsonProperty("selected_date")
31+
Optional<LocalDate> getSelectedDate();
32+
3033
Optional<String> getActionTs();
3134
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.hubspot.slack.client.models.interaction;
2+
3+
import com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy;
4+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
5+
import com.hubspot.immutables.style.HubSpotStyle;
6+
import com.hubspot.slack.client.models.teams.SlackTeam;
7+
import com.hubspot.slack.client.models.users.SlackUserLite;
8+
import org.immutables.value.Value.Immutable;
9+
10+
@Immutable
11+
@HubSpotStyle
12+
@JsonNaming(SnakeCaseStrategy.class)
13+
public interface BlocksLoadOptionsRequestIF {
14+
String getType();
15+
SlackUserLite getUser();
16+
SlackTeam getTeam();
17+
String getToken();
18+
String getActionId();
19+
String getBlockId();
20+
String getValue();
21+
22+
Container getContainer();
23+
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package com.hubspot.slack.client.models.interaction;
2+
3+
import com.fasterxml.jackson.annotation.JsonSubTypes;
4+
import com.fasterxml.jackson.annotation.JsonSubTypes.Type;
5+
import com.fasterxml.jackson.annotation.JsonTypeInfo;
6+
import com.fasterxml.jackson.annotation.JsonTypeInfo.Id;
7+
import com.fasterxml.jackson.annotation.JsonTypeInfo.As;
8+
9+
@JsonTypeInfo(
10+
use = Id.NAME,
11+
include = As.EXISTING_PROPERTY,
12+
property = "type",
13+
visible = true
14+
)
15+
@JsonSubTypes(
16+
{
17+
@Type(value = ViewContainer.class, name = "view"),
18+
@Type(value = MessageContainer.class, name = "message")
19+
}
20+
)
21+
public interface Container {
22+
ContainerType getType();
23+
}
Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
package com.hubspot.slack.client.models.interaction;
2+
3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonValue;
5+
import com.hubspot.slack.client.enums.EnumIndex;
6+
7+
public enum ContainerType {
8+
VIEW,
9+
MESSAGE,
10+
UNKNOWN,
11+
;
12+
13+
private static final EnumIndex<String, ContainerType> INDEX = new EnumIndex<>(ContainerType.class, ContainerType::toString);
14+
15+
@JsonCreator
16+
public static ContainerType get(String key) {
17+
return INDEX.find(key).orElse(ContainerType.UNKNOWN);
18+
}
19+
20+
@Override
21+
@JsonValue
22+
public String toString() {
23+
return name().toLowerCase();
24+
}
25+
26+
}
Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
package com.hubspot.slack.client.models.interaction;
2+
3+
import com.fasterxml.jackson.annotation.JsonProperty;
4+
import com.fasterxml.jackson.databind.PropertyNamingStrategy.SnakeCaseStrategy;
5+
import com.fasterxml.jackson.databind.annotation.JsonNaming;
6+
import com.hubspot.immutables.style.HubSpotStyle;
7+
import org.immutables.value.Value.Immutable;
8+
9+
@Immutable
10+
@HubSpotStyle
11+
@JsonNaming(SnakeCaseStrategy.class)
12+
public interface MessageContainerIF extends Container {
13+
String getMessageTs();
14+
String getChannelId();
15+
16+
@JsonProperty("is_ephemeral")
17+
boolean isEphemeral();
18+
}

0 commit comments

Comments
 (0)