Browse Source

support new @growi/slack

Yuki Takei 3 years ago
parent
commit
61f5db41ad

+ 4 - 3
apps/slackbot-proxy/src/controllers/growi-to-slack.ts

@@ -1,6 +1,7 @@
-import {
-  verifyGrowiToSlackRequest, getConnectionStatuses, getConnectionStatus, REQUEST_TIMEOUT_FOR_PTOG, generateWebClient, BlockKitRequest,
-} from '@growi/slack';
+import { type BlockKitRequest, REQUEST_TIMEOUT_FOR_PTOG } from '@growi/slack';
+import { verifyGrowiToSlackRequest } from '@growi/slack/dist/middlewares';
+import { getConnectionStatuses, getConnectionStatus } from '@growi/slack/dist/utils/check-communicable';
+import { generateWebClient } from '@growi/slack/dist/utils/webclient-factory';
 import { ErrorCode, WebAPICallResult } from '@slack/web-api';
 import {
   Controller, Get, Post, Inject, Req, Res, UseBefore, PathParams, Put, QueryParams,

+ 10 - 4
apps/slackbot-proxy/src/controllers/slack.ts

@@ -3,11 +3,17 @@
 import { ServerResponse } from 'http';
 
 import {
-  markdownSectionBlock, GrowiCommand, parseSlashCommand, respondRejectedErrors, generateWebClient,
-  InvalidGrowiCommandError, requiredScopes, REQUEST_TIMEOUT_FOR_PTOG,
-  parseSlackInteractionRequest, verifySlackRequest,
-  respond, supportedGrowiCommands, IChannelOptionalId,
+  type GrowiCommand, type IChannelOptionalId,
+  requiredScopes, REQUEST_TIMEOUT_FOR_PTOG,
+  supportedGrowiCommands,
 } from '@growi/slack';
+import { parseSlackInteractionRequest, verifySlackRequest } from '@growi/slack/dist/middlewares';
+import { InvalidGrowiCommandError } from '@growi/slack/dist/models/errors';
+import { markdownSectionBlock } from '@growi/slack/dist/utils/block-kit-builder';
+import { respondRejectedErrors } from '@growi/slack/dist/utils/post-ephemeral-errors';
+import { respond } from '@growi/slack/dist/utils/response-url';
+import { parseSlashCommand } from '@growi/slack/dist/utils/slash-command-parser';
+import { generateWebClient } from '@growi/slack/dist/utils/webclient-factory';
 import { Installation } from '@slack/oauth';
 import { WebAPICallResult } from '@slack/web-api';
 import {

+ 2 - 2
apps/slackbot-proxy/src/interfaces/growi-to-slack/growi-req.ts

@@ -1,4 +1,4 @@
-import { RequestFromGrowi } from '@growi/slack';
-import { Req } from '@tsed/common';
+import type { RequestFromGrowi } from '@growi/slack';
+import type { Req } from '@tsed/common';
 
 export type GrowiReq = Req & RequestFromGrowi;

+ 3 - 3
apps/slackbot-proxy/src/interfaces/slack-to-growi/slack-oauth-req.ts

@@ -1,6 +1,6 @@
-import { RequestFromSlack } from '@growi/slack';
-import { AuthorizeResult } from '@slack/oauth';
-import { Req } from '@tsed/common';
+import type { RequestFromSlack } from '@growi/slack';
+import type { AuthorizeResult } from '@slack/oauth';
+import type { Req } from '@tsed/common';
 
 export type SlackOauthReq = Req & RequestFromSlack & {
   authorizeResult: AuthorizeResult,

+ 2 - 2
apps/slackbot-proxy/src/middlewares/slack-to-growi/add-signing-secret-to-req.ts

@@ -1,6 +1,6 @@
-import { RequestFromSlack } from '@growi/slack';
+import type { RequestFromSlack } from '@growi/slack';
 import {
-  IMiddleware, Middleware, Next, Req, Res,
+  type IMiddleware, Middleware, Next, Req, Res,
 } from '@tsed/common';
 
 @Middleware()

+ 1 - 1
apps/slackbot-proxy/src/middlewares/slack-to-growi/join-to-conversation.ts

@@ -1,4 +1,4 @@
-import { generateWebClient } from '@growi/slack';
+import { generateWebClient } from '@growi/slack/dist/utils/webclient-factory';
 import {
   IMiddleware, Middleware, Req,
 } from '@tsed/common';

+ 2 - 2
apps/slackbot-proxy/src/middlewares/slack-to-growi/parse-interaction-req.ts

@@ -1,6 +1,6 @@
-import { RequestFromSlack } from '@growi/slack';
+import type { RequestFromSlack } from '@growi/slack';
 import {
-  IMiddleware, Middleware, Next, Req,
+  type IMiddleware, Middleware, Next, Req,
 } from '@tsed/common';
 
 

+ 2 - 2
apps/slackbot-proxy/src/services/LinkSharedService.ts

@@ -1,5 +1,5 @@
-import { GrowiEventProcessor, REQUEST_TIMEOUT_FOR_PTOG } from '@growi/slack';
-import { WebClient } from '@slack/web-api';
+import { type GrowiEventProcessor, REQUEST_TIMEOUT_FOR_PTOG } from '@growi/slack';
+import type { WebClient } from '@slack/web-api';
 import { Inject, Service } from '@tsed/di';
 import axios from 'axios';
 

+ 8 - 4
apps/slackbot-proxy/src/services/RegisterService.ts

@@ -1,8 +1,12 @@
-import {
-  markdownSectionBlock, markdownHeaderBlock, inputSectionBlock, GrowiCommand, inputBlock,
-  respond, GrowiCommandProcessor, GrowiInteractionProcessor,
-  getInteractionIdRegexpFromCommandName, InteractionHandledResult, InteractionPayloadAccessor,
+import type {
+  GrowiCommand, GrowiCommandProcessor, GrowiInteractionProcessor, InteractionHandledResult,
 } from '@growi/slack';
+import {
+  markdownSectionBlock, markdownHeaderBlock, inputSectionBlock, inputBlock,
+} from '@growi/slack/dist/utils/block-kit-builder';
+import { InteractionPayloadAccessor } from '@growi/slack/dist/utils/interaction-payload-accessor';
+import { getInteractionIdRegexpFromCommandName } from '@growi/slack/dist/utils/payload-interaction-id-helpers';
+import { respond } from '@growi/slack/dist/utils/response-url';
 import { AuthorizeResult } from '@slack/oauth';
 import {
   WebClient, LogLevel, Block, ConversationsSelect,

+ 3 - 3
apps/slackbot-proxy/src/services/RelationsService.ts

@@ -1,6 +1,6 @@
-import {
-  REQUEST_TIMEOUT_FOR_PTOG, getSupportedGrowiActionsRegExp, IChannelOptionalId, permissionParser,
-} from '@growi/slack';
+import { REQUEST_TIMEOUT_FOR_PTOG, type IChannelOptionalId } from '@growi/slack';
+import { getSupportedGrowiActionsRegExp } from '@growi/slack/dist/utils/get-supported-growi-actions-regexps';
+import { permissionParser } from '@growi/slack/dist/utils/permission-parser';
 import { Inject, Service } from '@tsed/di';
 import axios from 'axios';
 import { addHours } from 'date-fns';

+ 6 - 3
apps/slackbot-proxy/src/services/SelectGrowiService.ts

@@ -1,9 +1,12 @@
 
-import {
-  getInteractionIdRegexpFromCommandName,
+import type {
   GrowiCommand, GrowiCommandProcessor, GrowiInteractionProcessor,
-  InteractionHandledResult, markdownSectionBlock, replaceOriginal, respond, InteractionPayloadAccessor,
+  InteractionHandledResult,
 } from '@growi/slack';
+import { markdownSectionBlock } from '@growi/slack/dist/utils/block-kit-builder';
+import { InteractionPayloadAccessor } from '@growi/slack/dist/utils/interaction-payload-accessor';
+import { getInteractionIdRegexpFromCommandName } from '@growi/slack/dist/utils/payload-interaction-id-helpers';
+import { replaceOriginal, respond } from '@growi/slack/dist/utils/response-url';
 import { AuthorizeResult } from '@slack/oauth';
 import { Inject, Service } from '@tsed/di';
 

+ 8 - 4
apps/slackbot-proxy/src/services/UnregisterService.ts

@@ -1,8 +1,12 @@
-import {
-  actionsBlock, buttonElement, getInteractionIdRegexpFromCommandName,
-  GrowiCommand, GrowiCommandProcessor, GrowiInteractionProcessor,
-  inputBlock, InteractionHandledResult, markdownSectionBlock, respond, InteractionPayloadAccessor, replaceOriginal,
+import type {
+  GrowiCommand, GrowiCommandProcessor, GrowiInteractionProcessor, InteractionHandledResult,
 } from '@growi/slack';
+import {
+  inputBlock, markdownSectionBlock, actionsBlock, buttonElement,
+} from '@growi/slack/dist/utils/block-kit-builder';
+import { InteractionPayloadAccessor } from '@growi/slack/dist/utils/interaction-payload-accessor';
+import { getInteractionIdRegexpFromCommandName } from '@growi/slack/dist/utils/payload-interaction-id-helpers';
+import { respond, replaceOriginal } from '@growi/slack/dist/utils/response-url';
 import { AuthorizeResult } from '@slack/oauth';
 import { MultiStaticSelect } from '@slack/web-api';
 import { Inject, Service } from '@tsed/di';

+ 1 - 1
apps/slackbot-proxy/src/utils/welcome-message.ts

@@ -1,4 +1,4 @@
-import { markdownSectionBlock } from '@growi/slack';
+import { markdownSectionBlock } from '@growi/slack/dist/utils/block-kit-builder';
 import { ChatPostMessageResponse, WebClient } from '@slack/web-api';
 
 export const postWelcomeMessageOnce = async(client: WebClient, channel: string): Promise<void|ChatPostMessageResponse> => {