@venturialstd/slack 0.1.18 → 0.1.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=slack.webhook.controller.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack.webhook.controller.js","sourceRoot":"","sources":["../../../controllers/slack.webhook.controller.ts"],"names":[],"mappings":"","sourcesContent":["/*import { Body, Controller, HttpCode, Post } from '@nestjs/common';\r\nimport { EventEmitter2 } from '@nestjs/event-emitter';\r\nimport { ApiOperation, ApiTags } from '@nestjs/swagger';\r\nimport { AppLogger } from 'src/shared/logger/logger.service';\r\n\r\nimport { EVENT_EMITTER_SLACK_EVENTS, SLACK_EVENTS } from '../constants/slack.event.constant';\r\nimport { SlackWebhookEventDto } from '../dtos/slack-webhook-event.dto';\r\nimport { SlackChallengeResponse, SlackOkResponse } from '../types/slack.event.type';\r\n\r\ntype SlackWebhookResponse = SlackChallengeResponse | SlackOkResponse;\r\n@ApiTags('general/slack/webhook')\r\n@Controller('general/slack/webhook')\r\nexport class SlackWebhookController {\r\n constructor(\r\n private readonly eventEmitter: EventEmitter2,\r\n private readonly logger: AppLogger,\r\n ) {\r\n this.logger.setContext(SlackWebhookController.name);\r\n }\r\n\r\n @Post()\r\n @HttpCode(200)\r\n @ApiOperation({ summary: 'Receive webhooks from Slack' })\r\n async handleWebhook(@Body() data: SlackWebhookEventDto): Promise<SlackWebhookResponse> {\r\n this.logger.log(`Webhook ${data.type}`);\r\n\r\n if (data.type === SLACK_EVENTS.URL_VERIFICATION) {\r\n this.logger.log(`Webhook ${data.type}`);\r\n return { challenge: data.challenge! };\r\n }\r\n\r\n if (data.type === SLACK_EVENTS.EVENT_CALLBACK && data.event) {\r\n const eventType = data.event.type;\r\n this.logger.log(`Event received: ${eventType} from user ${data.event.user}`);\r\n\r\n this.eventEmitter.emit(\r\n EVENT_EMITTER_SLACK_EVENTS.WEBHOOK_INCOMING_MESSAGE,\r\n { data: data.event },\r\n { async: true },\r\n );\r\n\r\n return { ok: true };\r\n }\r\n\r\n this.logger.warn(`Type of event is not supported: ${data.type}`);\r\n return { ok: true };\r\n }\r\n}\r\n*/\r\n"]}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=slack-channel.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-channel.service.js","sourceRoot":"","sources":["../../../services/slack-channel.service.ts"],"names":[],"mappings":"","sourcesContent":["/*import { Injectable } from '@nestjs/common';\r\nimport { SlackClient } from '@venturialstd/slack';\r\n\r\nimport { AppLogger } from '../../shared/logger/logger.service';\r\n\r\n@Injectable()\r\nexport class SlackChannelService {\r\n constructor(\r\n private readonly slackClient: SlackClient,\r\n private readonly logger: AppLogger,\r\n ) {\r\n this.logger.setContext(SlackChannelService.name);\r\n }\r\n\r\n async listChannels() {\r\n try {\r\n return await this.slackClient.listChannels();\r\n } catch (error) {\r\n this.logger.error('Error listing Slack channels', error as Error);\r\n throw error;\r\n }\r\n }\r\n async getChannelHistory(channelId: string, limit: number = 10) {\r\n try {\r\n return await this.slackClient.getChannelHistory(channelId, limit);\r\n } catch (error) {\r\n this.logger.error('Error getting Slack channel history', error as Error);\r\n throw error;\r\n }\r\n }\r\n\r\n async getThreadReplies(channelId: string, threadTs: string) {\r\n try {\r\n return await this.slackClient.getThreadReplies(channelId, threadTs);\r\n } catch (error) {\r\n this.logger.error('Error getting Slack thread replies', error as Error);\r\n throw error;\r\n }\r\n }\r\n}\r\n*/\r\n"]}
File without changes
@@ -0,0 +1,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=slack-message.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"slack-message.service.js","sourceRoot":"","sources":["../../../services/slack-message.service.ts"],"names":[],"mappings":"","sourcesContent":["/*import { Injectable } from '@nestjs/common';\r\nimport { SlackClient } from '@venturialstd/slack';\r\n\r\nimport { AppLogger } from '../../shared/logger/logger.service';\r\nimport { EVENT_EMITTER_SLACK_EVENTS } from '../constants/slack.event.constant';\r\nimport { OnEvent } from '@nestjs/event-emitter';\r\n\r\n@Injectable()\r\nexport class SlackMessageService {\r\n constructor(\r\n private readonly slackClient: SlackClient,\r\n private readonly logger: AppLogger,\r\n ) {\r\n this.logger.setContext(SlackMessageService.name);\r\n }\r\n\r\n async sendMessage(channelId: string, text: string) {\r\n try {\r\n return await this.slackClient.postMessage(channelId, text);\r\n } catch (error) {\r\n this.logger.error('Error sending Slack message', error as Error);\r\n throw error;\r\n }\r\n }\r\n\r\n async replyToThread(channelId: string, threadTs: string, text: string) {\r\n try {\r\n return await this.slackClient.replyToThread(channelId, threadTs, text);\r\n } catch (error) {\r\n this.logger.error('Error replying to Slack thread', error as Error);\r\n throw error;\r\n } \r\n }\r\n@OnEvent(EVENT_EMITTER_SLACK_EVENTS.WEBHOOK_INCOMING_MESSAGE)\r\nasync handleIncomingMessage(payload: any) {\r\n const { data } = payload;\r\n const { channel, thread_ts, ts } = data;\r\n \r\n // Llama a replyToThread() ↓\r\n await this.replyToThread(\r\n channel,\r\n thread_ts || ts,\r\n 'Mensaje recibido',\r\n );\r\n } \r\n}\r\n*/\r\n"]}
@@ -1,4 +1,4 @@
1
1
  import { DynamicModule, Type } from '@nestjs/common';
