lesgo 0.7.8 → 2.1.0

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.
Files changed (318) hide show
  1. package/README.md +5 -4
  2. package/bin/lesgo-scripts.sh +52 -7
  3. package/dist/config/app.d.ts +7 -0
  4. package/dist/config/app.js +9 -0
  5. package/dist/config/aws.d.ts +5 -0
  6. package/dist/config/aws.js +4 -0
  7. package/dist/config/basicAuth.d.ts +7 -0
  8. package/dist/config/basicAuth.js +8 -0
  9. package/dist/config/crypto.d.ts +10 -0
  10. package/dist/config/crypto.js +9 -0
  11. package/dist/config/dynamodb.d.ts +8 -0
  12. package/dist/config/dynamodb.js +14 -0
  13. package/dist/config/elasticache.d.ts +7 -0
  14. package/dist/config/elasticache.js +6 -0
  15. package/dist/config/index.d.ts +11 -0
  16. package/dist/config/index.js +11 -0
  17. package/dist/config/jwt.d.ts +12 -0
  18. package/dist/config/jwt.js +16 -0
  19. package/dist/config/rds.d.ts +12 -0
  20. package/dist/config/rds.js +13 -0
  21. package/dist/config/s3.d.ts +5 -0
  22. package/dist/config/s3.js +5 -0
  23. package/dist/config/secretsManager.d.ts +4 -0
  24. package/dist/config/secretsManager.js +4 -0
  25. package/dist/config/sqs.d.ts +9 -0
  26. package/dist/config/sqs.js +18 -0
  27. package/dist/exceptions/LesgoException.d.ts +6 -0
  28. package/{src → dist}/exceptions/LesgoException.js +5 -4
  29. package/dist/exceptions/index.d.ts +1 -0
  30. package/dist/exceptions/index.js +1 -0
  31. package/dist/middlewares/disconnectMiddleware.d.ts +8 -0
  32. package/dist/middlewares/disconnectMiddleware.js +78 -0
  33. package/dist/middlewares/httpMiddleware.d.ts +12 -0
  34. package/dist/middlewares/httpMiddleware.js +74 -0
  35. package/dist/middlewares/httpResponseMiddleware.d.ts +7 -0
  36. package/dist/middlewares/httpResponseMiddleware.js +128 -0
  37. package/dist/middlewares/index.d.ts +7 -0
  38. package/dist/middlewares/index.js +7 -0
  39. package/dist/middlewares/invokeCommandMiddleware.d.ts +12 -0
  40. package/dist/middlewares/invokeCommandMiddleware.js +70 -0
  41. package/dist/middlewares/sqsMiddleware.d.ts +10 -0
  42. package/dist/middlewares/sqsMiddleware.js +70 -0
  43. package/dist/middlewares/verifyBasicAuthMiddleware.d.ts +8 -0
  44. package/dist/middlewares/verifyBasicAuthMiddleware.js +59 -0
  45. package/dist/middlewares/verifyJwtMiddleware.d.ts +6 -0
  46. package/dist/middlewares/verifyJwtMiddleware.js +37 -0
  47. package/dist/services/DynamoDbService/deleteRecord.d.ts +8 -0
  48. package/dist/services/DynamoDbService/deleteRecord.js +69 -0
  49. package/dist/services/DynamoDbService/getClient.d.ts +7 -0
  50. package/dist/services/DynamoDbService/getClient.js +30 -0
  51. package/dist/services/DynamoDbService/getTableName.d.ts +2 -0
  52. package/dist/services/DynamoDbService/getTableName.js +15 -0
  53. package/dist/services/DynamoDbService/index.d.ts +6 -0
  54. package/dist/services/DynamoDbService/index.js +6 -0
  55. package/dist/services/DynamoDbService/putRecord.d.ts +8 -0
  56. package/dist/services/DynamoDbService/putRecord.js +64 -0
  57. package/dist/services/DynamoDbService/query.d.ts +7 -0
  58. package/dist/services/DynamoDbService/query.js +78 -0
  59. package/dist/services/DynamoDbService/scan.d.ts +7 -0
  60. package/dist/services/DynamoDbService/scan.js +60 -0
  61. package/dist/services/DynamoDbService/updateRecord.d.ts +9 -0
  62. package/dist/services/DynamoDbService/updateRecord.js +89 -0
  63. package/dist/services/ElastiCacheRedisService/deleteRedisCache.d.ts +3 -0
  64. package/dist/services/ElastiCacheRedisService/deleteRedisCache.js +62 -0
  65. package/dist/services/ElastiCacheRedisService/disconnectElastiCacheRedisClient.d.ts +11 -0
  66. package/dist/services/ElastiCacheRedisService/disconnectElastiCacheRedisClient.js +69 -0
  67. package/dist/services/ElastiCacheRedisService/getElastiCacheRedisClient.d.ts +12 -0
  68. package/dist/services/ElastiCacheRedisService/getElastiCacheRedisClient.js +114 -0
  69. package/dist/services/ElastiCacheRedisService/getRedisCache.d.ts +3 -0
  70. package/dist/services/ElastiCacheRedisService/getRedisCache.js +70 -0
  71. package/dist/services/ElastiCacheRedisService/index.d.ts +5 -0
  72. package/dist/services/ElastiCacheRedisService/index.js +5 -0
  73. package/dist/services/ElastiCacheRedisService/setRedisCache.d.ts +6 -0
  74. package/dist/services/ElastiCacheRedisService/setRedisCache.js +77 -0
  75. package/dist/services/JWTService/decodeJwt.d.ts +7 -0
  76. package/dist/services/JWTService/decodeJwt.js +9 -0
  77. package/dist/services/JWTService/getJwtSecret.d.ts +13 -0
  78. package/dist/services/JWTService/getJwtSecret.js +54 -0
  79. package/dist/services/JWTService/index.d.ts +2 -0
  80. package/dist/services/JWTService/index.js +2 -0
  81. package/dist/services/JWTService/sign.d.ts +3 -0
  82. package/dist/services/JWTService/sign.js +31 -0
  83. package/dist/services/JWTService/verify.d.ts +7 -0
  84. package/dist/services/JWTService/verify.js +61 -0
  85. package/dist/services/LoggerService.d.ts +46 -0
  86. package/{src → dist}/services/LoggerService.js +36 -60
  87. package/dist/services/RDSAuroraMySQLProxyService/disconnectMySQLProxyClient.d.ts +2 -0
  88. package/dist/services/RDSAuroraMySQLProxyService/disconnectMySQLProxyClient.js +60 -0
  89. package/dist/services/RDSAuroraMySQLProxyService/getMySQLProxyClient.d.ts +8 -0
  90. package/dist/services/RDSAuroraMySQLProxyService/getMySQLProxyClient.js +87 -0
  91. package/dist/services/RDSAuroraMySQLProxyService/index.d.ts +3 -0
  92. package/dist/services/RDSAuroraMySQLProxyService/index.js +3 -0
  93. package/dist/services/RDSAuroraMySQLProxyService/query.d.ts +4 -0
  94. package/dist/services/RDSAuroraMySQLProxyService/query.js +63 -0
  95. package/dist/services/S3Service/getClient.d.ts +4 -0
  96. package/dist/services/S3Service/getClient.js +28 -0
  97. package/dist/services/S3Service/getDownloadSignedUrl.d.ts +7 -0
  98. package/dist/services/S3Service/getDownloadSignedUrl.js +58 -0
  99. package/dist/services/S3Service/getHeadObject.d.ts +13 -0
  100. package/dist/services/S3Service/getHeadObject.js +83 -0
  101. package/dist/services/S3Service/getObject.d.ts +10 -0
  102. package/dist/services/S3Service/getObject.js +89 -0
  103. package/dist/services/S3Service/getUploadSignedUrl.d.ts +7 -0
  104. package/dist/services/S3Service/getUploadSignedUrl.js +61 -0
  105. package/dist/services/S3Service/index.d.ts +6 -0
  106. package/dist/services/S3Service/index.js +6 -0
  107. package/dist/services/S3Service/putObject.d.ts +9 -0
  108. package/dist/services/S3Service/putObject.js +77 -0
  109. package/dist/services/SQSService/deleteMessage.d.ts +9 -0
  110. package/dist/services/SQSService/deleteMessage.js +69 -0
  111. package/dist/services/SQSService/dispatch.d.ts +9 -0
  112. package/dist/services/SQSService/dispatch.js +71 -0
  113. package/dist/services/SQSService/getClient.d.ts +4 -0
  114. package/dist/services/SQSService/getClient.js +28 -0
  115. package/dist/services/SQSService/getQueueUrl.d.ts +7 -0
  116. package/dist/services/SQSService/getQueueUrl.js +25 -0
  117. package/dist/services/SQSService/index.d.ts +4 -0
  118. package/dist/services/SQSService/index.js +4 -0
  119. package/dist/services/SQSService/receiveMessages.d.ts +8 -0
  120. package/dist/services/SQSService/receiveMessages.js +65 -0
  121. package/dist/services/SecretsManagerService/getClient.d.ts +7 -0
  122. package/dist/services/SecretsManagerService/getClient.js +28 -0
  123. package/dist/services/SecretsManagerService/getSecretValue.d.ts +7 -0
  124. package/dist/services/SecretsManagerService/getSecretValue.js +65 -0
  125. package/dist/services/SecretsManagerService/index.d.ts +2 -0
  126. package/dist/services/SecretsManagerService/index.js +2 -0
  127. package/dist/services/index.d.ts +1 -0
  128. package/dist/services/index.js +1 -0
  129. package/dist/types/aws.d.ts +8 -0
  130. package/dist/types/aws.js +1 -0
  131. package/dist/utils/cache/redis/deleteCache.d.ts +19 -0
  132. package/dist/utils/cache/redis/deleteCache.js +21 -0
  133. package/dist/utils/cache/redis/getCache.d.ts +22 -0
  134. package/dist/utils/cache/redis/getCache.js +24 -0
  135. package/dist/utils/cache/redis/getClient.d.ts +30 -0
  136. package/dist/utils/cache/redis/getClient.js +32 -0
  137. package/dist/utils/cache/redis/index.d.ts +4 -0
  138. package/dist/utils/cache/redis/index.js +4 -0
  139. package/dist/utils/cache/redis/setCache.d.ts +25 -0
  140. package/dist/utils/cache/redis/setCache.js +26 -0
  141. package/dist/utils/crypto/decrypt.d.ts +33 -0
  142. package/dist/utils/crypto/decrypt.js +59 -0
  143. package/dist/utils/crypto/encrypt.d.ts +31 -0
  144. package/dist/utils/crypto/encrypt.js +41 -0
  145. package/dist/utils/crypto/hash.d.ts +31 -0
  146. package/dist/utils/crypto/hash.js +56 -0
  147. package/dist/utils/crypto/index.d.ts +3 -0
  148. package/dist/utils/crypto/index.js +3 -0
  149. package/dist/utils/crypto/validateEncryptionFields.d.ts +19 -0
  150. package/dist/utils/crypto/validateEncryptionFields.js +71 -0
  151. package/dist/utils/db/mysql/proxy/disconnect.d.ts +2 -0
  152. package/dist/utils/db/mysql/proxy/disconnect.js +5 -0
  153. package/dist/utils/db/mysql/proxy/disconnectDb.d.ts +2 -0
  154. package/dist/utils/db/mysql/proxy/disconnectDb.js +5 -0
  155. package/dist/utils/db/mysql/proxy/getClient.d.ts +4 -0
  156. package/dist/utils/db/mysql/proxy/getClient.js +5 -0
  157. package/dist/utils/db/mysql/proxy/index.d.ts +3 -0
  158. package/dist/utils/db/mysql/proxy/index.js +3 -0
  159. package/dist/utils/db/mysql/proxy/query.d.ts +4 -0
  160. package/dist/utils/db/mysql/proxy/query.js +45 -0
  161. package/dist/utils/dynamodb/deleteRecord.d.ts +5 -0
  162. package/dist/utils/dynamodb/deleteRecord.js +39 -0
  163. package/dist/utils/dynamodb/getClient.d.ts +3 -0
  164. package/dist/utils/dynamodb/getClient.js +5 -0
  165. package/dist/utils/dynamodb/index.d.ts +6 -0
  166. package/dist/utils/dynamodb/index.js +6 -0
  167. package/dist/utils/dynamodb/putRecord.d.ts +4 -0
  168. package/dist/utils/dynamodb/putRecord.js +39 -0
  169. package/dist/utils/dynamodb/query.d.ts +5 -0
  170. package/dist/utils/dynamodb/query.js +52 -0
  171. package/dist/utils/dynamodb/scan.d.ts +4 -0
  172. package/dist/utils/dynamodb/scan.js +40 -0
  173. package/dist/utils/dynamodb/updateRecord.d.ts +5 -0
  174. package/dist/utils/dynamodb/updateRecord.js +53 -0
  175. package/dist/utils/formatUnixTimestamp.d.ts +8 -0
  176. package/dist/utils/formatUnixTimestamp.js +17 -0
  177. package/dist/utils/generateUid.d.ts +13 -0
  178. package/{src → dist}/utils/generateUid.js +9 -4
  179. package/dist/utils/getCurrentDatetime.d.ts +2 -0
  180. package/dist/utils/getCurrentDatetime.js +4 -0
  181. package/dist/utils/getCurrentTimestamp.d.ts +7 -0
  182. package/dist/utils/getCurrentTimestamp.js +9 -0
  183. package/dist/utils/getJwtSubFromAuthHeader.d.ts +9 -0
  184. package/dist/utils/getJwtSubFromAuthHeader.js +24 -0
  185. package/dist/utils/index.d.ts +9 -0
  186. package/dist/utils/index.js +9 -0
  187. package/dist/utils/isDecimal.d.ts +8 -0
  188. package/dist/utils/isDecimal.js +9 -0
  189. package/dist/utils/isEmail.d.ts +9 -0
  190. package/{src → dist}/utils/isEmail.js +9 -4
  191. package/dist/utils/isEmpty.d.ts +8 -0
  192. package/dist/utils/isEmpty.js +19 -0
  193. package/dist/utils/jwt/index.d.ts +2 -0
  194. package/dist/utils/jwt/index.js +2 -0
  195. package/dist/utils/jwt/sign.d.ts +3 -0
  196. package/dist/utils/jwt/sign.js +5 -0
  197. package/dist/utils/jwt/verify.d.ts +3 -0
  198. package/dist/utils/jwt/verify.js +12 -0
  199. package/dist/utils/logger.d.ts +20 -0
  200. package/dist/utils/logger.js +38 -0
  201. package/dist/utils/s3/getClient.d.ts +3 -0
  202. package/dist/utils/s3/getClient.js +5 -0
  203. package/dist/utils/s3/getDownloadSignedUrl.d.ts +5 -0
  204. package/dist/utils/s3/getDownloadSignedUrl.js +39 -0
  205. package/dist/utils/s3/getHeadObject.d.ts +10 -0
  206. package/dist/utils/s3/getHeadObject.js +39 -0
  207. package/dist/utils/s3/getObject.d.ts +13 -0
  208. package/dist/utils/s3/getObject.js +51 -0
  209. package/dist/utils/s3/getUploadSignedUrl.d.ts +5 -0
  210. package/dist/utils/s3/getUploadSignedUrl.js +39 -0
  211. package/dist/utils/s3/index.d.ts +6 -0
  212. package/dist/utils/s3/index.js +6 -0
  213. package/dist/utils/s3/putObject.d.ts +5 -0
  214. package/dist/utils/s3/putObject.js +39 -0
  215. package/dist/utils/secretsmanager/getClient.d.ts +3 -0
  216. package/dist/utils/secretsmanager/getClient.js +5 -0
  217. package/dist/utils/secretsmanager/getSecretValue.d.ts +4 -0
  218. package/dist/utils/secretsmanager/getSecretValue.js +68 -0
  219. package/dist/utils/secretsmanager/index.d.ts +2 -0
  220. package/dist/utils/secretsmanager/index.js +2 -0
  221. package/dist/utils/sqs/deleteMessage.d.ts +5 -0
  222. package/dist/utils/sqs/deleteMessage.js +39 -0
  223. package/dist/utils/sqs/dispatch.d.ts +5 -0
  224. package/dist/utils/sqs/dispatch.js +39 -0
  225. package/dist/utils/sqs/getClient.d.ts +3 -0
  226. package/dist/utils/sqs/getClient.js +5 -0
  227. package/dist/utils/sqs/index.d.ts +4 -0
  228. package/dist/utils/sqs/index.js +4 -0
  229. package/dist/utils/sqs/receiveMessages.d.ts +5 -0
  230. package/dist/utils/sqs/receiveMessages.js +39 -0
  231. package/dist/utils/validateFields.d.ts +22 -0
  232. package/{src → dist}/utils/validateFields.js +13 -19
  233. package/package.json +145 -34
  234. package/CHANGELOG.md +0 -9
  235. package/src/exceptions/__tests__/LesgoException.spec.js +0 -24
  236. package/src/exceptions/index.js +0 -4
  237. package/src/index.js +0 -4
  238. package/src/middlewares/__mocks__/ValidationErrorException.js +0 -18
  239. package/src/middlewares/__tests__/basicAuthMiddleware.spec.js +0 -225
  240. package/src/middlewares/__tests__/clientAuthMiddleware.spec.js +0 -137
  241. package/src/middlewares/__tests__/errorHttpResponseMiddleware.spec.js +0 -190
  242. package/src/middlewares/__tests__/gzipHttpResponse.spec.js +0 -185
  243. package/src/middlewares/__tests__/httpNoOutputMiddleware.spec.js +0 -199
  244. package/src/middlewares/__tests__/normalizeHttpRequestMiddleware.spec.js +0 -181
  245. package/src/middlewares/__tests__/normalizeSQSMessageMiddleware.spec.js +0 -120
  246. package/src/middlewares/__tests__/serverAuthMiddleware.spec.js +0 -170
  247. package/src/middlewares/__tests__/successHttpResponseMiddleware.spec.js +0 -159
  248. package/src/middlewares/__tests__/verifyJwtMiddleware.spec.js +0 -222
  249. package/src/middlewares/basicAuthMiddleware.js +0 -145
  250. package/src/middlewares/clientAuthMiddleware.js +0 -82
  251. package/src/middlewares/errorHttpResponseMiddleware.js +0 -99
  252. package/src/middlewares/gzipHttpResponse.js +0 -98
  253. package/src/middlewares/httpMiddleware.js +0 -19
  254. package/src/middlewares/httpNoOutputMiddleware.js +0 -87
  255. package/src/middlewares/index.js +0 -15
  256. package/src/middlewares/normalizeHttpRequestMiddleware.js +0 -101
  257. package/src/middlewares/normalizeSQSMessageMiddleware.js +0 -67
  258. package/src/middlewares/serverAuthMiddleware.js +0 -29
  259. package/src/middlewares/successHttpResponseMiddleware.js +0 -83
  260. package/src/middlewares/verifyJwtMiddleware.js +0 -62
  261. package/src/services/AuroraDbRDSProxyService.js +0 -182
  262. package/src/services/AuroraDbService.js +0 -111
  263. package/src/services/DynamoDbService.js +0 -177
  264. package/src/services/ElastiCacheService.js +0 -17
  265. package/src/services/ElasticsearchService.js +0 -181
  266. package/src/services/FirebaseAdminService.js +0 -108
  267. package/src/services/JwtService.js +0 -52
  268. package/src/services/S3Service.js +0 -59
  269. package/src/services/SQSService.js +0 -65
  270. package/src/services/__tests__/AuroraDbRDSProxyService.spec.js +0 -278
  271. package/src/services/__tests__/AuroraDbService.spec.js +0 -211
  272. package/src/services/__tests__/AwsElasticsearchConnection.spec.js +0 -89
  273. package/src/services/__tests__/DynamoDbService.spec.js +0 -314
  274. package/src/services/__tests__/ElasticsearchService.spec.js +0 -201
  275. package/src/services/__tests__/FirebaseAdminService.spec.js +0 -356
  276. package/src/services/__tests__/JwtService.spec.js +0 -35
  277. package/src/services/__tests__/LengthAwarePaginator.spec.js +0 -223
  278. package/src/services/__tests__/LoggerService.spec.js +0 -252
  279. package/src/services/__tests__/Paginator.spec.js +0 -383
  280. package/src/services/__tests__/S3Service.spec.js +0 -55
  281. package/src/services/__tests__/SQSService.spec.js +0 -47
  282. package/src/services/__tests__/SignedRequest.spec.js +0 -103
  283. package/src/services/aws/AwsElasticsearchConnection.js +0 -59
  284. package/src/services/aws/SignedRequest.js +0 -158
  285. package/src/services/index.js +0 -19
  286. package/src/services/pagination/LengthAwarePaginator.js +0 -49
  287. package/src/services/pagination/Paginator.js +0 -260
  288. package/src/utils/__mocks__/db.js +0 -109
  289. package/src/utils/__tests__/cache.spec.js +0 -131
  290. package/src/utils/__tests__/crypto.spec.js +0 -122
  291. package/src/utils/__tests__/db.spec.js +0 -70
  292. package/src/utils/__tests__/dynamodb.spec.js +0 -27
  293. package/src/utils/__tests__/elasticsearch.spec.js +0 -43
  294. package/src/utils/__tests__/generateUid.spec.js +0 -36
  295. package/src/utils/__tests__/getJwtSubFromAuthHeader.spec.js +0 -20
  296. package/src/utils/__tests__/isDecimal.spec.js +0 -12
  297. package/src/utils/__tests__/isEmail.spec.js +0 -28
  298. package/src/utils/__tests__/isEmpty.spec.js +0 -31
  299. package/src/utils/__tests__/logger.spec.js +0 -11
  300. package/src/utils/__tests__/objectStore.spec.js +0 -67
  301. package/src/utils/__tests__/prepSQLInsertParams.spec.js +0 -46
  302. package/src/utils/__tests__/prepSQLUpdateParams.spec.js +0 -36
  303. package/src/utils/__tests__/queue.spec.js +0 -54
  304. package/src/utils/__tests__/validateFields.spec.js +0 -374
  305. package/src/utils/cache.js +0 -215
  306. package/src/utils/crypto.js +0 -77
  307. package/src/utils/db.js +0 -17
  308. package/src/utils/dynamodb.js +0 -6
  309. package/src/utils/elasticsearch.js +0 -20
  310. package/src/utils/getJwtSubFromAuthHeader.js +0 -18
  311. package/src/utils/index.js +0 -26
  312. package/src/utils/isDecimal.js +0 -2
  313. package/src/utils/isEmpty.js +0 -6
  314. package/src/utils/logger.js +0 -25
  315. package/src/utils/objectStore.js +0 -11
  316. package/src/utils/prepSQLInsertParams.js +0 -21
  317. package/src/utils/prepSQLUpdateParams.js +0 -25
  318. package/src/utils/queue.js +0 -11
