From f07da238427a777197c398dd01756420e513658c Mon Sep 17 00:00:00 2001 From: Stephanie Yeung Date: Thu, 18 Mar 2021 16:38:26 -0700 Subject: [PATCH] Support channel_id_changed events --- slackevents/inner_events.go | 11 +++++++++++ slackevents/inner_events_test.go | 15 +++++++++++++++ 2 files changed, 26 insertions(+) diff --git a/slackevents/inner_events.go b/slackevents/inner_events.go index 641d1691e..96d52ce1f 100644 --- a/slackevents/inner_events.go +++ b/slackevents/inner_events.go @@ -47,6 +47,14 @@ type AppUninstalledEvent struct { Type string `json:"type"` } +// ChannelIDChangedEvent A channel ID has changed after being shared externally. +type ChannelIDChangedEvent struct { + Type string `json:"type"` + OldChannelID string `json:"old_channel_id"` + NewChannelID string `json:"new_channel_id"` + EventTimeStamp json.Number `json:"event_ts"` +} + // GridMigrationFinishedEvent An enterprise grid migration has finished on this workspace. type GridMigrationFinishedEvent struct { Type string `json:"type"` @@ -310,6 +318,8 @@ const ( AppHomeOpened = "app_home_opened" // AppUninstalled Your Slack app was uninstalled. AppUninstalled = "app_uninstalled" + // ChannelIDChangedEvent A channel ID has changed after being shared externally. + ChannelIDChanged = "channel_id_changed" // GridMigrationFinished An enterprise grid migration has finished on this workspace. GridMigrationFinished = "grid_migration_finished" // GridMigrationStarted An enterprise grid migration has started on this workspace. @@ -343,6 +353,7 @@ var EventsAPIInnerEventMapping = map[string]interface{}{ AppMention: AppMentionEvent{}, AppHomeOpened: AppHomeOpenedEvent{}, AppUninstalled: AppUninstalledEvent{}, + ChannelIDChanged: ChannelIDChangedEvent{}, GridMigrationFinished: GridMigrationFinishedEvent{}, GridMigrationStarted: GridMigrationStartedEvent{}, LinkShared: LinkSharedEvent{}, diff --git a/slackevents/inner_events_test.go b/slackevents/inner_events_test.go index af3ca776c..5a432f97e 100644 --- a/slackevents/inner_events_test.go +++ b/slackevents/inner_events_test.go @@ -38,6 +38,21 @@ func TestAppUninstalled(t *testing.T) { } } +func TestChannelIDChanged(t *testing.T) { + rawE := []byte(` + { + "type": "channel_id_changed", + "old_channel_id": "G012Y48650T", + "new_channel_id": "C012Y48650T", + "event_ts": "1612206778.000000" + } + `) + err := json.Unmarshal(rawE, &ChannelIDChangedEvent{}) + if err != nil { + t.Error(err) + } +} + func TestGridMigrationFinishedEvent(t *testing.T) { rawE := []byte(` {