2
2
  export declare class SlackModule {
3
- static forRootAsync(loggerClass: Type<any>): DynamicModule;
3
+ static forRoot(loggerClass: Type<any>, botToken?: string): DynamicModule;
4
4
  }
@@ -11,7 +11,7 @@ exports.SlackModule = void 0;
11
11
  const common_1 = require("@nestjs/common");
12
12
  const slack_client_1 = require("./clients/slack.client");
13
13
  let SlackModule = SlackModule_1 = class SlackModule {
14
- static forRootAsync(loggerClass) {
14
+ static forRoot(loggerClass, botToken) {
15
15
  return {
16
16
  module: SlackModule_1,
17
17
  providers: [
@@ -22,7 +22,7 @@ let SlackModule = SlackModule_1 = class SlackModule {
22
22
  },
23
23
  {
24
24
  provide: 'SLACK_BOT_TOKEN',
25
- useValue: null,
25
+ useValue: botToken,
26
26
  },
27
27
  ],
28
28
  exports: [slack_client_1.SlackClient],
@@ -1 +1 @@
1
- {"version":3,"file":"slack.module.js","sourceRoot":"","sources":["../../slack.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAE7D,yDAAqD;AAG9C,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,YAAY,CAAC,WAAsB;QACxC,OAAO;YACL,MAAM,EAAE,aAAW;YACnB,SAAS,EAAE;gBACT,0BAAW;gBACX;oBACE,OAAO,EAAE,cAAc;oBACvB,QAAQ,EAAE,WAAW;iBACtB;gBACD;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE,CAAC,0BAAW,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,CAAA;AAlBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CAkBvB","sourcesContent":["import { DynamicModule, Module, Type } from '@nestjs/common';\r\n\r\nimport { SlackClient } from './clients/slack.client';\r\n\r\n@Module({})\r\nexport class SlackModule {\r\n static forRootAsync(loggerClass: Type<any>): DynamicModule {\r\n return {\r\n module: SlackModule,\r\n providers: [\r\n SlackClient,\r\n {\r\n provide: 'SLACK_LOGGER',\r\n useClass: loggerClass,\r\n },\r\n {\r\n provide: 'SLACK_BOT_TOKEN',\r\n useValue: null, // Será inyectado después\r\n },\r\n ],\r\n exports: [SlackClient],\r\n };\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"slack.module.js","sourceRoot":"","sources":["../../slack.module.ts"],"names":[],"mappings":";;;;;;;;;;AAAA,2CAA6D;AAE7D,yDAAqD;AAG9C,IAAM,WAAW,mBAAjB,MAAM,WAAW;IACtB,MAAM,CAAC,OAAO,CAAC,WAAsB,EAAE,QAAiB;QACtD,OAAO;YACL,MAAM,EAAE,aAAW;YAEnB,SAAS,EAAE;gBACT,0BAAW;gBAEX;oBACE,OAAO,EAAE,cAAc;oBACvB,QAAQ,EAAE,WAAW;iBACtB;gBACD;oBACE,OAAO,EAAE,iBAAiB;oBAC1B,QAAQ,EAAE,QAAQ;iBACnB;aACF;YACD,OAAO,EAAE,CAAC,0BAAW,CAAC;SACvB,CAAC;IACJ,CAAC;CACF,CAAA;AApBY,kCAAW;sBAAX,WAAW;IADvB,IAAA,eAAM,EAAC,EAAE,CAAC;GACE,WAAW,CAoBvB","sourcesContent":["import { DynamicModule, Module, Type } from '@nestjs/common';\r\n\r\nimport { SlackClient } from './clients/slack.client';\r\n\r\n@Module({})\r\nexport class SlackModule {\r\n static forRoot(loggerClass: Type<any>, botToken?: string): DynamicModule {\r\n return {\r\n module: SlackModule,\r\n\r\n providers: [\r\n SlackClient,\r\n\r\n {\r\n provide: 'SLACK_LOGGER',\r\n useClass: loggerClass,\r\n },\r\n {\r\n provide: 'SLACK_BOT_TOKEN',\r\n useValue: botToken,\r\n },\r\n ],\r\n exports: [SlackClient],\r\n };\r\n }\r\n}\r\n"]}