UNPKG

@cdkx/aws-sns-subscriptions

Version:

AWS SNS extended subscriptions

54 lines 5.53 kB
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; (function (factory) { if (typeof module === "object" && typeof module.exports === "object") { var v = factory(require, exports); if (v !== undefined) module.exports = v; } else if (typeof define === "function" && define.amd) { define("@cdkx/aws-sns-subscriptions/handlers/slack.service", ["require", "exports", "@slack/web-api"], factory); } })(function (require, exports) { "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SlackService = void 0; const web_api_1 = require("@slack/web-api"); class SlackService { constructor(token) { this.webClient = new web_api_1.WebClient(token); } getChannelIdByChannelName(name, types, cursor = '') { var _a, _b; return __awaiter(this, void 0, void 0, function* () { const response = yield this.webClient.conversations.list({ types, limit: 200, cursor, }); if (!response.ok) { console.error(`Could not retrieve channel id.`, 'Please request permissions for scope "channels:read:bot", and try again '); return; } const channels = response.channels; cursor = (_b = (_a = response.response_metadata) === null || _a === void 0 ? void 0 : _a.next_cursor) !== null && _b !== void 0 ? _b : ''; const channel = channels === null || channels === void 0 ? void 0 : channels.find((channel) => channel.name === name); if (channel) { return channel; } if (cursor) { return this.getChannelIdByChannelName(name, types, cursor); } return; }); } } exports.SlackService = SlackService; }); //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2xhY2suc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3BhY2thZ2VzL2F3cy1zbnMtc3Vic2NyaXB0aW9ucy9oYW5kbGVycy9zbGFjay5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztJQUFBLDRDQUEyQztJQUUzQyxNQUFhLFlBQVk7UUFFdkIsWUFBWSxLQUFhO1lBQ3ZCLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxtQkFBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3hDLENBQUM7UUFFSyx5QkFBeUIsQ0FDN0IsSUFBWSxFQUNaLEtBQWMsRUFDZCxNQUFNLEdBQUcsRUFBRTs7O2dCQUVYLE1BQU0sUUFBUSxHQUFHLE1BQU0sSUFBSSxDQUFDLFNBQVMsQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDO29CQUN2RCxLQUFLO29CQUNMLEtBQUssRUFBRSxHQUFHO29CQUNWLE1BQU07aUJBQ1AsQ0FBQyxDQUFDO2dCQUVILElBQUksQ0FBQyxRQUFRLENBQUMsRUFBRSxFQUFFO29CQUNoQixPQUFPLENBQUMsS0FBSyxDQUNYLGdDQUFnQyxFQUNoQywwRUFBMEUsQ0FDM0UsQ0FBQztvQkFDRixPQUFPO2lCQUNSO2dCQUVELE1BQU0sUUFBUSxHQUFHLFFBQVEsQ0FBQyxRQUl2QixDQUFDO2dCQUNKLE1BQU0sR0FBRyxNQUFBLE1BQUEsUUFBUSxDQUFDLGlCQUFpQiwwQ0FBRSxXQUFXLG1DQUFJLEVBQUUsQ0FBQztnQkFFdkQsTUFBTSxPQUFPLEdBQUcsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLElBQUksQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFFbkUsSUFBSSxPQUFPLEVBQUU7b0JBQ1gsT0FBTyxPQUFPLENBQUM7aUJBQ2hCO2dCQUVELElBQUksTUFBTSxFQUFFO29CQUNWLE9BQU8sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksRUFBRSxLQUFLLEVBQUUsTUFBTSxDQUFDLENBQUM7aUJBQzVEO2dCQUVELE9BQU87O1NBQ1I7S0FDRjtJQTVDRCxvQ0E0Q0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBXZWJDbGllbnQgfSBmcm9tICdAc2xhY2svd2ViLWFwaSc7XG5cbmV4cG9ydCBjbGFzcyBTbGFja1NlcnZpY2Uge1xuICB3ZWJDbGllbnQ6IFdlYkNsaWVudDtcbiAgY29uc3RydWN0b3IodG9rZW46IHN0cmluZykge1xuICAgIHRoaXMud2ViQ2xpZW50ID0gbmV3IFdlYkNsaWVudCh0b2tlbik7XG4gIH1cblxuICBhc3luYyBnZXRDaGFubmVsSWRCeUNoYW5uZWxOYW1lKFxuICAgIG5hbWU6IHN0cmluZyxcbiAgICB0eXBlcz86IHN0cmluZyxcbiAgICBjdXJzb3IgPSAnJ1xuICApOiBQcm9taXNlPHsgW2tleTogc3RyaW5nXTogdW5rbm93bjsgaWQ6IHN0cmluZzsgbmFtZTogc3RyaW5nIH0gfCB1bmRlZmluZWQ+IHtcbiAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IHRoaXMud2ViQ2xpZW50LmNvbnZlcnNhdGlvbnMubGlzdCh7XG4gICAgICB0eXBlcyxcbiAgICAgIGxpbWl0OiAyMDAsXG4gICAgICBjdXJzb3IsXG4gICAgfSk7XG5cbiAgICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICBgQ291bGQgbm90IHJldHJpZXZlIGNoYW5uZWwgaWQuYCxcbiAgICAgICAgJ1BsZWFzZSByZXF1ZXN0IHBlcm1pc3Npb25zIGZvciBzY29wZSBcImNoYW5uZWxzOnJlYWQ6Ym90XCIsIGFuZCB0cnkgYWdhaW4gJ1xuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBjb25zdCBjaGFubmVscyA9IHJlc3BvbnNlLmNoYW5uZWxzIGFzIHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgICBuYW1lOiBzdHJpbmc7XG4gICAgICBba2V5OiBzdHJpbmddOiB1bmtub3duO1xuICAgIH1bXTtcbiAgICBjdXJzb3IgPSByZXNwb25zZS5yZXNwb25zZV9tZXRhZGF0YT8ubmV4dF9jdXJzb3IgPz8gJyc7XG5cbiAgICBjb25zdCBjaGFubmVsID0gY2hhbm5lbHM/LmZpbmQoKGNoYW5uZWwpID0+IGNoYW5uZWwubmFtZSA9PT0gbmFtZSk7XG5cbiAgICBpZiAoY2hhbm5lbCkge1xuICAgICAgcmV0dXJuIGNoYW5uZWw7XG4gICAgfVxuXG4gICAgaWYgKGN1cnNvcikge1xuICAgICAgcmV0dXJuIHRoaXMuZ2V0Q2hhbm5lbElkQnlDaGFubmVsTmFtZShuYW1lLCB0eXBlcywgY3Vyc29yKTtcbiAgICB9XG5cbiAgICByZXR1cm47XG4gIH1cbn1cbiJdfQ==