1 | "use strict";
|
2 | var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
3 | return new (P || (P = Promise))(function (resolve, reject) {
|
4 | function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
5 | function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
6 | function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
7 | step((generator = generator.apply(thisArg, _arguments || [])).next());
|
8 | });
|
9 | };
|
10 | Object.defineProperty(exports, "__esModule", { value: true });
|
11 | const AWS = require("aws-sdk");
|
12 | const tools_1 = require("./tools");
|
13 | AWS.config.update({ region: 'us-east-1' });
|
14 | const uuid = require('uuid/v1');
|
15 | const SES = new AWS.SES();
|
16 | const SNS = new AWS.SNS();
|
17 | function parseValues(content, values) {
|
18 | const keys = Object.keys(values);
|
19 | for (let i = 0; i < keys.length; i++) {
|
20 | const reg = new RegExp('{{' + keys[i] + '}}', 'g');
|
21 | content = content.toString().replace(reg, values[keys[i]]);
|
22 | }
|
23 | return content;
|
24 | }
|
25 | class Log {
|
26 | sendLog(body, subject, topicArn) {
|
27 | return __awaiter(this, void 0, void 0, function* () {
|
28 | if (!topicArn && process.env.SNS_TOPIC_ARN_HISTORY_LOG) {
|
29 | topicArn = process.env.SNS_TOPIC_ARN_HISTORY_LOG;
|
30 | }
|
31 | else if (!topicArn && !process.env.SNS_TOPIC_ARN_HISTORY_LOG) {
|
32 | return tools_1.response(false, 'bln-ignore');
|
33 | }
|
34 | const eventText = JSON.stringify(body);
|
35 | let sns = new AWS.SNS();
|
36 | let params = {
|
37 | Message: eventText,
|
38 | Subject: subject,
|
39 | TopicArn: topicArn
|
40 | };
|
41 | try {
|
42 | params['ResponseMetadata'] = yield sns.publish(params).promise();
|
43 | return tools_1.response(true, null, params);
|
44 | }
|
45 | catch (error) {
|
46 | console.log(60, error);
|
47 | return tools_1.response(false, 'bln-ignore-try-catch', error.message);
|
48 | }
|
49 | });
|
50 | }
|
51 | }
|
52 | exports.Log = Log;
|
53 |
|
\ | No newline at end of file |