@@ -1,215 +0,0 @@
1
- import config from 'Config/cache'; // eslint-disable-line import/no-unresolved
2
- import ElastiCacheService from '../services/ElastiCacheService';
3
- import LesgoException from '../exceptions/LesgoException';
4
- import logger from './logger';
5
- import isEmpty from './isEmpty';
6
-
7
- const FILE = 'Lesgo/utils/cache';
8
-
9
- /**
10
- * Reusable instance
11
- */
12
- const singleton = {};
13
-
14
- /**
15
- * Instantiate the Cache Service
16
- *
17
- * @param {String} connectionName The name of the driver config to connect to
18
- * @param {boolean} persists To use persistent connection or otherwise
19
- *
20
- * @return {object} Returns the driver
21
- */
22
- const ec = (connectionName = '', persists = false) => {
23
- const conn = connectionName || config.default;
24
- if (singleton[conn]) {
25
- return singleton[conn];
26
- }
27
-
28
- let { options } = config.connections[conn];
29
-
30
- if (config.connections[conn].url) {
31
- // this is a legacy config with memcached-elasticache package
32
- // remap to new config
33
- options = {
34
- ...options,
35
- hosts: [config.connections[conn].url],
36
- };
37
- }
38
-
39
- const { driver } = new ElastiCacheService(options);
40
-
41
- if (persists) {
42
- singleton[conn] = driver;
43
- }
44
-
45
- return driver;
46
- };
47
-
48
- /**
49
- * Persistent connection if declared in the handler
50
- */
51
- const pConnect = (connectionName = '') => {
52
- return ec(connectionName, true);
53
- };
54
-
55
- /**
56
- * Fetch data from cache by key
57
- *
58
- * @param {string} key Cache key to fetch data.
59
- * @return {promise} Returns promised.
60
- */
61
- const get = async key => {
62
- try {
63
- const client = ec();
64
- const data = await client.get(key);
65
- logger.debug(`${FILE}::Fetched cache data`, { key, data });
66
- if (isEmpty(singleton)) {
67
- logger.debug(`${FILE}::Ending cache connection`);
68
- await client.disconnect();
69
- logger.debug(`${FILE}::Ended cache connection`);
70
- }
71
- return data;
72
- } catch (err) {
73
- throw new LesgoException(err.message, 'CACHE_GET_EXCEPTION', 500, err);
74
- }
75
- };
76
-
77
- /**
78
- * Fetch data from cache by multiple keys
79
- *
80
- * @param {array} keys Array of Cache keys to fetch data.
81
- * @return {promise} Returns promised.
82
- */
83
- const getMulti = async keys => {
84
- try {
85
- const client = ec();
86
- const data = await client.getMulti(keys);
87
- logger.debug(`${FILE}::Fetched cache data`, { keys, data });
88
- if (isEmpty(singleton)) {
89
- logger.debug(`${FILE}::Ending cache connection`);
90
- await client.disconnect();
91
- logger.debug(`${FILE}::Ended cache connection`);
92
- }
93
- return data;
94
- } catch (err) {
95
- throw new LesgoException(
96
- err.message,
97
- 'CACHE_GET_MULTI_EXCEPTION',
98
- 500,
99
- err
100
- );
101
- }
102
- };
103
-
104
- /**
105
- * Save data to cache
106
- *
107
- * @param {string} key Cache key to save data.
108
- * @param {string|object} val Value of data to cache.
109
- * @param {integer} lifetime Time in seconds to expire cache.
110
- * @return {promise} Returns promised.
111
- */
112
- const set = async (key, val, lifetime) => {
113
- try {
114
- const client = ec();
115
- await client.set(key, val, lifetime);
116
- logger.debug(`${FILE}::Cache stored`, { key, val, lifetime });
117
- if (isEmpty(singleton)) {
118
- logger.debug(`${FILE}::Ending cache connection`);
119
- await client.disconnect();
120
- logger.debug(`${FILE}::Ended cache connection`);
121
- }
122
- } catch (err) {
123
- throw new LesgoException(err.message, 'CACHE_SET_EXCEPTION', 500, err);
124
- }
125
- };
126
-
127
- /**
128
- * Remove the key from cache
129
- *
130
- * @param {string} key Cache key to delete.
131
- * @return {promise} Returns promised.
132
- */
133
- const del = async key => {
134
- try {
135
- const client = ec();
136
- await client.delete(key);
137
- logger.debug(`${FILE}::Key deleted from cache`, { key });
138
- if (isEmpty(singleton)) {
139
- logger.debug(`${FILE}::Ending cache connection`);
140
- await client.disconnect();
141
- logger.debug(`${FILE}::Ended cache connection`);
142
- }
143
- } catch (err) {
144
- throw new LesgoException(err.message, 'CACHE_DEL_EXCEPTION', 500, err);
145
- }
146
- };
147
-
148
- /**
149
- * Remove data from cache by multiple keys
150
- *
151
- * @param {array} keys Array of Cache keys to delete data.
152
- * @return {promise} Returns promised.
153
- */
154
- const delMulti = async keys => {
155
- try {
156
- const client = ec();
157
- await client.deleteMulti(keys);
158
- logger.debug(`${FILE}::Keys deleted from cache`, { keys });
159
- if (isEmpty(singleton)) {
160
- logger.debug(`${FILE}::Ending cache connection`);
161
- await client.disconnect();
162
- logger.debug(`${FILE}::Ended cache connection`);
163
- }
164
- } catch (err) {
165
- throw new LesgoException(
166
- err.message,
167
- 'CACHE_DEL_MULTI_EXCEPTION',
168
- 500,
169
- err
170
- );
171
- }
172
- };
173
-
174
- /**
175
- * Ends the connection
176
- *
177
- * @return {promise} Returns promised.
178
- */
179
- const end = async () => {
180
- try {
181
- logger.debug(`${FILE}::Ending cache connection`);
182
- await ec().disconnect();
183
- logger.debug(`${FILE}::Ended cache connection`);
184
-
185
- if (!isEmpty(Object.keys(singleton))) {
186
- Object.keys(singleton).forEach(key => {
187
- delete singleton[key];
188
- });
189
- }
190
- } catch (err) {
191
- throw new LesgoException(err.message, 'CACHE_END_EXCEPTION', 500, err);
192
- }
193
- };
194
-
195
- /**
196
- * Alias of end()
197
- *
198
- * @return {promise} Returns promised.
199
- */
200
- const disconnect = () => {
201
- return end();
202
- };
203
-
204
- export default {
205
- pConnect,
206
- ec,
207
- get,
208
- getMulti,
209
- set,
210
- del,
211
- delMulti,
212
- end,
213
- disconnect,
214
- singleton,
215
- };
@@ -1,77 +0,0 @@
1
- import crypto from 'crypto';
2
- import cryptoConfig from 'Config/crypto'; // eslint-disable-line import/no-unresolved
3
- import LesgoException from '../exceptions/LesgoException';
4
- import isEmpty from './isEmpty';
5
-
6
- const { algorithm, secretKey } = cryptoConfig;
7
- const ivLength = 16;
8
-
9
- export const encrypt = text => {
10
- if (isEmpty(text)) {
11
- throw new LesgoException(
12
- 'Empty parameter supplied on encrypt',
13
- 'CRYPTO_ENCRYPT_EMPTY_PARAMETER'
14
- );
15
- }
16
-
17
- const iv = crypto.randomBytes(ivLength);
18
- const cipher = crypto.createCipheriv(algorithm, secretKey, iv);
19
-
20
- let encrypted = cipher.update(text);
21
- encrypted = Buffer.concat([encrypted, cipher.final()]);
22
-
23
- return `${iv.toString('hex')}:${encrypted.toString('hex')}`;
24
- };
25
-
26
- export const decrypt = text => {
27
- if (isEmpty(text)) {
28
- throw new LesgoException(
29
- 'Empty parameter supplied on decryp',
30
- 'CRYPTO_DECRYPT_EMPTY_PARAMETER'
31
- );
32
- }
33
-
34
- const textParts = text.split(':');
35
- const iv = Buffer.from(textParts.shift(), 'hex');
36
- const encryptedText = Buffer.from(textParts.join(':'), 'hex');
37
- const decipher = crypto.createDecipheriv(algorithm, secretKey, iv);
38
-
39
- let decrypted = decipher.update(encryptedText);
40
- decrypted = Buffer.concat([decrypted, decipher.final()]);
41
-
42
- return decrypted.toString();
43
- };
44
-
45
- export const hash = data => {
46
- if (isEmpty(data)) {
47
- throw new LesgoException(
48
- 'Empty parameter supplied on hash',
49
- 'CRYPTO_HASH_EMPTY_PARAMETER'
50
- );
51
- }
52
-
53
- const hashedValue = crypto
54
- .createHash('sha256', 'utf8')
55
- .update(data)
56
- .digest('hex');
57
-
58
- return hashedValue;
59
- };
60
-
61
- export const hashMD5 = data => {
62
- if (isEmpty(data)) {
63
- throw new LesgoException(
64
- 'Empty parameter supplied on hashMD5',
65
- 'CRYPTO_HASHMD5_EMPTY_PARAMETER'
66
- );
67
- }
68
-
69
- const hashedValue = crypto
70
- .createHash('md5')
71
- .update(data)
72
- .digest('hex');
73
-
74
- return hashedValue;
75
- };
76
-
77
- export default { encrypt, decrypt, hash, hashMD5 };
package/src/utils/db.js DELETED
@@ -1,17 +0,0 @@
1
- import dbConfig from 'Config/db'; // eslint-disable-line import/no-unresolved
2
- import AuroraDbRDSProxyService from '../services/AuroraDbRDSProxyService';
3
- import AuroraDbService from '../services/AuroraDbService';
4
-
5
- /* eslint-disable-next-line import/no-mutable-exports */
6
- let db;
7
-
8
- if (dbConfig.default === 'rdsProxy' || dbConfig.default === 'rdsProxyRead') {
9
- db = new AuroraDbRDSProxyService(dbConfig.connections[dbConfig.default]);
10
- } else if (dbConfig.default === 'dataApi') {
11
- db = new AuroraDbService(dbConfig.connections[dbConfig.default]);
12
- } else {
13
- // @deprecated
14
- db = new AuroraDbService(dbConfig);
15
- }
16
-
17
- export default db;
@@ -1,6 +0,0 @@
1
- import config from 'Config/aws'; // eslint-disable-line import/no-unresolved
2
- import DynamoDbService from '../services/DynamoDbService';
3
-
4
- const dynamodb = new DynamoDbService({ region: config.region });
5
-
6
- export default dynamodb;
@@ -1,20 +0,0 @@
1
- import config from 'Config/elasticsearch'; // eslint-disable-line import/no-unresolved
2
- import ElasticsearchService from '../services/ElasticsearchService';
3
-
4
- const singleton = [];
5
-
6
- const es = (conn = null) => {
7
- if (singleton[conn]) {
8
- return singleton[conn];
9
- }
10
-
11
- const instance = new ElasticsearchService({
12
- ...config.adapters[conn || config.default],
13
- });
14
-
15
- singleton[conn] = instance;
16
-
17
- return instance;
18
- };
19
-
20
- export default es;
@@ -1,18 +0,0 @@
1
- import isEmpty from './isEmpty';
2
-
3
- export const getTokenData = authHeader => {
4
- try {
5
- return JSON.parse(Buffer.from(authHeader.split('.')[1], 'base64'));
6
- } catch (err) {
7
- return {};
8
- }
9
- };
10
-
11
- export default authHeader => {
12
- if (isEmpty(authHeader)) {
13
- return null;
14
- }
15
-
16
- const data = getTokenData(authHeader);
17
- return data.sub || null;
18
- };
@@ -1,26 +0,0 @@
1
- import cache from './cache';
2
- import elasticsearch from './elasticsearch';
3
- import logger from './logger';
4
- import { getObject } from './objectStore';
5
- import { dispatch } from './queue';
6
- import isEmpty from './isEmpty';
7
- import isDecimal from './isDecimal';
8
- import crypto from './crypto';
9
- import generateUid from './generateUid';
10
- import db from './db';
11
- import dynamodb from './dynamodb';
12
-
13
- // eslint-disable-next-line import/prefer-default-export
14
- export {
15
- cache,
16
- dispatch,
17
- elasticsearch,
18
- getObject,
19
- logger,
20
- isEmpty,
21
- isDecimal,
22
- crypto,
23
- generateUid,
24
- db,
25
- dynamodb,
26
- };
@@ -1,2 +0,0 @@
1
- export default number =>
2
- typeof number !== 'string' && number.toString().indexOf('.') !== -1;
@@ -1,6 +0,0 @@
1
- export default obj => {
2
- if (typeof obj === 'undefined' || obj === null || obj.length === 0)
3
- return true;
4
-
5
- return !Object.keys(obj).length;
6
- };
@@ -1,25 +0,0 @@
1
- import app from 'Config/app'; // eslint-disable-line import/no-unresolved
2
- import LoggerService from '../services/LoggerService';
3
-
4
- const transports = [
5
- {
6
- logType: 'console',
7
- level: /* istanbul ignore next */ app.debug ? 'debug' : 'info',
8
- config: {
9
- getCreatedAt: true,
10
- tags: {
11
- env: app.env,
12
- service: app.service || app.name,
13
- },
14
- },
15
- },
16
- ];
17
-
18
- const loggerOptions = {
19
- defaultMeta: {},
20
- transports,
21
- };
22
-
23
- const logger = new LoggerService(loggerOptions);
24
-
25
- export default logger;
@@ -1,11 +0,0 @@
1
- import config from 'Config/aws'; // eslint-disable-line import/no-unresolved
2
- import S3Service from '../services/S3Service';
3
-
4
- const s3 = new S3Service(config.s3.options);
5
-
6
- const getObject = (objectKey, bucketName) => {
7
- return s3.getObject(objectKey, bucketName);
8
- };
9
-
10
- export { getObject };
11
- export default s3;
@@ -1,21 +0,0 @@
1
- export default (params, columns) => {
2
- const insertFields = {};
3
- const insertColumns = [];
4
- const insertValues = [];
5
-
6
- columns.forEach(column => {
7
- const { key } = column;
8
-
9
- if (typeof params[key] !== 'undefined') {
10
- insertColumns.push(key);
11
- insertValues.push([`:${key}`]);
12
- insertFields[key] = params[key];
13
- }
14
- });
15
-
16
- return {
17
- insertColumns: insertColumns.join(','),
18
- insertValues: insertValues.join(','),
19
- insertFields,
20
- };
21
- };
@@ -1,25 +0,0 @@
1
- export default (params, columns) => {
2
- const updateFields = {};
3
- const updateColumnValues = [];
4
- let wherePrimaryKey = '';
5
-
6
- columns.forEach(column => {
7
- const { key } = column;
8
-
9
- if (typeof params[key] !== 'undefined') {
10
- if (key === 'id') {
11
- wherePrimaryKey = `${key}=:${key}`;
12
- updateFields[key] = params[key];
13
- } else {
14
- updateColumnValues.push([`${key}=:${key}`]);
15
- updateFields[key] = params[key];
16
- }
17
- }
18
- });
19
-
20
- return {
21
- updateColumnValues: updateColumnValues.join(','),
22
- wherePrimaryKey,
23
- updateFields,
24
- };
25
- };
@@ -1,11 +0,0 @@
1
- import config from 'Config/aws'; // eslint-disable-line import/no-unresolved
2
- import SQSService from '../services/SQSService';
3
-
4
- const queue = new SQSService(config.sqs.options, config.sqs.queues);
5
-
6
- const dispatch = (payload, queueName) => {
7
- return queue.dispatch(payload, queueName);
8
- };
9
-
10
- export { dispatch };
11
- export default queue;