From e0985a29db5b6245ebf1e163db1e1db093426f48 Mon Sep 17 00:00:00 2001 From: Dylan Mikus Date: Fri, 3 Jul 2020 00:17:06 -0700 Subject: [PATCH 1/3] Add "item" interface types for "ReactionAddedEvent" For the "ReactionAddedEvent.item" field, add the possible interface types that an "item" can take. --- src/types/events/base-events.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/types/events/base-events.ts b/src/types/events/base-events.ts index fdadc54be..b0cd7ca7d 100644 --- a/src/types/events/base-events.ts +++ b/src/types/events/base-events.ts @@ -611,6 +611,23 @@ export interface PinRemovedEvent extends StringIndexed { event_ts: string; } +interface ReactionMessageItem { + type: "message"; + channel: string; + ts: string; +} + +interface ReactionFileItem { + type: "file"; + file: string; +} + +interface ReactionFileCommentItem { + type: "file_comment"; + file_comment: string; + file: string; +} + export interface ReactionAddedEvent extends StringIndexed { type: 'reaction_added'; user: string; @@ -618,8 +635,7 @@ export interface ReactionAddedEvent extends StringIndexed { item_user: string; // TODO: incomplete, should be message | file | file comment (deprecated) // https://api.slack.com/events/reaction_added - item: { - }; + item: ReactionMessageItem | ReactionFileItem | ReactionFileCommentItem; event_ts: string; } From dcfb6ceb70fa02d8437cffe2e3a88344af4828d3 Mon Sep 17 00:00:00 2001 From: Dylan Mikus Date: Fri, 3 Jul 2020 09:44:53 -0700 Subject: [PATCH 2/3] Fix lint errors with double quotes vs single --- src/types/events/base-events.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/types/events/base-events.ts b/src/types/events/base-events.ts index b0cd7ca7d..32f301db0 100644 --- a/src/types/events/base-events.ts +++ b/src/types/events/base-events.ts @@ -612,18 +612,18 @@ export interface PinRemovedEvent extends StringIndexed { } interface ReactionMessageItem { - type: "message"; + type: 'message'; channel: string; ts: string; } interface ReactionFileItem { - type: "file"; + type: 'file'; file: string; } interface ReactionFileCommentItem { - type: "file_comment"; + type: 'file_comment'; file_comment: string; file: string; } From 5124d9447f63206c4ae4a5e4269dd7e7a5b540b0 Mon Sep 17 00:00:00 2001 From: Dylan Mikus Date: Fri, 3 Jul 2020 09:45:04 -0700 Subject: [PATCH 3/3] Clean up TODO comment Clean up TODO comment for filling in `item` types. Mark the `ReactionFileCommentItem` type as deprecated and link to the deprecation notice. --- src/types/events/base-events.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/types/events/base-events.ts b/src/types/events/base-events.ts index 32f301db0..290605041 100644 --- a/src/types/events/base-events.ts +++ b/src/types/events/base-events.ts @@ -622,6 +622,8 @@ interface ReactionFileItem { file: string; } +// This type is deprecated. +// See https://api.slack.com/changelog/2018-05-file-threads-soon-tread interface ReactionFileCommentItem { type: 'file_comment'; file_comment: string; @@ -633,8 +635,6 @@ export interface ReactionAddedEvent extends StringIndexed { user: string; reaction: string; item_user: string; - // TODO: incomplete, should be message | file | file comment (deprecated) - // https://api.slack.com/events/reaction_added item: ReactionMessageItem | ReactionFileItem | ReactionFileCommentItem; event_ts: string; }