@adtrackify/at-service-common 1.0.0 → 1.0.2
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.
- package/.babelrc +22 -0
- package/.editorconfig +12 -0
- package/.eslintrc.json +33 -0
- package/.husky/pre-push +4 -0
- package/dist/clients/dynamodb-client.d.ts +15 -0
- package/dist/clients/dynamodb-client.js +127 -0
- package/dist/clients/dynamodb-client.js.map +1 -0
- package/dist/clients/eventbridge-client.d.ts +13 -0
- package/dist/clients/eventbridge-client.js +43 -0
- package/dist/clients/eventbridge-client.js.map +1 -0
- package/dist/clients/http-client.d.ts +30 -0
- package/dist/clients/http-client.js +39 -0
- package/dist/clients/http-client.js.map +1 -0
- package/dist/clients/index.d.ts +3 -0
- package/dist/clients/index.js +20 -0
- package/dist/clients/index.js.map +1 -0
- package/dist/helpers/index.d.ts +3 -0
- package/dist/helpers/index.js +20 -0
- package/dist/helpers/index.js.map +1 -0
- package/dist/helpers/input-validation-helper.d.ts +2 -0
- package/dist/helpers/input-validation-helper.js +49 -0
- package/dist/helpers/input-validation-helper.js.map +1 -0
- package/dist/helpers/logging-helper.d.ts +1 -0
- package/dist/helpers/logging-helper.js +38 -0
- package/dist/helpers/logging-helper.js.map +1 -0
- package/dist/helpers/response-helper.d.ts +36 -0
- package/dist/helpers/response-helper.js +43 -0
- package/dist/helpers/response-helper.js.map +1 -0
- package/dist/index.d.ts +4 -0
- package/dist/index.js +21 -0
- package/dist/index.js.map +1 -0
- package/dist/libs/crypto.d.ts +1 -0
- package/dist/libs/crypto.js +13 -0
- package/dist/libs/crypto.js.map +1 -0
- package/dist/libs/dates.d.ts +3 -0
- package/dist/libs/dates.js +17 -0
- package/dist/libs/dates.js.map +1 -0
- package/dist/libs/http-error.d.ts +21 -0
- package/dist/libs/http-error.js +71 -0
- package/dist/libs/http-error.js.map +1 -0
- package/dist/libs/http-status-codes.d.ts +344 -0
- package/dist/libs/http-status-codes.js +349 -0
- package/dist/libs/http-status-codes.js.map +1 -0
- package/dist/libs/index.d.ts +4 -0
- package/dist/libs/index.js +21 -0
- package/dist/libs/index.js.map +1 -0
- package/dist/types/db/index.d.ts +1 -0
- package/dist/types/db/index.js +18 -0
- package/dist/types/db/index.js.map +1 -0
- package/dist/types/db/shopify-app-install.d.ts +28 -0
- package/dist/types/db/shopify-app-install.js +3 -0
- package/dist/types/db/shopify-app-install.js.map +1 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/{cjs → types}/index.js +17 -17
- package/dist/types/index.js.map +1 -0
- package/env.yml +9 -0
- package/jest.config.js +39 -0
- package/package.json +54 -64
- package/prettier.config.js +9 -0
- package/src/clients/axios.d.ts +8 -0
- package/src/clients/dynamodb-client.ts +85 -0
- package/src/clients/eventbridge-client.ts +38 -0
- package/src/clients/http-client.ts +36 -0
- package/src/clients/index.ts +3 -0
- package/src/helpers/index.ts +3 -0
- package/src/helpers/input-validation-helper.ts +22 -0
- package/src/helpers/logging-helper.ts +10 -0
- package/src/helpers/response-helper.ts +40 -0
- package/src/index.ts +4 -0
- package/src/libs/crypto.ts +6 -0
- package/src/libs/dates.ts +14 -0
- package/src/libs/http-error.ts +100 -0
- package/src/libs/http-status-codes.ts +344 -0
- package/src/libs/index.ts +4 -0
- package/src/types/db/index.ts +1 -0
- package/src/types/db/shopify-app-install.ts +31 -0
- package/src/types/index.ts +1 -0
- package/tsconfig.json +25 -0
- package/tsconfig.tsbuildinfo +1 -0
- package/tslint.json +6 -0
- package/README.md +0 -1
- package/dist/cjs/fingerprint.d.ts +0 -3
- package/dist/cjs/fingerprint.js +0 -9
- package/dist/cjs/fingerprint.js.map +0 -1
- package/dist/cjs/index.d.ts +0 -1
- package/dist/cjs/index.js.map +0 -1
- package/dist/cjs/sources/architecture.d.ts +0 -1
- package/dist/cjs/sources/architecture.js +0 -16
- package/dist/cjs/sources/architecture.js.map +0 -1
- package/dist/cjs/sources/cookie-enabled.d.ts +0 -1
- package/dist/cjs/sources/cookie-enabled.js +0 -12
- package/dist/cjs/sources/cookie-enabled.js.map +0 -1
- package/dist/cjs/sources/cpu-class.d.ts +0 -1
- package/dist/cjs/sources/cpu-class.js +0 -12
- package/dist/cjs/sources/cpu-class.js.map +0 -1
- package/dist/cjs/sources/device-memory.d.ts +0 -1
- package/dist/cjs/sources/device-memory.js +0 -12
- package/dist/cjs/sources/device-memory.js.map +0 -1
- package/dist/cjs/sources/platform.d.ts +0 -1
- package/dist/cjs/sources/platform.js +0 -12
- package/dist/cjs/sources/platform.js.map +0 -1
- package/dist/cjs/sources/plugins.d.ts +0 -1
- package/dist/cjs/sources/plugins.js +0 -26
- package/dist/cjs/sources/plugins.js.map +0 -1
- package/dist/cjs/sources/timezone.d.ts +0 -1
- package/dist/cjs/sources/timezone.js +0 -12
- package/dist/cjs/sources/timezone.js.map +0 -1
- package/dist/cjs/sources/user-agent.d.ts +0 -1
- package/dist/cjs/sources/user-agent.js +0 -12
- package/dist/cjs/sources/user-agent.js.map +0 -1
- package/dist/esm/fingerprint.d.ts +0 -3
- package/dist/esm/fingerprint.js +0 -5
- package/dist/esm/fingerprint.js.map +0 -1
- package/dist/esm/index.d.ts +0 -1
- package/dist/esm/index.js +0 -2
- package/dist/esm/index.js.map +0 -1
- package/dist/esm/sources/architecture.d.ts +0 -1
- package/dist/esm/sources/architecture.js +0 -13
- package/dist/esm/sources/architecture.js.map +0 -1
- package/dist/esm/sources/cookie-enabled.d.ts +0 -1
- package/dist/esm/sources/cookie-enabled.js +0 -9
- package/dist/esm/sources/cookie-enabled.js.map +0 -1
- package/dist/esm/sources/cpu-class.d.ts +0 -1
- package/dist/esm/sources/cpu-class.js +0 -9
- package/dist/esm/sources/cpu-class.js.map +0 -1
- package/dist/esm/sources/device-memory.d.ts +0 -1
- package/dist/esm/sources/device-memory.js +0 -9
- package/dist/esm/sources/device-memory.js.map +0 -1
- package/dist/esm/sources/platform.d.ts +0 -1
- package/dist/esm/sources/platform.js +0 -9
- package/dist/esm/sources/platform.js.map +0 -1
- package/dist/esm/sources/plugins.d.ts +0 -1
- package/dist/esm/sources/plugins.js +0 -22
- package/dist/esm/sources/plugins.js.map +0 -1
- package/dist/esm/sources/timezone.d.ts +0 -1
- package/dist/esm/sources/timezone.js +0 -9
- package/dist/esm/sources/timezone.js.map +0 -1
- package/dist/esm/sources/user-agent.d.ts +0 -1
- package/dist/esm/sources/user-agent.js +0 -9
- package/dist/esm/sources/user-agent.js.map +0 -1
package/.babelrc
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"presets": [
|
|
3
|
+
[
|
|
4
|
+
"@babel/preset-env"
|
|
5
|
+
],
|
|
6
|
+
[
|
|
7
|
+
"@babel/preset-typescript"
|
|
8
|
+
],
|
|
9
|
+
],
|
|
10
|
+
"plugins": [
|
|
11
|
+
"@babel/plugin-syntax-dynamic-import",
|
|
12
|
+
"@babel/plugin-proposal-optional-chaining",
|
|
13
|
+
[
|
|
14
|
+
"@babel/plugin-transform-runtime",
|
|
15
|
+
{
|
|
16
|
+
"helpers": true,
|
|
17
|
+
"regenerator": true,
|
|
18
|
+
"useESModules": false
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
]
|
|
22
|
+
}
|
package/.editorconfig
ADDED
package/.eslintrc.json
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"env": {
|
|
3
|
+
"browser": true,
|
|
4
|
+
"jest": true,
|
|
5
|
+
"es2021": true
|
|
6
|
+
},
|
|
7
|
+
"extends": [
|
|
8
|
+
"eslint:recommended"
|
|
9
|
+
],
|
|
10
|
+
"parser": "@typescript-eslint/parser",
|
|
11
|
+
"parserOptions": {
|
|
12
|
+
"ecmaVersion": 12,
|
|
13
|
+
"sourceType": "module"
|
|
14
|
+
},
|
|
15
|
+
"plugins": [
|
|
16
|
+
"@typescript-eslint",
|
|
17
|
+
"babel"
|
|
18
|
+
],
|
|
19
|
+
"globals": {
|
|
20
|
+
"process": false,
|
|
21
|
+
"exports": false
|
|
22
|
+
},
|
|
23
|
+
"rules": {
|
|
24
|
+
"@typescript-eslint/no-unused-vars": [
|
|
25
|
+
"error"
|
|
26
|
+
],
|
|
27
|
+
"no-unused-vars": "off",
|
|
28
|
+
"quotes": [
|
|
29
|
+
"error",
|
|
30
|
+
"single"
|
|
31
|
+
]
|
|
32
|
+
}
|
|
33
|
+
}
|
package/.husky/pre-push
ADDED
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import AWS from 'aws-sdk';
|
|
2
|
+
import { BatchGetItemInput, DeleteItemInput, GetItemInput, PutItemInput, QueryInput, ScanInput, UpdateItemInput } from 'aws-sdk/clients/dynamodb';
|
|
3
|
+
export declare class DynamoDbClient {
|
|
4
|
+
static safeGet: (tableName: string, keyName: string, keyValue: any) => Promise<AWS.DynamoDB.DocumentClient.AttributeMap | null>;
|
|
5
|
+
static safePut: (tableName: string, data: any) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DocumentClient.PutItemOutput, AWS.AWSError> | null>;
|
|
6
|
+
static safeBatchGet: (tableName: string, keys: AWS.DynamoDB.KeyList) => Promise<AWS.DynamoDB.DocumentClient.ItemList>;
|
|
7
|
+
static queryAll: (params: QueryInput) => Promise<any[] | null>;
|
|
8
|
+
static batchGet: (params: BatchGetItemInput) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DocumentClient.BatchGetItemOutput, AWS.AWSError>>;
|
|
9
|
+
static get: (params: GetItemInput) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DocumentClient.GetItemOutput, AWS.AWSError>>;
|
|
10
|
+
static put: (params: PutItemInput) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DocumentClient.PutItemOutput, AWS.AWSError>>;
|
|
11
|
+
static query: (params: QueryInput) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DocumentClient.QueryOutput, AWS.AWSError>>;
|
|
12
|
+
static scan: (params: ScanInput) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DocumentClient.ScanOutput, AWS.AWSError>>;
|
|
13
|
+
static update: (params: UpdateItemInput) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DocumentClient.UpdateItemOutput, AWS.AWSError>>;
|
|
14
|
+
static delete: (params: DeleteItemInput) => Promise<import("aws-sdk/lib/request").PromiseResult<AWS.DynamoDB.DocumentClient.DeleteItemOutput, AWS.AWSError>>;
|
|
15
|
+
}
|
|
@@ -0,0 +1,127 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
26
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
27
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
28
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
29
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
30
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
31
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
32
|
+
});
|
|
33
|
+
};
|
|
34
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
35
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
36
|
+
};
|
|
37
|
+
var _a;
|
|
38
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
39
|
+
exports.DynamoDbClient = void 0;
|
|
40
|
+
const aws_sdk_1 = __importDefault(require("aws-sdk"));
|
|
41
|
+
const log = __importStar(require("lambda-log"));
|
|
42
|
+
const client = new aws_sdk_1.default.DynamoDB.DocumentClient();
|
|
43
|
+
class DynamoDbClient {
|
|
44
|
+
}
|
|
45
|
+
exports.DynamoDbClient = DynamoDbClient;
|
|
46
|
+
_a = DynamoDbClient;
|
|
47
|
+
DynamoDbClient.safeGet = (tableName, keyName, keyValue) => __awaiter(void 0, void 0, void 0, function* () {
|
|
48
|
+
var _b;
|
|
49
|
+
try {
|
|
50
|
+
const params = {
|
|
51
|
+
TableName: tableName,
|
|
52
|
+
Key: {
|
|
53
|
+
[keyName]: keyValue
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
const res = yield client.get(params).promise();
|
|
57
|
+
return (_b = res === null || res === void 0 ? void 0 : res.Item) !== null && _b !== void 0 ? _b : null;
|
|
58
|
+
}
|
|
59
|
+
catch (e) {
|
|
60
|
+
log.error(e, { message: 'Dynamo Client Get Failed' });
|
|
61
|
+
return null;
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
DynamoDbClient.safePut = (tableName, data) => __awaiter(void 0, void 0, void 0, function* () {
|
|
65
|
+
try {
|
|
66
|
+
const params = {
|
|
67
|
+
TableName: tableName,
|
|
68
|
+
Item: data
|
|
69
|
+
};
|
|
70
|
+
const res = yield client.put(params).promise();
|
|
71
|
+
return res;
|
|
72
|
+
}
|
|
73
|
+
catch (e) {
|
|
74
|
+
log.error(e, { message: 'Dynamo failed simplePut' });
|
|
75
|
+
return null;
|
|
76
|
+
}
|
|
77
|
+
});
|
|
78
|
+
DynamoDbClient.safeBatchGet = (tableName, keys) => __awaiter(void 0, void 0, void 0, function* () {
|
|
79
|
+
var _c, _d;
|
|
80
|
+
try {
|
|
81
|
+
const params = {
|
|
82
|
+
RequestItems: {}
|
|
83
|
+
};
|
|
84
|
+
params.RequestItems[tableName] = {
|
|
85
|
+
Keys: keys
|
|
86
|
+
};
|
|
87
|
+
const res = yield client.batchGet(params).promise();
|
|
88
|
+
log.info('batchget res', { batchGetRes: res });
|
|
89
|
+
if ((_c = res === null || res === void 0 ? void 0 : res.Responses) === null || _c === void 0 ? void 0 : _c[tableName]) {
|
|
90
|
+
return (_d = res === null || res === void 0 ? void 0 : res.Responses) === null || _d === void 0 ? void 0 : _d[tableName];
|
|
91
|
+
}
|
|
92
|
+
return [];
|
|
93
|
+
}
|
|
94
|
+
catch (e) {
|
|
95
|
+
log.error(e, { message: 'Dynamo failed safeBatchGet' });
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
});
|
|
99
|
+
DynamoDbClient.queryAll = (params) => __awaiter(void 0, void 0, void 0, function* () {
|
|
100
|
+
try {
|
|
101
|
+
log.info('Invoke Query All', { params });
|
|
102
|
+
let currentResult, exclusiveStartKey;
|
|
103
|
+
let accumulatedResults = [];
|
|
104
|
+
do {
|
|
105
|
+
params.ExclusiveStartKey = exclusiveStartKey;
|
|
106
|
+
params.Limit = 200;
|
|
107
|
+
currentResult = yield client.query(params).promise();
|
|
108
|
+
if (currentResult.Items) {
|
|
109
|
+
exclusiveStartKey = currentResult.LastEvaluatedKey;
|
|
110
|
+
accumulatedResults = [...accumulatedResults, ...currentResult.Items];
|
|
111
|
+
}
|
|
112
|
+
} while (currentResult.Items && currentResult.Items.length > 0 && currentResult.LastEvaluatedKey);
|
|
113
|
+
return accumulatedResults;
|
|
114
|
+
}
|
|
115
|
+
catch (e) {
|
|
116
|
+
log.error(e, { message: 'Dynamo failed queryAll' });
|
|
117
|
+
return null;
|
|
118
|
+
}
|
|
119
|
+
});
|
|
120
|
+
DynamoDbClient.batchGet = (params) => client.batchGet(params).promise();
|
|
121
|
+
DynamoDbClient.get = (params) => client.get(params).promise();
|
|
122
|
+
DynamoDbClient.put = (params) => client.put(params).promise();
|
|
123
|
+
DynamoDbClient.query = (params) => client.query(params).promise();
|
|
124
|
+
DynamoDbClient.scan = (params) => client.scan(params).promise();
|
|
125
|
+
DynamoDbClient.update = (params) => client.update(params).promise();
|
|
126
|
+
DynamoDbClient.delete = (params) => client.delete(params).promise();
|
|
127
|
+
//# sourceMappingURL=dynamodb-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"dynamodb-client.js","sourceRoot":"","sources":["../../src/clients/dynamodb-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import { EventBridge } from 'aws-sdk';
|
|
2
|
+
export declare class EventBridgeClient {
|
|
3
|
+
eventBridge: EventBridge;
|
|
4
|
+
EVENT_BUS_NAME: string;
|
|
5
|
+
constructor(eventBusName: string);
|
|
6
|
+
buildEvent: (eventType: string, eventData: any, eventId?: string, eventTime?: string) => {
|
|
7
|
+
eventId: string;
|
|
8
|
+
eventType: string;
|
|
9
|
+
eventTime: string;
|
|
10
|
+
eventData: any;
|
|
11
|
+
};
|
|
12
|
+
putEvent: (source: string, detailType: string, data: any, headers?: any) => Promise<import("aws-sdk/lib/request").PromiseResult<EventBridge.PutEventsResponse, import("aws-sdk").AWSError>>;
|
|
13
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.EventBridgeClient = void 0;
|
|
13
|
+
const aws_sdk_1 = require("aws-sdk");
|
|
14
|
+
const uuid_1 = require("uuid");
|
|
15
|
+
const dates_1 = require("../libs/dates");
|
|
16
|
+
class EventBridgeClient {
|
|
17
|
+
constructor(eventBusName) {
|
|
18
|
+
this.buildEvent = (eventType, eventData, eventId = (0, uuid_1.v4)(), eventTime = (0, dates_1.getCurrentTimestamp)()) => {
|
|
19
|
+
return {
|
|
20
|
+
eventId,
|
|
21
|
+
eventType,
|
|
22
|
+
eventTime,
|
|
23
|
+
eventData
|
|
24
|
+
};
|
|
25
|
+
};
|
|
26
|
+
this.putEvent = (source, detailType, data, headers = null) => __awaiter(this, void 0, void 0, function* () {
|
|
27
|
+
const params = {
|
|
28
|
+
Entries: [{
|
|
29
|
+
Detail: JSON.stringify({ headers, data }),
|
|
30
|
+
DetailType: detailType,
|
|
31
|
+
EventBusName: this.EVENT_BUS_NAME,
|
|
32
|
+
Source: source,
|
|
33
|
+
Time: new Date(),
|
|
34
|
+
}],
|
|
35
|
+
};
|
|
36
|
+
return yield this.eventBridge.putEvents(params).promise();
|
|
37
|
+
});
|
|
38
|
+
this.eventBridge = new aws_sdk_1.EventBridge();
|
|
39
|
+
this.EVENT_BUS_NAME = eventBusName;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.EventBridgeClient = EventBridgeClient;
|
|
43
|
+
//# sourceMappingURL=eventbridge-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"eventbridge-client.js","sourceRoot":"","sources":["../../src/clients/eventbridge-client.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,qCAAsC;AACtC,+BAAoC;AACpC,yCAAoD;AAEpD,MAAa,iBAAiB;IAI5B,YAAa,YAAoB;QAK1B,eAAU,GAAG,CAAC,SAAiB,EAAE,SAAc,EAAE,UAAkB,IAAA,SAAM,GAAE,EAAE,YAAoB,IAAA,2BAAmB,GAAE,EAAE,EAAE;YAC/H,OAAO;gBACL,OAAO;gBACP,SAAS;gBACT,SAAS;gBACT,SAAS;aACV,CAAC;QACJ,CAAC,CAAC;QAGK,aAAQ,GAAG,CAAO,MAAc,EAAE,UAAkB,EAAE,IAAS,EAAE,UAAe,IAAI,EAAE,EAAE;YAC7F,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,CAAE;wBACT,MAAM,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;wBACzC,UAAU,EAAE,UAAU;wBACtB,YAAY,EAAE,IAAI,CAAC,cAAc;wBACjC,MAAM,EAAE,MAAM;wBACd,IAAI,EAAE,IAAI,IAAI,EAAE;qBACjB,CAAE;aACJ,CAAC;YACF,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QAC5D,CAAC,CAAA,CAAC;QAzBA,IAAI,CAAC,WAAW,GAAG,IAAI,qBAAW,EAAE,CAAC;QACrC,IAAI,CAAC,cAAc,GAAG,YAAY,CAAC;IACrC,CAAC;CAyBF;AAhCD,8CAgCC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import { AxiosRequestConfig } from 'axios';
|
|
2
|
+
export declare const axiosHttpService: (config?: AxiosRequestConfig) => {
|
|
3
|
+
instance: () => import("axios").AxiosInstance;
|
|
4
|
+
get: (url: string, config?: AxiosRequestConfig) => Promise<{
|
|
5
|
+
headers: any;
|
|
6
|
+
data: any;
|
|
7
|
+
status: any;
|
|
8
|
+
}>;
|
|
9
|
+
post: (url: string, data?: any, config?: AxiosRequestConfig) => Promise<{
|
|
10
|
+
headers: any;
|
|
11
|
+
data: any;
|
|
12
|
+
status: any;
|
|
13
|
+
}>;
|
|
14
|
+
delete: (url: string, config?: AxiosRequestConfig) => Promise<{
|
|
15
|
+
headers: any;
|
|
16
|
+
data: any;
|
|
17
|
+
status: any;
|
|
18
|
+
}>;
|
|
19
|
+
put: (url: string, data?: any, config?: AxiosRequestConfig) => Promise<{
|
|
20
|
+
headers: any;
|
|
21
|
+
data: any;
|
|
22
|
+
status: any;
|
|
23
|
+
}>;
|
|
24
|
+
patch: (url: string, data?: any, config?: AxiosRequestConfig) => Promise<{
|
|
25
|
+
headers: any;
|
|
26
|
+
data: any;
|
|
27
|
+
status: any;
|
|
28
|
+
}>;
|
|
29
|
+
setBaseUrl: (url: string) => boolean;
|
|
30
|
+
};
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.axiosHttpService = void 0;
|
|
7
|
+
const axios_1 = __importDefault(require("axios"));
|
|
8
|
+
const axios_retry_1 = __importDefault(require("axios-retry"));
|
|
9
|
+
const https_1 = __importDefault(require("https"));
|
|
10
|
+
const http_1 = __importDefault(require("axios/lib/adapters/http"));
|
|
11
|
+
const httpResponse = (res = {}) => {
|
|
12
|
+
return {
|
|
13
|
+
headers: (res === null || res === void 0 ? void 0 : res.header) || {},
|
|
14
|
+
data: (res === null || res === void 0 ? void 0 : res.data) || {},
|
|
15
|
+
status: (res === null || res === void 0 ? void 0 : res.status) || 0,
|
|
16
|
+
};
|
|
17
|
+
};
|
|
18
|
+
const axiosHttpService = (config = {}) => {
|
|
19
|
+
config.adapter = http_1.default;
|
|
20
|
+
config.httpsAgent = new https_1.default.Agent({ keepAlive: true });
|
|
21
|
+
const axiosService = axios_1.default.create(config);
|
|
22
|
+
(0, axios_retry_1.default)(axiosService, { retryDelay: axios_retry_1.default.exponentialDelay, retries: 3 });
|
|
23
|
+
const handleAxiosError = (error) => {
|
|
24
|
+
if (!(error === null || error === void 0 ? void 0 : error.response) && !(error === null || error === void 0 ? void 0 : error.request))
|
|
25
|
+
throw error;
|
|
26
|
+
return error.response ? httpResponse(error.response) : httpResponse({ status: 500, data: { error: error.request } });
|
|
27
|
+
};
|
|
28
|
+
return {
|
|
29
|
+
instance: () => axiosService,
|
|
30
|
+
get: (url, config) => axiosService.get(url, config).then(httpResponse, handleAxiosError),
|
|
31
|
+
post: (url, data, config) => axiosService.post(url, data, config).then(httpResponse, handleAxiosError),
|
|
32
|
+
delete: (url, config) => axiosService.delete(url, config).then(httpResponse, handleAxiosError),
|
|
33
|
+
put: (url, data, config) => axiosService.put(url, data, config).then(httpResponse, handleAxiosError),
|
|
34
|
+
patch: (url, data, config) => axiosService.patch(url, data, config).then(httpResponse, handleAxiosError),
|
|
35
|
+
setBaseUrl: (url) => !!(axiosService.defaults.baseURL = url)
|
|
36
|
+
};
|
|
37
|
+
};
|
|
38
|
+
exports.axiosHttpService = axiosHttpService;
|
|
39
|
+
//# sourceMappingURL=http-client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/clients/http-client.ts"],"names":[],"mappings":";;;;;;AAAA,kDAAkD;AAClD,8DAAqC;AACrC,kDAAyB;AACzB,mEAAkD;AAElD,MAAM,YAAY,GAAG,CAAC,MAAW,EAAE,EAAE,EAAE;IACrC,OAAO;QACL,OAAO,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,KAAI,EAAE;QAC1B,IAAI,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,IAAI,KAAI,EAAE;QACrB,MAAM,EAAE,CAAA,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,MAAM,KAAI,CAAC;KACzB,CAAC;AACJ,CAAC,CAAC;AAEK,MAAM,gBAAgB,GAAG,CAAC,SAA6B,EAAE,EAAE,EAAE;IAClE,MAAM,CAAC,OAAO,GAAG,cAAW,CAAC;IAC7B,MAAM,CAAC,UAAU,GAAG,IAAI,eAAK,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzD,MAAM,YAAY,GAAG,eAAK,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAE1C,IAAA,qBAAU,EAAC,YAAY,EAAE,EAAE,UAAU,EAAE,qBAAU,CAAC,gBAAgB,EAAE,OAAO,EAAE,CAAC,EAAE,CAAC,CAAC;IAElF,MAAM,gBAAgB,GAAG,CAAC,KAAU,EAAE,EAAE;QACtC,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,QAAQ,CAAA,IAAI,CAAC,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,CAAA;YAAE,MAAM,KAAK,CAAC;QACrD,OAAO,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,EAAE,KAAK,EAAE,KAAK,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;IACvH,CAAC,CAAC;IAEF,OAAO;QACL,QAAQ,EAAE,GAAG,EAAE,CAAC,YAAY;QAC5B,GAAG,EAAE,CAAC,GAAW,EAAE,MAA2B,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC;QACrH,IAAI,EAAE,CAAC,GAAW,EAAE,IAAU,EAAE,MAA2B,EAAE,EAAE,CAAC,YAAY,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC;QACzI,MAAM,EAAE,CAAC,GAAW,EAAE,MAA2B,EAAE,EAAE,CAAC,YAAY,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC;QAC3H,GAAG,EAAE,CAAC,GAAW,EAAE,IAAU,EAAE,MAA2B,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC;QACvI,KAAK,EAAE,CAAC,GAAW,EAAE,IAAU,EAAE,MAA2B,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC,IAAI,CAAC,YAAY,EAAE,gBAAgB,CAAC;QAC3I,UAAU,EAAE,CAAC,GAAW,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,QAAQ,CAAC,OAAO,GAAG,GAAG,CAAC;KACrE,CAAA;AACH,CAAC,CAAA;AArBY,QAAA,gBAAgB,oBAqB5B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./dynamodb-client"), exports);
|
|
18
|
+
__exportStar(require("./eventbridge-client"), exports);
|
|
19
|
+
__exportStar(require("./http-client"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/clients/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,oDAAkC;AAClC,uDAAqC;AACrC,gDAA8B"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./input-validation-helper"), exports);
|
|
18
|
+
__exportStar(require("./logging-helper"), exports);
|
|
19
|
+
__exportStar(require("./response-helper"), exports);
|
|
20
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/helpers/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,4DAA0C;AAC1C,mDAAiC;AACjC,oDAAiC"}
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
+
exports.validateInput = void 0;
|
|
27
|
+
const http_error_1 = require("../libs/http-error");
|
|
28
|
+
const log = __importStar(require("lambda-log"));
|
|
29
|
+
const validateInput = (schema, input) => {
|
|
30
|
+
const { error, value } = schema.validate(input);
|
|
31
|
+
if (error) {
|
|
32
|
+
log.info('', { error });
|
|
33
|
+
const httperr = http_error_1.HttpError.badRequest('Input Validation Failure', {
|
|
34
|
+
errors: error.details.map(detail => {
|
|
35
|
+
var _a;
|
|
36
|
+
return ({
|
|
37
|
+
message: detail === null || detail === void 0 ? void 0 : detail.message,
|
|
38
|
+
key: (_a = detail === null || detail === void 0 ? void 0 : detail.context) === null || _a === void 0 ? void 0 : _a.key,
|
|
39
|
+
path: detail === null || detail === void 0 ? void 0 : detail.path,
|
|
40
|
+
});
|
|
41
|
+
})
|
|
42
|
+
});
|
|
43
|
+
log.info('', { httperr });
|
|
44
|
+
throw httperr;
|
|
45
|
+
}
|
|
46
|
+
return value;
|
|
47
|
+
};
|
|
48
|
+
exports.validateInput = validateInput;
|
|
49
|
+
//# sourceMappingURL=input-validation-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"input-validation-helper.js","sourceRoot":"","sources":["../../src/helpers/input-validation-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,mDAA+C;AAC/C,gDAAkC;AAG3B,MAAM,aAAa,GAAG,CAAC,MAA6B,EAAE,KAAU,EAAE,EAAE;IACzE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAChD,IAAI,KAAK,EAAE;QACT,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;QAExB,MAAM,OAAO,GAAG,sBAAS,CAAC,UAAU,CAAC,0BAA0B,EAAE;YAC/D,MAAM,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;;gBAAC,OAAA,CAAC;oBACnC,OAAO,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO;oBACxB,GAAG,EAAE,MAAA,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,OAAO,0CAAE,GAAG;oBACzB,IAAI,EAAE,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,IAAI;iBACnB,CAAC,CAAA;aAAA,CAAC;SACJ,CAAC,CAAC;QAEH,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;QAC1B,MAAM,OAAO,CAAC;KACf;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAjBW,QAAA,aAAa,iBAiBxB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const configureLogger: (event: any, context: any, debug?: boolean) => void;
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
25
|
+
var _a;
|
|
26
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
27
|
+
exports.configureLogger = void 0;
|
|
28
|
+
const log = __importStar(require("lambda-log"));
|
|
29
|
+
const stage = (_a = process === null || process === void 0 ? void 0 : process.env) === null || _a === void 0 ? void 0 : _a.STAGE;
|
|
30
|
+
const configureLogger = (event, context, debug = true) => {
|
|
31
|
+
log.options.meta.stage = stage;
|
|
32
|
+
log.options.meta.source_name = (context === null || context === void 0 ? void 0 : context.functionName) || 'unknown';
|
|
33
|
+
log.options.meta.awsRequestId = (context === null || context === void 0 ? void 0 : context.awsRequestId) || 'unknown';
|
|
34
|
+
log.options.meta.lambdaEvent = event;
|
|
35
|
+
log.options.debug = debug;
|
|
36
|
+
};
|
|
37
|
+
exports.configureLogger = configureLogger;
|
|
38
|
+
//# sourceMappingURL=logging-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"logging-helper.js","sourceRoot":"","sources":["../../src/helpers/logging-helper.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAkC;AAClC,MAAM,KAAK,GAAG,MAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,GAAG,0CAAE,KAAK,CAAC;AAE3B,MAAM,eAAe,GAAG,CAAC,KAAU,EAAE,OAAY,EAAE,QAAiB,IAAI,EAAE,EAAE;IACjF,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IAC/B,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,KAAI,SAAS,CAAC;IAClE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,YAAY,GAAG,CAAA,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,YAAY,KAAI,SAAS,CAAC;IACnE,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;IACrC,GAAG,CAAC,OAAO,CAAC,KAAK,GAAG,KAAK,CAAC;AAC5B,CAAC,CAAA;AANY,QAAA,eAAe,mBAM3B"}
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export declare const success: (body: any) => {
|
|
2
|
+
statusCode: number;
|
|
3
|
+
headers: {
|
|
4
|
+
'Access-Control-Allow-Origin': string;
|
|
5
|
+
'Access-Control-Allow-Credentials': boolean;
|
|
6
|
+
'cache-control': string;
|
|
7
|
+
Date: Date;
|
|
8
|
+
'Last-Modified': Date;
|
|
9
|
+
'Access-Control-Allow-Headers': string;
|
|
10
|
+
};
|
|
11
|
+
body: string;
|
|
12
|
+
};
|
|
13
|
+
export declare const failure: (error: any, statusCode?: number) => {
|
|
14
|
+
statusCode: number;
|
|
15
|
+
headers: {
|
|
16
|
+
'Access-Control-Allow-Origin': string;
|
|
17
|
+
'Access-Control-Allow-Credentials': boolean;
|
|
18
|
+
'cache-control': string;
|
|
19
|
+
Date: Date;
|
|
20
|
+
'Last-Modified': Date;
|
|
21
|
+
'Access-Control-Allow-Headers': string;
|
|
22
|
+
};
|
|
23
|
+
body: string;
|
|
24
|
+
};
|
|
25
|
+
export declare const buildResponse: (statusCode: number, body?: any) => {
|
|
26
|
+
statusCode: number;
|
|
27
|
+
headers: {
|
|
28
|
+
'Access-Control-Allow-Origin': string;
|
|
29
|
+
'Access-Control-Allow-Credentials': boolean;
|
|
30
|
+
'cache-control': string;
|
|
31
|
+
Date: Date;
|
|
32
|
+
'Last-Modified': Date;
|
|
33
|
+
'Access-Control-Allow-Headers': string;
|
|
34
|
+
};
|
|
35
|
+
body: string;
|
|
36
|
+
};
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.buildResponse = exports.failure = exports.success = void 0;
|
|
4
|
+
const success = (body) => {
|
|
5
|
+
return (0, exports.buildResponse)(200, body);
|
|
6
|
+
};
|
|
7
|
+
exports.success = success;
|
|
8
|
+
const defaultError = {
|
|
9
|
+
message: 'internalServerError'
|
|
10
|
+
};
|
|
11
|
+
const failure = (error, statusCode = 500) => {
|
|
12
|
+
var _a;
|
|
13
|
+
statusCode = (_a = error === null || error === void 0 ? void 0 : error.statusCode) !== null && _a !== void 0 ? _a : statusCode;
|
|
14
|
+
let body = defaultError;
|
|
15
|
+
if (error === null || error === void 0 ? void 0 : error.body) {
|
|
16
|
+
body = error.body;
|
|
17
|
+
}
|
|
18
|
+
else if (error === null || error === void 0 ? void 0 : error.message) {
|
|
19
|
+
body = { message: error.message };
|
|
20
|
+
}
|
|
21
|
+
else if (statusCode === 500) {
|
|
22
|
+
body = defaultError;
|
|
23
|
+
}
|
|
24
|
+
return (0, exports.buildResponse)(statusCode, body);
|
|
25
|
+
};
|
|
26
|
+
exports.failure = failure;
|
|
27
|
+
const buildResponse = (statusCode, body = {}) => {
|
|
28
|
+
delete body.stack;
|
|
29
|
+
return {
|
|
30
|
+
statusCode: statusCode,
|
|
31
|
+
headers: {
|
|
32
|
+
'Access-Control-Allow-Origin': '*',
|
|
33
|
+
'Access-Control-Allow-Credentials': true,
|
|
34
|
+
'cache-control': 'max-age=86400',
|
|
35
|
+
Date: new Date(),
|
|
36
|
+
'Last-Modified': new Date(),
|
|
37
|
+
'Access-Control-Allow-Headers': 'Content-Type, Content-Encoding'
|
|
38
|
+
},
|
|
39
|
+
body: JSON.stringify(body),
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
exports.buildResponse = buildResponse;
|
|
43
|
+
//# sourceMappingURL=response-helper.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"response-helper.js","sourceRoot":"","sources":["../../src/helpers/response-helper.ts"],"names":[],"mappings":";;;AACO,MAAM,OAAO,GAAG,CAAC,IAAS,EAAE,EAAE;IACnC,OAAO,IAAA,qBAAa,EAAC,GAAG,EAAE,IAAI,CAAC,CAAC;AAClC,CAAC,CAAA;AAFY,QAAA,OAAO,WAEnB;AAED,MAAM,YAAY,GAAG;IACnB,OAAO,EAAE,qBAAqB;CAC/B,CAAA;AAEM,MAAM,OAAO,GAAG,CAAC,KAAU,EAAE,aAAqB,GAAG,EAAE,EAAE;;IAC9D,UAAU,GAAG,MAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,UAAU,mCAAI,UAAU,CAAC;IAE7C,IAAI,IAAI,GAAG,YAAY,CAAC;IACxB,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,EAAE;QACf,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;KACnB;SACI,IAAI,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,OAAO,EAAE;QACvB,IAAI,GAAG,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,CAAC;KACnC;SAAM,IAAI,UAAU,KAAK,GAAG,EAAE;QAC7B,IAAI,GAAG,YAAY,CAAC;KACrB;IACD,OAAO,IAAA,qBAAa,EAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AACzC,CAAC,CAAA;AAbY,QAAA,OAAO,WAanB;AAEM,MAAM,aAAa,GAAG,CAAC,UAAkB,EAAE,OAAY,EAAE,EAAE,EAAE;IAClE,OAAO,IAAI,CAAC,KAAK,CAAC;IAClB,OAAO;QACL,UAAU,EAAE,UAAU;QACtB,OAAO,EAAE;YACP,6BAA6B,EAAE,GAAG;YAClC,kCAAkC,EAAE,IAAI;YACxC,eAAe,EAAE,eAAe;YAChC,IAAI,EAAE,IAAI,IAAI,EAAE;YAChB,eAAe,EAAE,IAAI,IAAI,EAAE;YAC3B,8BAA8B,EAC5B,gCAAgC;SACnC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;KAC3B,CAAC;AACJ,CAAC,CAAA;AAfY,QAAA,aAAa,iBAezB"}
|
package/dist/index.d.ts
ADDED