diff --git a/lib/client.ts b/lib/client.ts index b09b22a..b0c16a5 100644 --- a/lib/client.ts +++ b/lib/client.ts @@ -7,6 +7,8 @@ import { DeliveryOptionsForEmail, DeliveryOptionsForInappWeb, PostUserRequest, + SlackChannel, + SlackUser, User, UserAccountMetadata, WS_REGION @@ -130,8 +132,8 @@ type NotificationAPIClientSDK = { slack: { getOAuthUrl: (props?: { destinationUrl?: string }) => string; getChannels: () => Promise<{ - channels: Record; - users: Record; + channels: SlackChannel[]; + users: SlackUser[]; }>; setChannel: (channelId: string) => Promise; }; diff --git a/lib/interfaces.ts b/lib/interfaces.ts index 4b74e0c..3e38896 100644 --- a/lib/interfaces.ts +++ b/lib/interfaces.ts @@ -277,3 +277,74 @@ export interface UserAccountMetadata { environmentVapidPublicKey: string; hasWebPushEnabled: boolean; } + +/* Slack Types Start */ +export interface SlackChannel { + context_team_id?: string; + conversation_host_id?: string; + created?: number; + creator?: string; + id?: string; + internal_team_ids?: string[]; + is_archived?: boolean; + is_channel?: boolean; + is_ext_shared?: boolean; + is_general?: boolean; + is_global_shared?: boolean; + is_group?: boolean; + is_im?: boolean; + is_member?: boolean; + is_moved?: number; + is_mpim?: boolean; + is_org_default?: boolean; + is_org_mandatory?: boolean; + is_org_shared?: boolean; + is_pending_ext_shared?: boolean; + is_private?: boolean; + is_shared?: boolean; + is_user_deleted?: boolean; + name?: string; + name_normalized?: string; + num_members?: number; + pending_connected_team_ids?: string[]; + pending_shared?: string[]; + previous_names?: string[]; + priority?: number; + properties?: unknown; + purpose?: unknown; + shared_team_ids?: string[]; + topic?: unknown; + unlinked?: number; + updated?: number; + user?: string; +} + +export interface SlackUser { + color?: string; + deleted?: boolean; + enterprise_user?: unknown; + has_2fa?: boolean; + id?: string; + is_admin?: boolean; + is_app_user?: boolean; + is_bot?: boolean; + is_connector_bot?: boolean; + is_email_confirmed?: boolean; + is_invited_user?: boolean; + is_owner?: boolean; + is_primary_owner?: boolean; + is_restricted?: boolean; + is_ultra_restricted?: boolean; + is_workflow_bot?: boolean; + locale?: string; + name?: string; + profile?: unknown; + real_name?: string; + team_id?: string; + two_factor_type?: string; + tz?: string; + tz_label?: string; + tz_offset?: number; + updated?: number; + who_can_share_contact_card?: string; +} diff --git a/package-lock.json b/package-lock.json index 7ed29a4..32f8578 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@notificationapi/core", - "version": "1.0.1", + "version": "1.0.2", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "@notificationapi/core", - "version": "1.0.1", + "version": "1.0.2", "devDependencies": { "@types/jest": "^29.5.3", "@types/node": "^20.14.10", diff --git a/package.json b/package.json index 28bb2d8..912eabf 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@notificationapi/core", - "version": "1.0.1", + "version": "1.0.2", "type": "module", "main": "dist/main.js", "types": "dist/main.d.ts",