From 01bb1259ebfbe28bad09d1fdbb06d26e1dadb2d4 Mon Sep 17 00:00:00 2001 From: Ali BARIN Date: Mon, 30 Jan 2023 23:37:58 +0000 Subject: [PATCH] feat(slack): add find user by email action --- .../slack/actions/find-user-by-email/index.ts | 30 +++++++++++++++++++ .../backend/src/apps/slack/actions/index.ts | 3 +- packages/docs/pages/apps/slack/actions.md | 2 ++ 3 files changed, 34 insertions(+), 1 deletion(-) create mode 100644 packages/backend/src/apps/slack/actions/find-user-by-email/index.ts diff --git a/packages/backend/src/apps/slack/actions/find-user-by-email/index.ts b/packages/backend/src/apps/slack/actions/find-user-by-email/index.ts new file mode 100644 index 00000000..85e138bc --- /dev/null +++ b/packages/backend/src/apps/slack/actions/find-user-by-email/index.ts @@ -0,0 +1,30 @@ +import defineAction from '../../../../helpers/define-action'; + +export default defineAction({ + name: 'Find user by email', + key: 'findUserByEmail', + description: 'Finds a user by email.', + arguments: [ + { + label: 'Email', + key: 'email', + type: 'string' as const, + required: true, + variables: true, + }, + ], + + async run($) { + const params = { + email: $.step.parameters.email as string, + }; + + const { data } = await $.http.get('/users.lookupByEmail', { + params + }); + + if (data.ok) { + $.setActionItem({ raw: data.user }); + } + }, +}); diff --git a/packages/backend/src/apps/slack/actions/index.ts b/packages/backend/src/apps/slack/actions/index.ts index 30825d13..3cfa8fa2 100644 --- a/packages/backend/src/apps/slack/actions/index.ts +++ b/packages/backend/src/apps/slack/actions/index.ts @@ -1,4 +1,5 @@ import findMessage from './find-message'; +import findUserByEmail from './find-user-by-email'; import sendMessageToChannel from './send-a-message-to-channel'; -export default [findMessage, sendMessageToChannel]; +export default [findMessage, findUserByEmail, sendMessageToChannel]; diff --git a/packages/docs/pages/apps/slack/actions.md b/packages/docs/pages/apps/slack/actions.md index 5cf341cd..a2b98a84 100644 --- a/packages/docs/pages/apps/slack/actions.md +++ b/packages/docs/pages/apps/slack/actions.md @@ -3,6 +3,8 @@ favicon: /favicons/slack.svg items: - name: Find a message desc: Finds a message using the Slack search feature. + - name: Find user by email + desc: Finds a user by email. - name: Send a message to channel desc: Sends a message to a channel you specify. ---