lesgo 1.0.0 → 2.1.1
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/README.md +5 -4
- package/bin/lesgo-scripts.sh +4 -4
- package/dist/config/app.d.ts +7 -0
- package/dist/config/app.js +9 -0
- package/dist/config/aws.d.ts +5 -0
- package/dist/config/aws.js +4 -0
- package/dist/config/basicAuth.d.ts +7 -0
- package/dist/config/basicAuth.js +8 -0
- package/dist/config/crypto.d.ts +10 -0
- package/dist/config/crypto.js +9 -0
- package/dist/config/dynamodb.d.ts +8 -0
- package/dist/config/dynamodb.js +14 -0
- package/dist/config/elasticache.d.ts +7 -0
- package/dist/config/elasticache.js +6 -0
- package/dist/config/index.d.ts +11 -0
- package/dist/config/index.js +11 -0
- package/dist/config/jwt.d.ts +12 -0
- package/dist/config/jwt.js +16 -0
- package/dist/config/rds.d.ts +12 -0
- package/dist/config/rds.js +13 -0
- package/dist/config/s3.d.ts +5 -0
- package/dist/config/s3.js +5 -0
- package/dist/config/secretsManager.d.ts +4 -0
- package/dist/config/secretsManager.js +4 -0
- package/dist/config/sqs.d.ts +9 -0
- package/dist/config/sqs.js +18 -0
- package/dist/exceptions/LesgoException.d.ts +6 -0
- package/{src → dist}/exceptions/LesgoException.js +5 -4
- package/dist/exceptions/index.d.ts +1 -0
- package/dist/exceptions/index.js +1 -0
- package/dist/middlewares/disconnectMiddleware.d.ts +8 -0
- package/dist/middlewares/disconnectMiddleware.js +78 -0
- package/dist/middlewares/httpMiddleware.d.ts +12 -0
- package/dist/middlewares/httpMiddleware.js +74 -0
- package/dist/middlewares/httpResponseMiddleware.d.ts +7 -0
- package/dist/middlewares/httpResponseMiddleware.js +128 -0
- package/dist/middlewares/index.d.ts +7 -0
- package/dist/middlewares/index.js +7 -0
- package/dist/middlewares/invokeCommandMiddleware.d.ts +12 -0
- package/dist/middlewares/invokeCommandMiddleware.js +70 -0
- package/dist/middlewares/sqsMiddleware.d.ts +10 -0
- package/dist/middlewares/sqsMiddleware.js +70 -0
- package/dist/middlewares/verifyBasicAuthMiddleware.d.ts +8 -0
- package/dist/middlewares/verifyBasicAuthMiddleware.js +59 -0
- package/dist/middlewares/verifyJwtMiddleware.d.ts +6 -0
- package/dist/middlewares/verifyJwtMiddleware.js +37 -0
- package/dist/services/DynamoDbService/deleteRecord.d.ts +8 -0
- package/dist/services/DynamoDbService/deleteRecord.js +69 -0
- package/dist/services/DynamoDbService/getClient.d.ts +7 -0
- package/dist/services/DynamoDbService/getClient.js +30 -0
- package/dist/services/DynamoDbService/getTableName.d.ts +2 -0
- package/dist/services/DynamoDbService/getTableName.js +15 -0
- package/dist/services/DynamoDbService/index.d.ts +6 -0
- package/dist/services/DynamoDbService/index.js +6 -0
- package/dist/services/DynamoDbService/putRecord.d.ts +8 -0
- package/dist/services/DynamoDbService/putRecord.js +64 -0
- package/dist/services/DynamoDbService/query.d.ts +7 -0
- package/dist/services/DynamoDbService/query.js +78 -0
- package/dist/services/DynamoDbService/scan.d.ts +7 -0
- package/dist/services/DynamoDbService/scan.js +60 -0
- package/dist/services/DynamoDbService/updateRecord.d.ts +9 -0
- package/dist/services/DynamoDbService/updateRecord.js +89 -0
- package/dist/services/ElastiCacheRedisService/deleteRedisCache.d.ts +3 -0
- package/dist/services/ElastiCacheRedisService/deleteRedisCache.js +62 -0
- package/dist/services/ElastiCacheRedisService/disconnectElastiCacheRedisClient.d.ts +11 -0
- package/dist/services/ElastiCacheRedisService/disconnectElastiCacheRedisClient.js +69 -0
- package/dist/services/ElastiCacheRedisService/getElastiCacheRedisClient.d.ts +12 -0
- package/dist/services/ElastiCacheRedisService/getElastiCacheRedisClient.js +114 -0
- package/dist/services/ElastiCacheRedisService/getRedisCache.d.ts +3 -0
- package/dist/services/ElastiCacheRedisService/getRedisCache.js +70 -0
- package/dist/services/ElastiCacheRedisService/index.d.ts +5 -0
- package/dist/services/ElastiCacheRedisService/index.js +5 -0
- package/dist/services/ElastiCacheRedisService/setRedisCache.d.ts +6 -0
- package/dist/services/ElastiCacheRedisService/setRedisCache.js +77 -0
- package/dist/services/JWTService/decodeJwt.d.ts +7 -0
- package/dist/services/JWTService/decodeJwt.js +9 -0
- package/dist/services/JWTService/getJwtSecret.d.ts +13 -0
- package/dist/services/JWTService/getJwtSecret.js +54 -0
- package/dist/services/JWTService/index.d.ts +2 -0
- package/dist/services/JWTService/index.js +2 -0
- package/dist/services/JWTService/sign.d.ts +3 -0
- package/dist/services/JWTService/sign.js +31 -0
- package/dist/services/JWTService/verify.d.ts +7 -0
- package/dist/services/JWTService/verify.js +61 -0
- package/dist/services/LoggerService.d.ts +46 -0
- package/{src → dist}/services/LoggerService.js +29 -60
- package/dist/services/RDSAuroraMySQLProxyService/disconnectMySQLProxyClient.d.ts +2 -0
- package/dist/services/RDSAuroraMySQLProxyService/disconnectMySQLProxyClient.js +60 -0
- package/dist/services/RDSAuroraMySQLProxyService/getMySQLProxyClient.d.ts +8 -0
- package/dist/services/RDSAuroraMySQLProxyService/getMySQLProxyClient.js +87 -0
- package/dist/services/RDSAuroraMySQLProxyService/index.d.ts +3 -0
- package/dist/services/RDSAuroraMySQLProxyService/index.js +3 -0
- package/dist/services/RDSAuroraMySQLProxyService/query.d.ts +4 -0
- package/dist/services/RDSAuroraMySQLProxyService/query.js +63 -0
- package/dist/services/S3Service/getClient.d.ts +4 -0
- package/dist/services/S3Service/getClient.js +28 -0
- package/dist/services/S3Service/getDownloadSignedUrl.d.ts +7 -0
- package/dist/services/S3Service/getDownloadSignedUrl.js +58 -0
- package/dist/services/S3Service/getHeadObject.d.ts +13 -0
- package/dist/services/S3Service/getHeadObject.js +83 -0
- package/dist/services/S3Service/getObject.d.ts +10 -0
- package/dist/services/S3Service/getObject.js +89 -0
- package/dist/services/S3Service/getUploadSignedUrl.d.ts +7 -0
- package/dist/services/S3Service/getUploadSignedUrl.js +61 -0
- package/dist/services/S3Service/index.d.ts +6 -0
- package/dist/services/S3Service/index.js +6 -0
- package/dist/services/S3Service/putObject.d.ts +9 -0
- package/dist/services/S3Service/putObject.js +77 -0
- package/dist/services/SQSService/deleteMessage.d.ts +9 -0
- package/dist/services/SQSService/deleteMessage.js +69 -0
- package/dist/services/SQSService/dispatch.d.ts +9 -0
- package/dist/services/SQSService/dispatch.js +71 -0
- package/dist/services/SQSService/getClient.d.ts +4 -0
- package/dist/services/SQSService/getClient.js +28 -0
- package/dist/services/SQSService/getQueueUrl.d.ts +7 -0
- package/dist/services/SQSService/getQueueUrl.js +25 -0
- package/dist/services/SQSService/index.d.ts +4 -0
- package/dist/services/SQSService/index.js +4 -0
- package/dist/services/SQSService/receiveMessages.d.ts +8 -0
- package/dist/services/SQSService/receiveMessages.js +65 -0
- package/dist/services/SecretsManagerService/getClient.d.ts +7 -0
- package/dist/services/SecretsManagerService/getClient.js +28 -0
- package/dist/services/SecretsManagerService/getSecretValue.d.ts +7 -0
- package/dist/services/SecretsManagerService/getSecretValue.js +65 -0
- package/dist/services/SecretsManagerService/index.d.ts +2 -0
- package/dist/services/SecretsManagerService/index.js +2 -0
- package/dist/services/index.d.ts +1 -0
- package/dist/services/index.js +1 -0
- package/dist/types/aws.d.ts +8 -0
- package/dist/types/aws.js +1 -0
- package/dist/utils/cache/redis/deleteCache.d.ts +19 -0
- package/dist/utils/cache/redis/deleteCache.js +21 -0
- package/dist/utils/cache/redis/getCache.d.ts +22 -0
- package/dist/utils/cache/redis/getCache.js +24 -0
- package/dist/utils/cache/redis/getClient.d.ts +30 -0
- package/dist/utils/cache/redis/getClient.js +32 -0
- package/dist/utils/cache/redis/index.d.ts +4 -0
- package/dist/utils/cache/redis/index.js +4 -0
- package/dist/utils/cache/redis/setCache.d.ts +25 -0
- package/dist/utils/cache/redis/setCache.js +26 -0
- package/dist/utils/crypto/decrypt.d.ts +33 -0
- package/dist/utils/crypto/decrypt.js +59 -0
- package/dist/utils/crypto/encrypt.d.ts +31 -0
- package/dist/utils/crypto/encrypt.js +41 -0
- package/dist/utils/crypto/hash.d.ts +31 -0
- package/dist/utils/crypto/hash.js +56 -0
- package/dist/utils/crypto/index.d.ts +3 -0
- package/dist/utils/crypto/index.js +3 -0
- package/dist/utils/crypto/validateEncryptionFields.d.ts +19 -0
- package/dist/utils/crypto/validateEncryptionFields.js +71 -0
- package/dist/utils/db/mysql/proxy/disconnect.d.ts +2 -0
- package/dist/utils/db/mysql/proxy/disconnect.js +5 -0
- package/dist/utils/db/mysql/proxy/disconnectDb.d.ts +2 -0
- package/dist/utils/db/mysql/proxy/disconnectDb.js +5 -0
- package/dist/utils/db/mysql/proxy/getClient.d.ts +4 -0
- package/dist/utils/db/mysql/proxy/getClient.js +5 -0
- package/dist/utils/db/mysql/proxy/index.d.ts +3 -0
- package/dist/utils/db/mysql/proxy/index.js +3 -0
- package/dist/utils/db/mysql/proxy/query.d.ts +4 -0
- package/dist/utils/db/mysql/proxy/query.js +45 -0
- package/dist/utils/dynamodb/deleteRecord.d.ts +5 -0
- package/dist/utils/dynamodb/deleteRecord.js +39 -0
- package/dist/utils/dynamodb/getClient.d.ts +3 -0
- package/dist/utils/dynamodb/getClient.js +5 -0
- package/dist/utils/dynamodb/index.d.ts +6 -0
- package/dist/utils/dynamodb/index.js +6 -0
- package/dist/utils/dynamodb/putRecord.d.ts +4 -0
- package/dist/utils/dynamodb/putRecord.js +39 -0
- package/dist/utils/dynamodb/query.d.ts +5 -0
- package/dist/utils/dynamodb/query.js +52 -0
- package/dist/utils/dynamodb/scan.d.ts +4 -0
- package/dist/utils/dynamodb/scan.js +40 -0
- package/dist/utils/dynamodb/updateRecord.d.ts +5 -0
- package/dist/utils/dynamodb/updateRecord.js +53 -0
- package/dist/utils/formatUnixTimestamp.d.ts +8 -0
- package/dist/utils/formatUnixTimestamp.js +17 -0
- package/dist/utils/generateUid.d.ts +13 -0
- package/{src → dist}/utils/generateUid.js +9 -4
- package/dist/utils/getCurrentDatetime.d.ts +2 -0
- package/dist/utils/getCurrentDatetime.js +4 -0
- package/dist/utils/getCurrentTimestamp.d.ts +7 -0
- package/dist/utils/getCurrentTimestamp.js +9 -0
- package/dist/utils/getJwtSubFromAuthHeader.d.ts +9 -0
- package/dist/utils/getJwtSubFromAuthHeader.js +24 -0
- package/dist/utils/index.d.ts +9 -0
- package/dist/utils/index.js +9 -0
- package/dist/utils/isDecimal.d.ts +8 -0
- package/dist/utils/isDecimal.js +9 -0
- package/dist/utils/isEmail.d.ts +9 -0
- package/{src → dist}/utils/isEmail.js +9 -4
- package/dist/utils/isEmpty.d.ts +8 -0
- package/dist/utils/isEmpty.js +19 -0
- package/dist/utils/jwt/index.d.ts +2 -0
- package/dist/utils/jwt/index.js +2 -0
- package/dist/utils/jwt/sign.d.ts +3 -0
- package/dist/utils/jwt/sign.js +5 -0
- package/dist/utils/jwt/verify.d.ts +3 -0
- package/dist/utils/jwt/verify.js +12 -0
- package/dist/utils/logger.d.ts +20 -0
- package/dist/utils/logger.js +38 -0
- package/dist/utils/s3/getClient.d.ts +3 -0
- package/dist/utils/s3/getClient.js +5 -0
- package/dist/utils/s3/getDownloadSignedUrl.d.ts +5 -0
- package/dist/utils/s3/getDownloadSignedUrl.js +39 -0
- package/dist/utils/s3/getHeadObject.d.ts +10 -0
- package/dist/utils/s3/getHeadObject.js +39 -0
- package/dist/utils/s3/getObject.d.ts +13 -0
- package/dist/utils/s3/getObject.js +51 -0
- package/dist/utils/s3/getUploadSignedUrl.d.ts +5 -0
- package/dist/utils/s3/getUploadSignedUrl.js +39 -0
- package/dist/utils/s3/index.d.ts +6 -0
- package/dist/utils/s3/index.js +6 -0
- package/dist/utils/s3/putObject.d.ts +5 -0
- package/dist/utils/s3/putObject.js +39 -0
- package/dist/utils/secretsmanager/getClient.d.ts +3 -0
- package/dist/utils/secretsmanager/getClient.js +5 -0
- package/dist/utils/secretsmanager/getSecretValue.d.ts +4 -0
- package/dist/utils/secretsmanager/getSecretValue.js +68 -0
- package/dist/utils/secretsmanager/index.d.ts +2 -0
- package/dist/utils/secretsmanager/index.js +2 -0
- package/dist/utils/sqs/deleteMessage.d.ts +5 -0
- package/dist/utils/sqs/deleteMessage.js +39 -0
- package/dist/utils/sqs/dispatch.d.ts +5 -0
- package/dist/utils/sqs/dispatch.js +39 -0
- package/dist/utils/sqs/getClient.d.ts +3 -0
- package/dist/utils/sqs/getClient.js +5 -0
- package/dist/utils/sqs/index.d.ts +4 -0
- package/dist/utils/sqs/index.js +4 -0
- package/dist/utils/sqs/receiveMessages.d.ts +5 -0
- package/dist/utils/sqs/receiveMessages.js +39 -0
- package/dist/utils/validateFields.d.ts +22 -0
- package/{src → dist}/utils/validateFields.js +13 -19
- package/package.json +145 -34
- package/src/exceptions/__tests__/LesgoException.spec.js +0 -24
- package/src/exceptions/index.js +0 -4
- package/src/index.js +0 -4
- package/src/middlewares/__mocks__/ValidationErrorException.js +0 -18
- package/src/middlewares/__tests__/basicAuthMiddleware.spec.js +0 -264
- package/src/middlewares/__tests__/clientAuthMiddleware.spec.js +0 -235
- package/src/middlewares/__tests__/errorHttpResponseMiddleware.spec.js +0 -203
- package/src/middlewares/__tests__/gzipHttpResponse.spec.js +0 -185
- package/src/middlewares/__tests__/httpNoOutputMiddleware.spec.js +0 -201
- package/src/middlewares/__tests__/normalizeHttpRequestMiddleware.spec.js +0 -181
- package/src/middlewares/__tests__/normalizeSQSMessageMiddleware.spec.js +0 -120
- package/src/middlewares/__tests__/successHttpResponseMiddleware.spec.js +0 -172
- package/src/middlewares/__tests__/verifyJwtMiddleware.spec.js +0 -297
- package/src/middlewares/basicAuthMiddleware.js +0 -125
- package/src/middlewares/clientAuthMiddleware.js +0 -103
- package/src/middlewares/errorHttpResponseMiddleware.js +0 -101
- package/src/middlewares/gzipHttpResponse.js +0 -98
- package/src/middlewares/httpMiddleware.js +0 -19
- package/src/middlewares/httpNoOutputMiddleware.js +0 -91
- package/src/middlewares/index.js +0 -19
- package/src/middlewares/normalizeHttpRequestMiddleware.js +0 -101
- package/src/middlewares/normalizeSQSMessageMiddleware.js +0 -67
- package/src/middlewares/successHttpResponseMiddleware.js +0 -85
- package/src/middlewares/verifyJwtMiddleware.js +0 -73
- package/src/services/AuroraDbRDSProxyService.js +0 -182
- package/src/services/AuroraDbService.js +0 -111
- package/src/services/DynamoDbService.js +0 -177
- package/src/services/ElastiCacheService.js +0 -17
- package/src/services/ElasticsearchService.js +0 -181
- package/src/services/FirebaseAdminService.js +0 -108
- package/src/services/JwtService.js +0 -52
- package/src/services/S3Service.js +0 -59
- package/src/services/SQSService.js +0 -65
- package/src/services/__tests__/AuroraDbRDSProxyService.spec.js +0 -278
- package/src/services/__tests__/AuroraDbService.spec.js +0 -211
- package/src/services/__tests__/AwsElasticsearchConnection.spec.js +0 -89
- package/src/services/__tests__/DynamoDbService.spec.js +0 -314
- package/src/services/__tests__/ElasticsearchService.spec.js +0 -201
- package/src/services/__tests__/FirebaseAdminService.spec.js +0 -356
- package/src/services/__tests__/JwtService.spec.js +0 -35
- package/src/services/__tests__/LengthAwarePaginator.spec.js +0 -223
- package/src/services/__tests__/LoggerService.spec.js +0 -267
- package/src/services/__tests__/Paginator.spec.js +0 -383
- package/src/services/__tests__/S3Service.spec.js +0 -55
- package/src/services/__tests__/SQSService.spec.js +0 -47
- package/src/services/__tests__/SignedRequest.spec.js +0 -103
- package/src/services/aws/AwsElasticsearchConnection.js +0 -59
- package/src/services/aws/SignedRequest.js +0 -158
- package/src/services/index.js +0 -19
- package/src/services/pagination/LengthAwarePaginator.js +0 -49
- package/src/services/pagination/Paginator.js +0 -260
- package/src/utils/__mocks__/db.js +0 -109
- package/src/utils/__tests__/cache.spec.js +0 -131
- package/src/utils/__tests__/crypto.spec.js +0 -122
- package/src/utils/__tests__/db.spec.js +0 -70
- package/src/utils/__tests__/dynamodb.spec.js +0 -27
- package/src/utils/__tests__/elasticsearch.spec.js +0 -43
- package/src/utils/__tests__/generateUid.spec.js +0 -36
- package/src/utils/__tests__/getJwtSubFromAuthHeader.spec.js +0 -20
- package/src/utils/__tests__/isDecimal.spec.js +0 -12
- package/src/utils/__tests__/isEmail.spec.js +0 -28
- package/src/utils/__tests__/isEmpty.spec.js +0 -31
- package/src/utils/__tests__/logger.spec.js +0 -11
- package/src/utils/__tests__/objectStore.spec.js +0 -67
- package/src/utils/__tests__/prepSQLInsertParams.spec.js +0 -46
- package/src/utils/__tests__/prepSQLUpdateParams.spec.js +0 -36
- package/src/utils/__tests__/queue.spec.js +0 -54
- package/src/utils/__tests__/validateFields.spec.js +0 -374
- package/src/utils/cache.js +0 -215
- package/src/utils/crypto.js +0 -77
- package/src/utils/db.js +0 -17
- package/src/utils/dynamodb.js +0 -6
- package/src/utils/elasticsearch.js +0 -20
- package/src/utils/getJwtSubFromAuthHeader.js +0 -18
- package/src/utils/index.js +0 -26
- package/src/utils/isDecimal.js +0 -2
- package/src/utils/isEmpty.js +0 -6
- package/src/utils/logger.js +0 -25
- package/src/utils/objectStore.js +0 -11
- package/src/utils/prepSQLInsertParams.js +0 -21
- package/src/utils/prepSQLUpdateParams.js +0 -25
- package/src/utils/queue.js +0 -11
|
@@ -1,383 +0,0 @@
|
|
|
1
|
-
import Paginator from '../pagination/Paginator';
|
|
2
|
-
import {
|
|
3
|
-
mockData,
|
|
4
|
-
mockDataFirstItem,
|
|
5
|
-
mockDataLastItem,
|
|
6
|
-
} from '../../utils/__mocks__/db';
|
|
7
|
-
import db from '../../utils/db';
|
|
8
|
-
|
|
9
|
-
jest.mock('../../utils/db');
|
|
10
|
-
|
|
11
|
-
beforeEach(() => {
|
|
12
|
-
db.select.mockClear();
|
|
13
|
-
});
|
|
14
|
-
|
|
15
|
-
const FILE = 'Services/pagination/Paginator';
|
|
16
|
-
|
|
17
|
-
describe('test Paginator instantiate', () => {
|
|
18
|
-
it.each`
|
|
19
|
-
currentPage | perPage | expectedCount | firstItem | lastItem
|
|
20
|
-
${undefined} | ${undefined} | ${10} | ${mockData} | ${mockData}
|
|
21
|
-
${undefined} | ${5} | ${5} | ${mockDataFirstItem} | ${mockDataLastItem}
|
|
22
|
-
`(
|
|
23
|
-
'should not throw exception if page is $page and perPage is $perPage',
|
|
24
|
-
async ({ currentPage, perPage, expectedCount, firstItem, lastItem }) => {
|
|
25
|
-
const paginator = new Paginator(
|
|
26
|
-
db,
|
|
27
|
-
'SELECT * FROM tests',
|
|
28
|
-
{},
|
|
29
|
-
{
|
|
30
|
-
perPage,
|
|
31
|
-
currentPage,
|
|
32
|
-
}
|
|
33
|
-
);
|
|
34
|
-
|
|
35
|
-
expect(await paginator.count()).toEqual(expectedCount);
|
|
36
|
-
expect(paginator.currentPage()).toEqual(1);
|
|
37
|
-
expect(await paginator.firstItem()).toMatchObject(firstItem);
|
|
38
|
-
expect(await paginator.lastItem()).toMatchObject(lastItem);
|
|
39
|
-
expect(paginator.perPage()).toEqual(expectedCount);
|
|
40
|
-
expect(await paginator.total()).toEqual(10);
|
|
41
|
-
}
|
|
42
|
-
);
|
|
43
|
-
|
|
44
|
-
it('should be instantiated without options', async () => {
|
|
45
|
-
const paginator = new Paginator(db, 'SELECT * FROM tests', {});
|
|
46
|
-
|
|
47
|
-
expect(await paginator.count()).toEqual(10);
|
|
48
|
-
expect(paginator.currentPage()).toEqual(1);
|
|
49
|
-
expect(await paginator.firstItem()).toMatchObject(mockData);
|
|
50
|
-
expect(await paginator.lastItem()).toMatchObject(mockData);
|
|
51
|
-
expect(paginator.perPage()).toEqual(10);
|
|
52
|
-
expect(await paginator.total()).toEqual(10);
|
|
53
|
-
});
|
|
54
|
-
|
|
55
|
-
it.each`
|
|
56
|
-
currentPage | perPage | errorName | errorMessage | errorCode | errorStatusCode
|
|
57
|
-
${'sample'} | ${10} | ${'LesgoException'} | ${"Invalid type for 'currentPage', expecting 'number'"} | ${`${FILE}::FIELD_VALIDATION_EXCEPTION`} | ${500}
|
|
58
|
-
${1} | ${'sample'} | ${'LesgoException'} | ${"Invalid type for 'perPage', expecting 'number'"} | ${`${FILE}::FIELD_VALIDATION_EXCEPTION`} | ${500}
|
|
59
|
-
`(
|
|
60
|
-
'should throw $errorMessage when page is $page and perPage is $perPage',
|
|
61
|
-
({
|
|
62
|
-
currentPage,
|
|
63
|
-
perPage,
|
|
64
|
-
errorName,
|
|
65
|
-
errorMessage,
|
|
66
|
-
errorCode,
|
|
67
|
-
errorStatusCode,
|
|
68
|
-
}) => {
|
|
69
|
-
try {
|
|
70
|
-
const values = new Paginator(
|
|
71
|
-
db,
|
|
72
|
-
'SELECT * FROM tests',
|
|
73
|
-
{},
|
|
74
|
-
{
|
|
75
|
-
perPage,
|
|
76
|
-
currentPage,
|
|
77
|
-
}
|
|
78
|
-
);
|
|
79
|
-
expect(values).toThrow();
|
|
80
|
-
} catch (err) {
|
|
81
|
-
expect(err.name).toEqual(errorName);
|
|
82
|
-
expect(err.message).toEqual(errorMessage);
|
|
83
|
-
expect(err.code).toEqual(errorCode);
|
|
84
|
-
expect(err.statusCode).toEqual(errorStatusCode);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
);
|
|
88
|
-
|
|
89
|
-
it('should return the first item of the result', async () => {
|
|
90
|
-
const paginator = new Paginator(
|
|
91
|
-
db,
|
|
92
|
-
'SELECT * FROM tests',
|
|
93
|
-
{},
|
|
94
|
-
{
|
|
95
|
-
perPage: 5,
|
|
96
|
-
}
|
|
97
|
-
);
|
|
98
|
-
|
|
99
|
-
expect(await paginator.firstItem()).toMatchObject(mockDataFirstItem);
|
|
100
|
-
});
|
|
101
|
-
it('should return the last item of the result', async () => {
|
|
102
|
-
const paginator = new Paginator(
|
|
103
|
-
db,
|
|
104
|
-
'SELECT * FROM tests',
|
|
105
|
-
{},
|
|
106
|
-
{
|
|
107
|
-
perPage: 5,
|
|
108
|
-
}
|
|
109
|
-
);
|
|
110
|
-
|
|
111
|
-
expect(await paginator.lastItem()).toMatchObject(mockDataLastItem);
|
|
112
|
-
});
|
|
113
|
-
it('should return the defined per page', () => {
|
|
114
|
-
const paginator = new Paginator(
|
|
115
|
-
db,
|
|
116
|
-
'SELECT * FROM tests',
|
|
117
|
-
{},
|
|
118
|
-
{
|
|
119
|
-
perPage: 5,
|
|
120
|
-
}
|
|
121
|
-
);
|
|
122
|
-
|
|
123
|
-
expect(paginator.perPage()).toEqual(5);
|
|
124
|
-
});
|
|
125
|
-
it('should return the previous page if exist', () => {
|
|
126
|
-
const paginator1 = new Paginator(
|
|
127
|
-
db,
|
|
128
|
-
'SELECT * FROM tests',
|
|
129
|
-
{},
|
|
130
|
-
{
|
|
131
|
-
perPage: 5,
|
|
132
|
-
currentPage: 2,
|
|
133
|
-
}
|
|
134
|
-
);
|
|
135
|
-
expect(paginator1.previousPage()).toEqual(1);
|
|
136
|
-
|
|
137
|
-
const paginator2 = new Paginator(
|
|
138
|
-
db,
|
|
139
|
-
'SELECT * FROM tests',
|
|
140
|
-
{},
|
|
141
|
-
{
|
|
142
|
-
perPage: 5,
|
|
143
|
-
currentPage: 1,
|
|
144
|
-
}
|
|
145
|
-
);
|
|
146
|
-
expect(paginator2.previousPage()).toEqual(false);
|
|
147
|
-
});
|
|
148
|
-
it('should return the next page if exist', async () => {
|
|
149
|
-
const paginator1 = new Paginator(
|
|
150
|
-
db,
|
|
151
|
-
'SELECT * FROM tests',
|
|
152
|
-
{},
|
|
153
|
-
{
|
|
154
|
-
perPage: 5,
|
|
155
|
-
}
|
|
156
|
-
);
|
|
157
|
-
expect(await paginator1.nextPage()).toEqual(2);
|
|
158
|
-
|
|
159
|
-
const paginator2 = new Paginator(
|
|
160
|
-
db,
|
|
161
|
-
'SELECT * FROM tests',
|
|
162
|
-
{},
|
|
163
|
-
{
|
|
164
|
-
perPage: 5,
|
|
165
|
-
currentPage: 2,
|
|
166
|
-
}
|
|
167
|
-
);
|
|
168
|
-
expect(await paginator2.nextPage()).toEqual(3);
|
|
169
|
-
|
|
170
|
-
const paginator3 = new Paginator(
|
|
171
|
-
db,
|
|
172
|
-
'SELECT * FROM tests',
|
|
173
|
-
{},
|
|
174
|
-
{
|
|
175
|
-
perPage: 5,
|
|
176
|
-
currentPage: 3,
|
|
177
|
-
}
|
|
178
|
-
);
|
|
179
|
-
expect(await paginator3.nextPage()).toEqual(false);
|
|
180
|
-
});
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
describe('test count() usage', () => {
|
|
184
|
-
it('should count number of items of the current page', async () => {
|
|
185
|
-
const paginator = new Paginator(
|
|
186
|
-
db,
|
|
187
|
-
'SELECT * FROM tests',
|
|
188
|
-
{},
|
|
189
|
-
{
|
|
190
|
-
perPage: 5,
|
|
191
|
-
}
|
|
192
|
-
);
|
|
193
|
-
|
|
194
|
-
expect(await paginator.count()).toEqual(5);
|
|
195
|
-
});
|
|
196
|
-
it('should only run executeQuery once', async () => {
|
|
197
|
-
const paginator = new Paginator(
|
|
198
|
-
db,
|
|
199
|
-
'SELECT * FROM tests',
|
|
200
|
-
{},
|
|
201
|
-
{
|
|
202
|
-
perPage: 5,
|
|
203
|
-
}
|
|
204
|
-
);
|
|
205
|
-
|
|
206
|
-
await paginator.count();
|
|
207
|
-
await paginator.count();
|
|
208
|
-
await paginator.count();
|
|
209
|
-
await paginator.count();
|
|
210
|
-
await paginator.count();
|
|
211
|
-
|
|
212
|
-
expect(db.select).toHaveBeenCalledTimes(1);
|
|
213
|
-
});
|
|
214
|
-
});
|
|
215
|
-
|
|
216
|
-
describe('test currentPage() usage', () => {
|
|
217
|
-
it('should return 1 as current page if no currentPage is defined', () => {
|
|
218
|
-
const paginator = new Paginator(
|
|
219
|
-
db,
|
|
220
|
-
'SELECT * FROM tests',
|
|
221
|
-
{},
|
|
222
|
-
{
|
|
223
|
-
perPage: 5,
|
|
224
|
-
}
|
|
225
|
-
);
|
|
226
|
-
|
|
227
|
-
expect(paginator.currentPage()).toEqual(1);
|
|
228
|
-
});
|
|
229
|
-
it('should return the defined current page on instantiation', () => {
|
|
230
|
-
const paginator = new Paginator(
|
|
231
|
-
db,
|
|
232
|
-
'SELECT * FROM tests',
|
|
233
|
-
{},
|
|
234
|
-
{
|
|
235
|
-
perPage: 5,
|
|
236
|
-
currentPage: 2,
|
|
237
|
-
}
|
|
238
|
-
);
|
|
239
|
-
|
|
240
|
-
expect(paginator.currentPage()).toEqual(2);
|
|
241
|
-
});
|
|
242
|
-
});
|
|
243
|
-
|
|
244
|
-
describe('test items() usage', () => {
|
|
245
|
-
it('should return all results from the current page', async () => {
|
|
246
|
-
const paginator = new Paginator(
|
|
247
|
-
db,
|
|
248
|
-
'SELECT * FROM tests',
|
|
249
|
-
{},
|
|
250
|
-
{
|
|
251
|
-
perPage: 5,
|
|
252
|
-
}
|
|
253
|
-
);
|
|
254
|
-
|
|
255
|
-
expect(await paginator.items()).toMatchObject([
|
|
256
|
-
{ ...mockDataFirstItem },
|
|
257
|
-
{ ...mockData },
|
|
258
|
-
{ ...mockData },
|
|
259
|
-
{ ...mockData },
|
|
260
|
-
{ ...mockDataLastItem },
|
|
261
|
-
]);
|
|
262
|
-
});
|
|
263
|
-
|
|
264
|
-
it('should only run executeQuery once', async () => {
|
|
265
|
-
const paginator = new Paginator(
|
|
266
|
-
db,
|
|
267
|
-
'SELECT * FROM tests',
|
|
268
|
-
{},
|
|
269
|
-
{
|
|
270
|
-
perPage: 5,
|
|
271
|
-
}
|
|
272
|
-
);
|
|
273
|
-
|
|
274
|
-
await paginator.items();
|
|
275
|
-
await paginator.items();
|
|
276
|
-
await paginator.items();
|
|
277
|
-
await paginator.items();
|
|
278
|
-
|
|
279
|
-
expect(db.select).toHaveBeenCalledTimes(1);
|
|
280
|
-
});
|
|
281
|
-
});
|
|
282
|
-
|
|
283
|
-
describe('test toObject() usage', () => {
|
|
284
|
-
it('should return object version of the paginator', async () => {
|
|
285
|
-
const paginator = new Paginator(
|
|
286
|
-
db,
|
|
287
|
-
'SELECT * FROM tests',
|
|
288
|
-
{},
|
|
289
|
-
{
|
|
290
|
-
perPage: 5,
|
|
291
|
-
}
|
|
292
|
-
);
|
|
293
|
-
|
|
294
|
-
expect(await paginator.toObject()).toMatchObject({
|
|
295
|
-
count: 5,
|
|
296
|
-
previous_page: false,
|
|
297
|
-
current_page: 1,
|
|
298
|
-
next_page: 2,
|
|
299
|
-
last_page: 2,
|
|
300
|
-
per_page: 5,
|
|
301
|
-
total: 10,
|
|
302
|
-
items: [
|
|
303
|
-
{ ...mockDataFirstItem },
|
|
304
|
-
{ ...mockData },
|
|
305
|
-
{ ...mockData },
|
|
306
|
-
{ ...mockData },
|
|
307
|
-
{ ...mockDataLastItem },
|
|
308
|
-
],
|
|
309
|
-
});
|
|
310
|
-
});
|
|
311
|
-
|
|
312
|
-
it('should only run executeQuery twice', async () => {
|
|
313
|
-
const paginator = new Paginator(
|
|
314
|
-
db,
|
|
315
|
-
'SELECT * FROM tests',
|
|
316
|
-
{},
|
|
317
|
-
{
|
|
318
|
-
perPage: 5,
|
|
319
|
-
}
|
|
320
|
-
);
|
|
321
|
-
|
|
322
|
-
await paginator.toObject();
|
|
323
|
-
await paginator.toObject();
|
|
324
|
-
await paginator.toObject();
|
|
325
|
-
await paginator.toObject();
|
|
326
|
-
|
|
327
|
-
expect(db.select).toHaveBeenCalledTimes(2);
|
|
328
|
-
});
|
|
329
|
-
});
|
|
330
|
-
|
|
331
|
-
describe('test total() usage', () => {
|
|
332
|
-
it('should get total number of data using default countTotalItems method', async () => {
|
|
333
|
-
const paginator = new Paginator(
|
|
334
|
-
db,
|
|
335
|
-
'SELECT * FROM total_tests',
|
|
336
|
-
{},
|
|
337
|
-
{
|
|
338
|
-
currentPage: 1,
|
|
339
|
-
}
|
|
340
|
-
);
|
|
341
|
-
|
|
342
|
-
expect(await paginator.total()).toEqual(30);
|
|
343
|
-
expect(db.select).toHaveBeenCalled();
|
|
344
|
-
});
|
|
345
|
-
});
|
|
346
|
-
|
|
347
|
-
describe('test lastPage() usage', () => {
|
|
348
|
-
it('should get the last page using default countTotalItems method when getting total data', async () => {
|
|
349
|
-
const paginator1 = new Paginator(
|
|
350
|
-
db,
|
|
351
|
-
'SELECT * FROM total_tests',
|
|
352
|
-
{},
|
|
353
|
-
{
|
|
354
|
-
currentPage: 1,
|
|
355
|
-
}
|
|
356
|
-
);
|
|
357
|
-
expect(await paginator1.lastPage()).toEqual(3);
|
|
358
|
-
|
|
359
|
-
const paginator2 = new Paginator(
|
|
360
|
-
db,
|
|
361
|
-
'SELECT * FROM total_tests',
|
|
362
|
-
{},
|
|
363
|
-
{
|
|
364
|
-
perPage: 5,
|
|
365
|
-
currentPage: 1,
|
|
366
|
-
}
|
|
367
|
-
);
|
|
368
|
-
expect(await paginator2.lastPage()).toEqual(6);
|
|
369
|
-
|
|
370
|
-
const paginator3 = new Paginator(
|
|
371
|
-
db,
|
|
372
|
-
'SELECT * FROM total_tests',
|
|
373
|
-
{},
|
|
374
|
-
{
|
|
375
|
-
perPage: 7,
|
|
376
|
-
currentPage: 1,
|
|
377
|
-
}
|
|
378
|
-
);
|
|
379
|
-
expect(await paginator3.lastPage()).toEqual(5);
|
|
380
|
-
|
|
381
|
-
expect(db.select).toHaveBeenCalled();
|
|
382
|
-
});
|
|
383
|
-
});
|
|
@@ -1,55 +0,0 @@
|
|
|
1
|
-
import { S3 } from 'aws-sdk';
|
|
2
|
-
|
|
3
|
-
import S3Service from '../S3Service';
|
|
4
|
-
|
|
5
|
-
describe('ServicesGroup: test S3Service instantiation', () => {
|
|
6
|
-
it('test instantiate default S3Service', () => {
|
|
7
|
-
// eslint-disable-next-line no-unused-vars
|
|
8
|
-
const s3Instance = new S3Service();
|
|
9
|
-
|
|
10
|
-
expect(S3).toHaveBeenCalledWith({});
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it('test instantiate S3Service with custom options', () => {
|
|
14
|
-
// eslint-disable-next-line no-unused-vars
|
|
15
|
-
const s3Instance = new S3Service({
|
|
16
|
-
accessKeyId: 'aws.s3.options.accessKeyId',
|
|
17
|
-
secretAccessKey: 'aws.s3.options.secretAccessKey',
|
|
18
|
-
region: 'aws.s3.options.region',
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
expect(S3).toHaveBeenCalledWith({
|
|
22
|
-
accessKeyId: 'aws.s3.options.accessKeyId',
|
|
23
|
-
secretAccessKey: 'aws.s3.options.secretAccessKey',
|
|
24
|
-
region: 'aws.s3.options.region',
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
describe('ServicesGroup: test S3Service usage', () => {
|
|
30
|
-
it('test getObject', () => {
|
|
31
|
-
// eslint-disable-next-line no-unused-vars
|
|
32
|
-
const s3Instance = new S3Service();
|
|
33
|
-
|
|
34
|
-
return expect(
|
|
35
|
-
s3Instance.getObject('someKey', 'someBucket')
|
|
36
|
-
).resolves.toMatchObject({
|
|
37
|
-
LastModified: '2019-09-04T05:00:57.000Z',
|
|
38
|
-
ContentLength: 27892,
|
|
39
|
-
ETag: '38e6c8a510f49edec0ad4244a7665312',
|
|
40
|
-
ContentType: '.jpg',
|
|
41
|
-
Metadata: {},
|
|
42
|
-
Body: {
|
|
43
|
-
type: 'Buffer',
|
|
44
|
-
data: [],
|
|
45
|
-
},
|
|
46
|
-
mocked: {
|
|
47
|
-
opts: {},
|
|
48
|
-
params: {
|
|
49
|
-
Key: 'someKey',
|
|
50
|
-
Bucket: 'someBucket',
|
|
51
|
-
},
|
|
52
|
-
},
|
|
53
|
-
});
|
|
54
|
-
});
|
|
55
|
-
});
|
|
@@ -1,47 +0,0 @@
|
|
|
1
|
-
import aws from 'Config/aws'; // eslint-disable-line import/no-unresolved
|
|
2
|
-
import { SQS } from 'aws-sdk';
|
|
3
|
-
import SQSService from '../SQSService';
|
|
4
|
-
|
|
5
|
-
describe('ServicesGroup: test SQSService instantiation', () => {
|
|
6
|
-
it('test instantiate default SQSService', () => {
|
|
7
|
-
// eslint-disable-next-line no-unused-vars
|
|
8
|
-
const sqs = new SQSService();
|
|
9
|
-
|
|
10
|
-
expect(SQS).toHaveBeenCalledWith({});
|
|
11
|
-
});
|
|
12
|
-
|
|
13
|
-
it('test instantiate SQSService with custom options', () => {
|
|
14
|
-
// eslint-disable-next-line no-unused-vars
|
|
15
|
-
const sqs = new SQSService({
|
|
16
|
-
accessKeyId: 'aws.sqs.options.accessKeyId',
|
|
17
|
-
secretAccessKey: 'aws.sqs.options.secretAccessKey',
|
|
18
|
-
region: 'aws.sqs.options.region',
|
|
19
|
-
});
|
|
20
|
-
|
|
21
|
-
expect(SQS).toHaveBeenCalledWith({
|
|
22
|
-
accessKeyId: 'aws.sqs.options.accessKeyId',
|
|
23
|
-
secretAccessKey: 'aws.sqs.options.secretAccessKey',
|
|
24
|
-
region: 'aws.sqs.options.region',
|
|
25
|
-
});
|
|
26
|
-
});
|
|
27
|
-
});
|
|
28
|
-
|
|
29
|
-
describe('ServicesGroup: test SQSService usage', () => {
|
|
30
|
-
it('test dispatch', () => {
|
|
31
|
-
// eslint-disable-next-line no-unused-vars
|
|
32
|
-
const sqs = new SQSService({}, aws.sqs.queues);
|
|
33
|
-
|
|
34
|
-
return expect(
|
|
35
|
-
sqs.dispatch({ someData: 'someValue' }, 'pingQueue')
|
|
36
|
-
).resolves.toMatchObject({
|
|
37
|
-
MessageId: 'MessageId',
|
|
38
|
-
mocked: {
|
|
39
|
-
opts: {},
|
|
40
|
-
params: {
|
|
41
|
-
MessageBody: '{"someData":"someValue"}',
|
|
42
|
-
QueueUrl: `${aws.sqs.queues.pingQueue.url}`,
|
|
43
|
-
},
|
|
44
|
-
},
|
|
45
|
-
});
|
|
46
|
-
});
|
|
47
|
-
});
|
|
@@ -1,103 +0,0 @@
|
|
|
1
|
-
/* eslint-disable no-console */
|
|
2
|
-
/* eslint-disable no-unused-vars */
|
|
3
|
-
import AWS from 'aws-sdk';
|
|
4
|
-
import {
|
|
5
|
-
initialize,
|
|
6
|
-
handleSuccess,
|
|
7
|
-
handleFail,
|
|
8
|
-
sendRequest,
|
|
9
|
-
signedRequest,
|
|
10
|
-
} from '../aws/SignedRequest';
|
|
11
|
-
|
|
12
|
-
const httpResp = {
|
|
13
|
-
statusCode: 0,
|
|
14
|
-
on: (key, cb) => {
|
|
15
|
-
if (key === 'data') {
|
|
16
|
-
cb('{"data": "mockedData"}');
|
|
17
|
-
} else if (key === 'end') {
|
|
18
|
-
cb();
|
|
19
|
-
}
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
|
|
23
|
-
const wrongHttpResp = {
|
|
24
|
-
statusCode: 0,
|
|
25
|
-
on: (key, cb) => {
|
|
26
|
-
if (key === 'data') {
|
|
27
|
-
cb('notJsonFormat');
|
|
28
|
-
} else if (key === 'end') {
|
|
29
|
-
cb();
|
|
30
|
-
}
|
|
31
|
-
},
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
// mock the process.nextTick
|
|
35
|
-
process.nextTick = jest.fn().mockImplementation(cb => {
|
|
36
|
-
cb();
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
describe('ServicesGroup: test SignedRequest', () => {
|
|
40
|
-
it('test handleSuccess', () => {
|
|
41
|
-
httpResp.statusCode = 200;
|
|
42
|
-
handleSuccess(httpResp, true, (key, body) => {});
|
|
43
|
-
handleSuccess(httpResp, false, (key, body) => {});
|
|
44
|
-
httpResp.statusCode = 500;
|
|
45
|
-
handleSuccess(httpResp, false, (key, body) => {});
|
|
46
|
-
|
|
47
|
-
// should throw error 'Invalid JSON response'
|
|
48
|
-
wrongHttpResp.statusCode = 200;
|
|
49
|
-
handleSuccess(wrongHttpResp, false, (key, body) => {});
|
|
50
|
-
wrongHttpResp.statusCode = 500;
|
|
51
|
-
handleSuccess(wrongHttpResp, false, (key, body) => {});
|
|
52
|
-
|
|
53
|
-
handleSuccess(
|
|
54
|
-
{
|
|
55
|
-
statusCode: 200,
|
|
56
|
-
on: (key, cb) => {
|
|
57
|
-
if (key === 'data') {
|
|
58
|
-
cb('notJsonFormat');
|
|
59
|
-
} else if (key === 'end') {
|
|
60
|
-
cb();
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
false,
|
|
65
|
-
(key, body) => {}
|
|
66
|
-
);
|
|
67
|
-
});
|
|
68
|
-
|
|
69
|
-
it('test handleFail', () => {
|
|
70
|
-
const cb = error => {
|
|
71
|
-
console.log(error);
|
|
72
|
-
};
|
|
73
|
-
handleFail('mockingErrorAsString', cb);
|
|
74
|
-
handleFail(new Error('mockingErrorAsInstance'), cb);
|
|
75
|
-
});
|
|
76
|
-
|
|
77
|
-
it('test initialize', () => {
|
|
78
|
-
initialize(AWS, {
|
|
79
|
-
awsCreds: null,
|
|
80
|
-
});
|
|
81
|
-
});
|
|
82
|
-
|
|
83
|
-
it('test sendRequest', () => {
|
|
84
|
-
sendRequest({ rawResponse: false, method: 'POST' }, () => {});
|
|
85
|
-
});
|
|
86
|
-
|
|
87
|
-
it('test signedRequest', () => {
|
|
88
|
-
// null params
|
|
89
|
-
signedRequest(AWS, {}).send(null, () => {});
|
|
90
|
-
|
|
91
|
-
// no method params
|
|
92
|
-
signedRequest(AWS, {}).send({}, () => {});
|
|
93
|
-
|
|
94
|
-
// with method params
|
|
95
|
-
// no AWS
|
|
96
|
-
signedRequest(AWS, {}).send(
|
|
97
|
-
{
|
|
98
|
-
method: 'POST',
|
|
99
|
-
},
|
|
100
|
-
() => {}
|
|
101
|
-
);
|
|
102
|
-
});
|
|
103
|
-
});
|
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import AWS from 'aws-sdk'; // eslint-disable-line import/no-extraneous-dependencies
|
|
2
|
-
import { Connection } from '@elastic/elasticsearch';
|
|
3
|
-
import SignedRequest from './SignedRequest';
|
|
4
|
-
import LesgoException from '../../exceptions/LesgoException';
|
|
5
|
-
|
|
6
|
-
/* eslint-disable class-methods-use-this */
|
|
7
|
-
export default class AwsElasticsearchConnection extends Connection {
|
|
8
|
-
constructor(opts) {
|
|
9
|
-
super(opts);
|
|
10
|
-
|
|
11
|
-
this.opts = opts;
|
|
12
|
-
}
|
|
13
|
-
|
|
14
|
-
async request(params, cb) {
|
|
15
|
-
try {
|
|
16
|
-
const awsCreds = await this.getCredentials();
|
|
17
|
-
|
|
18
|
-
/* istanbul ignore else */
|
|
19
|
-
if (!this.opts.awsRegion) {
|
|
20
|
-
throw new LesgoException('Please provide the awsRegion!');
|
|
21
|
-
}
|
|
22
|
-
|
|
23
|
-
const httpClient = SignedRequest(AWS, {
|
|
24
|
-
endpoint: this.opts.url.host,
|
|
25
|
-
region: this.opts.awsRegion,
|
|
26
|
-
service: 'es',
|
|
27
|
-
awsCreds,
|
|
28
|
-
});
|
|
29
|
-
|
|
30
|
-
httpClient.send(
|
|
31
|
-
{
|
|
32
|
-
method: params.method,
|
|
33
|
-
path: params.path,
|
|
34
|
-
message: params.body,
|
|
35
|
-
headers: params.headers,
|
|
36
|
-
rawResponse: true, // @elastic search expect Raw Response
|
|
37
|
-
},
|
|
38
|
-
cb
|
|
39
|
-
);
|
|
40
|
-
} catch (err) {
|
|
41
|
-
cb(err);
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
|
|
45
|
-
getCredentials() {
|
|
46
|
-
// eslint-disable-next-line consistent-return
|
|
47
|
-
return new Promise((resolve, reject) => {
|
|
48
|
-
if (AWS.config.credentials === null) {
|
|
49
|
-
return reject(new Error('Invalid AWS Credentials'));
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
AWS.config.getCredentials((err, creds) => {
|
|
53
|
-
if (err) return reject(err);
|
|
54
|
-
|
|
55
|
-
return resolve(creds);
|
|
56
|
-
});
|
|
57
|
-
});
|
|
58
|
-
}
|
|
59
|
-
}
|