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
@@ -0,0 +1,59 @@
1
+ import { createDecipheriv } from 'crypto';
2
+ import cryptoConfig from '../../config/crypto';
3
+ import {
4
+ validateEncryptionAlgorithm,
5
+ validateSecretKey,
6
+ } from './validateEncryptionFields';
7
+ import logger from '../logger';
8
+ import validateFields from '../validateFields';
9
+ const FILE = 'lesgo.utils.crypto.decrypt';
10
+ /**
11
+ * Decrypts the given encrypted text.
12
+ *
13
+ * @param text - The encrypted text to be decrypted.
14
+ * @param opts - Optional decryption options.
15
+ * @returns The decrypted text.
16
+ *
17
+ * @throws {LesgoException} If there is an error decrypting the text.
18
+ * @throws {LesgoException} If the text is not a string.
19
+ * @throws {LesgoException} If the text is not encrypted.
20
+ * @throws {LesgoException} If the algorithm is not valid.
21
+ * @throws {LesgoException} If the secret key is not valid.
22
+ * @throws {LesgoException} If the secret key is not provided.
23
+ * @throws {LesgoException} If the algorithm is not provided.
24
+ * @throws {LesgoException} If the text is not provided.
25
+ *
26
+ * @example
27
+ * ```typescript
28
+ * import { decrypt } from 'lesgo/utils/crypto';
29
+ *
30
+ * const encryptedText = 'encryptedText';
31
+ *
32
+ * const decryptedText = decrypt(encryptedText);
33
+ * console.log(decryptedText); // Decrypted text
34
+ * ```
35
+ */
36
+ const decrypt = (text, opts) => {
37
+ logger.debug(`${FILE}::DECRYPT`, { text });
38
+ const input = validateFields({ text }, [
39
+ { key: 'text', type: 'string', required: true },
40
+ ]);
41
+ const validAlgorithm =
42
+ (opts === null || opts === void 0 ? void 0 : opts.algorithm) ||
43
+ cryptoConfig.encryption.algorithm;
44
+ const validSecretKey =
45
+ (opts === null || opts === void 0 ? void 0 : opts.secretKey) ||
46
+ cryptoConfig.encryption.secretKey;
47
+ validateEncryptionAlgorithm(validAlgorithm);
48
+ validateSecretKey(validSecretKey, validAlgorithm);
49
+ const textParts = input.text.split(':');
50
+ const iv = Buffer.from(textParts.shift() || '', 'hex');
51
+ const encryptedText = Buffer.from(textParts.join(':'), 'hex');
52
+ const decipher = createDecipheriv(validAlgorithm, validSecretKey, iv);
53
+ let decrypted = decipher.update(encryptedText);
54
+ decrypted = Buffer.concat([decrypted, decipher.final()]);
55
+ const decryptedText = decrypted.toString();
56
+ logger.debug(`${FILE}::DECRYPTED_TEXT`, { decryptedText });
57
+ return decryptedText;
58
+ };
59
+ export default decrypt;
@@ -0,0 +1,31 @@
1
+ import { EncryptionAlgorithm } from './validateEncryptionFields';
2
+ export interface EncryptOptions {
3
+ algorithm?: EncryptionAlgorithm;
4
+ secretKey?: string;
5
+ }
6
+ /**
7
+ * Encrypts the given text using the specified options.
8
+ *
9
+ * @param text - The text to be encrypted.
10
+ * @param opts - Optional encryption options.
11
+ * @returns The encrypted text.
12
+ *
13
+ * @throws {LesgoException} If there is an error encrypting the text.
14
+ * @throws {LesgoException} If the text is not a string.
15
+ * @throws {LesgoException} If the algorithm is not valid.
16
+ * @throws {LesgoException} If the secret key is not valid.
17
+ * @throws {LesgoException} If the secret key is not provided.
18
+ * @throws {LesgoException} If the algorithm is not provided.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { encrypt } from 'lesgo/utils/crypto';
23
+ *
24
+ * const text = 'myText';
25
+ *
26
+ * const encryptedText = encrypt(text);
27
+ * console.log(encryptedText); // Encrypted text
28
+ * ```
29
+ */
30
+ declare const encrypt: (text: string, opts?: EncryptOptions) => string;
31
+ export default encrypt;
@@ -0,0 +1,41 @@
1
+ import { randomBytes, createCipheriv } from 'crypto';
2
+ import validateEncryptionFields from './validateEncryptionFields';
3
+ import logger from '../logger';
4
+ const FILE = 'lesgo.utils.crypto.encrypt';
5
+ /**
6
+ * Encrypts the given text using the specified options.
7
+ *
8
+ * @param text - The text to be encrypted.
9
+ * @param opts - Optional encryption options.
10
+ * @returns The encrypted text.
11
+ *
12
+ * @throws {LesgoException} If there is an error encrypting the text.
13
+ * @throws {LesgoException} If the text is not a string.
14
+ * @throws {LesgoException} If the algorithm is not valid.
15
+ * @throws {LesgoException} If the secret key is not valid.
16
+ * @throws {LesgoException} If the secret key is not provided.
17
+ * @throws {LesgoException} If the algorithm is not provided.
18
+ *
19
+ * @example
20
+ * ```typescript
21
+ * import { encrypt } from 'lesgo/utils/crypto';
22
+ *
23
+ * const text = 'myText';
24
+ *
25
+ * const encryptedText = encrypt(text);
26
+ * console.log(encryptedText); // Encrypted text
27
+ * ```
28
+ */
29
+ const encrypt = (text, opts) => {
30
+ logger.debug(`${FILE}::ENCRYPT`, { text });
31
+ const { validText, validAlgorithm, validIvLength, validSecretKey } =
32
+ validateEncryptionFields(text, opts);
33
+ const iv = randomBytes(validIvLength);
34
+ const cipher = createCipheriv(validAlgorithm, validSecretKey, iv);
35
+ let encrypted = cipher.update(validText);
36
+ encrypted = Buffer.concat([encrypted, cipher.final()]);
37
+ const encryptedText = `${iv.toString('hex')}:${encrypted.toString('hex')}`;
38
+ logger.debug(`${FILE}::ENCRYPTED_TEXT`, { encryptedText });
39
+ return encryptedText;
40
+ };
41
+ export default encrypt;
@@ -0,0 +1,31 @@
1
+ export type HashAlgorithm = 'md5' | 'sha256' | 'sha512';
2
+ export interface HashOptions {
3
+ algorithm?: HashAlgorithm;
4
+ }
5
+ /**
6
+ * Calculates the hash value of the given data using the specified algorithm.
7
+ *
8
+ * @param data - The data to be hashed.
9
+ * @param opts - Optional configuration for the hash algorithm.
10
+ * @returns The hashed value as a string.
11
+ *
12
+ * @throws {LesgoException} if an invalid hash algorithm is supplied.
13
+ * @throws {LesgoException} if the data is not a string.
14
+ * @throws {LesgoException} if the data is not provided.
15
+ * @throws {LesgoException} if the algorithm is not provided.
16
+ * @throws {LesgoException} if the algorithm is not valid.
17
+ * @throws {LesgoException} if the algorithm is not a string.
18
+ * @throws {LesgoException} if the algorithm is not a valid hash algorithm.
19
+ *
20
+ * @example
21
+ * ```typescript
22
+ * import { hash } from 'lesgo/utils/crypto';
23
+ *
24
+ * const data = 'myData';
25
+ *
26
+ * const hashedValue = hash(data);
27
+ * console.log(hashedValue); // Hashed value
28
+ * ```
29
+ */
30
+ declare const hash: (data: string, opts?: HashOptions) => string;
31
+ export default hash;
@@ -0,0 +1,56 @@
1
+ import { createHash } from 'crypto';
2
+ import { crypto as cryptoConfig } from '../../config';
3
+ import validateFields from '../validateFields';
4
+ import { LesgoException } from '../../exceptions';
5
+ const FILE = 'lesgo.utils.crypto.hash';
6
+ const isHashAlgorithm = algorithm => {
7
+ return ['md5', 'sha256', 'sha512'].includes(algorithm);
8
+ };
9
+ /**
10
+ * Calculates the hash value of the given data using the specified algorithm.
11
+ *
12
+ * @param data - The data to be hashed.
13
+ * @param opts - Optional configuration for the hash algorithm.
14
+ * @returns The hashed value as a string.
15
+ *
16
+ * @throws {LesgoException} if an invalid hash algorithm is supplied.
17
+ * @throws {LesgoException} if the data is not a string.
18
+ * @throws {LesgoException} if the data is not provided.
19
+ * @throws {LesgoException} if the algorithm is not provided.
20
+ * @throws {LesgoException} if the algorithm is not valid.
21
+ * @throws {LesgoException} if the algorithm is not a string.
22
+ * @throws {LesgoException} if the algorithm is not a valid hash algorithm.
23
+ *
24
+ * @example
25
+ * ```typescript
26
+ * import { hash } from 'lesgo/utils/crypto';
27
+ *
28
+ * const data = 'myData';
29
+ *
30
+ * const hashedValue = hash(data);
31
+ * console.log(hashedValue); // Hashed value
32
+ * ```
33
+ */
34
+ const hash = (data, opts) => {
35
+ const input = validateFields({ data }, [
36
+ { key: 'data', type: 'string', required: true },
37
+ ]);
38
+ const algorithmSupplied =
39
+ (opts === null || opts === void 0 ? void 0 : opts.algorithm) ||
40
+ cryptoConfig.hash.algorithm;
41
+ if (!isHashAlgorithm(algorithmSupplied)) {
42
+ throw new LesgoException(
43
+ 'Invalid hash algorithm supplied',
44
+ `${FILE}::ERROR_INVALID_HASH_ALGORITHM`,
45
+ 500,
46
+ {
47
+ algorithmSupplied,
48
+ }
49
+ );
50
+ }
51
+ const hashedValue = createHash(algorithmSupplied)
52
+ .update(input.data)
53
+ .digest('hex');
54
+ return hashedValue;
55
+ };
56
+ export default hash;
@@ -0,0 +1,3 @@
1
+ export { default as decrypt } from './decrypt';
2
+ export { default as encrypt } from './encrypt';
3
+ export { default as hash } from './hash';
@@ -0,0 +1,3 @@
1
+ export { default as decrypt } from './decrypt';
2
+ export { default as encrypt } from './encrypt';
3
+ export { default as hash } from './hash';
@@ -0,0 +1,19 @@
1
+ export declare enum EncryptionAlgorithm {
2
+ AES128 = "aes-128-cbc",
3
+ AES192 = "aes-192-cbc",
4
+ AES256 = "aes-256-cbc",
5
+ AES512 = "aes-512-cbc"
6
+ }
7
+ interface ValidateEncryptionFieldsOptions {
8
+ algorithm?: EncryptionAlgorithm;
9
+ secretKey?: string;
10
+ }
11
+ export declare const validateEncryptionAlgorithm: (algorithm: EncryptionAlgorithm) => void;
12
+ export declare const validateSecretKey: (secretKey?: string, algorithm?: EncryptionAlgorithm) => void;
13
+ declare const validateEncryptionFields: (text: string, opts?: ValidateEncryptionFieldsOptions) => {
14
+ validText: any;
15
+ validAlgorithm: EncryptionAlgorithm;
16
+ validSecretKey: string;
17
+ validIvLength: number;
18
+ };
19
+ export default validateEncryptionFields;
@@ -0,0 +1,71 @@
1
+ import { LesgoException } from '../../exceptions';
2
+ import cryptoConfig from '../../config/crypto';
3
+ import validateFields from '../validateFields';
4
+ export var EncryptionAlgorithm;
5
+ (function (EncryptionAlgorithm) {
6
+ EncryptionAlgorithm['AES128'] = 'aes-128-cbc';
7
+ EncryptionAlgorithm['AES192'] = 'aes-192-cbc';
8
+ EncryptionAlgorithm['AES256'] = 'aes-256-cbc';
9
+ EncryptionAlgorithm['AES512'] = 'aes-512-cbc';
10
+ })(EncryptionAlgorithm || (EncryptionAlgorithm = {}));
11
+ const FILE = 'lesgo.utils.crypto.validateEncryptionFields';
12
+ export const validateEncryptionAlgorithm = algorithm => {
13
+ const input = validateFields({ algorithm }, [
14
+ { key: 'algorithm', type: 'string', required: true },
15
+ ]);
16
+ if (!Object.values(EncryptionAlgorithm).includes(input.algorithm)) {
17
+ throw new LesgoException(
18
+ 'Invalid encryption algorithm supplied',
19
+ `${FILE}::ERROR_INVALID_ENCRYPTION_ALGORITHM`,
20
+ 500,
21
+ {
22
+ algorithm,
23
+ allowedAlgorithms: Object.values(EncryptionAlgorithm),
24
+ }
25
+ );
26
+ }
27
+ };
28
+ export const validateSecretKey = (secretKey, algorithm) => {
29
+ const keyLengths = {
30
+ 'aes-128-cbc': 16,
31
+ 'aes-192-cbc': 24,
32
+ 'aes-256-cbc': 32,
33
+ 'aes-512-cbc': 64,
34
+ };
35
+ const input = validateFields({ secretKey, algorithm }, [
36
+ { key: 'algorithm', type: 'string', required: true },
37
+ { key: 'secretKey', type: 'string', required: true },
38
+ ]);
39
+ const keyLength = keyLengths[input.algorithm];
40
+ if (!keyLength) {
41
+ throw new LesgoException(
42
+ `Invalid secret key length for ${input.algorithm}`,
43
+ `${FILE}::ERROR_INVALID_SECRET_KEY_LENGTH`,
44
+ 500,
45
+ {
46
+ secretKey,
47
+ keyLength,
48
+ }
49
+ );
50
+ }
51
+ };
52
+ const validateEncryptionFields = (text, opts) => {
53
+ const input = validateFields({ text }, [
54
+ { key: 'text', type: 'string', required: true },
55
+ ]);
56
+ const algorithmSupplied =
57
+ (opts === null || opts === void 0 ? void 0 : opts.algorithm) ||
58
+ cryptoConfig.encryption.algorithm;
59
+ const secretKeySupplied =
60
+ (opts === null || opts === void 0 ? void 0 : opts.secretKey) ||
61
+ cryptoConfig.encryption.secretKey;
62
+ validateEncryptionAlgorithm(algorithmSupplied);
63
+ validateSecretKey(secretKeySupplied, algorithmSupplied);
64
+ return {
65
+ validText: input.text,
66
+ validAlgorithm: algorithmSupplied,
67
+ validSecretKey: secretKeySupplied,
68
+ validIvLength: 16,
69
+ };
70
+ };
71
+ export default validateEncryptionFields;
@@ -0,0 +1,2 @@
1
+ declare const disconnect: () => Promise<void>;
2
+ export default disconnect;
@@ -0,0 +1,5 @@
1
+ import { disconnectMySQLProxyClient } from '../../../../services/RDSAuroraMySQLProxyService';
2
+ const disconnect = () => {
3
+ return disconnectMySQLProxyClient();
4
+ };
5
+ export default disconnect;
@@ -0,0 +1,2 @@
1
+ declare const disconnectDb: () => Promise<void>;
2
+ export default disconnectDb;
@@ -0,0 +1,5 @@
1
+ import { disconnectMySQLProxyClient } from '../../../../services/RDSAuroraMySQLProxyService';
2
+ const disconnectDb = () => {
3
+ return disconnectMySQLProxyClient();
4
+ };
5
+ export default disconnectDb;
@@ -0,0 +1,4 @@
1
+ import { ConnectionOptions } from 'mysql2/promise';
2
+ import { RDSAuroraMySQLProxyClientOptions } from '../../../../types/aws';
3
+ declare const getClient: (connOptions?: ConnectionOptions, clientOpts?: RDSAuroraMySQLProxyClientOptions) => Promise<import("mysql2/promise").Connection>;
4
+ export default getClient;
@@ -0,0 +1,5 @@
1
+ import getClientService from '../../../../services/RDSAuroraMySQLProxyService/getMySQLProxyClient';
2
+ const getClient = (connOptions, clientOpts) => {
3
+ return getClientService(connOptions, clientOpts);
4
+ };
5
+ export default getClient;
@@ -0,0 +1,3 @@
1
+ export { default as disconnectDb } from './disconnectDb';
2
+ export { default as getClient } from './getClient';
3
+ export { default as query } from './query';
@@ -0,0 +1,3 @@
1
+ export { default as disconnectDb } from './disconnectDb';
2
+ export { default as getClient } from './getClient';
3
+ export { default as query } from './query';
@@ -0,0 +1,4 @@
1
+ import { ConnectionOptions } from 'mysql2/promise';
2
+ import { RDSAuroraMySQLProxyClientOptions } from '../../../../types/aws';
3
+ declare const query: (sql: string, preparedValues?: any[], connOptions?: ConnectionOptions, clientOpts?: RDSAuroraMySQLProxyClientOptions) => Promise<import("mysql2/promise").QueryResult>;
4
+ export default query;
@@ -0,0 +1,45 @@
1
+ var __awaiter =
2
+ (this && this.__awaiter) ||
3
+ function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) {
5
+ return value instanceof P
6
+ ? value
7
+ : new P(function (resolve) {
8
+ resolve(value);
9
+ });
10
+ }
11
+ return new (P || (P = Promise))(function (resolve, reject) {
12
+ function fulfilled(value) {
13
+ try {
14
+ step(generator.next(value));
15
+ } catch (e) {
16
+ reject(e);
17
+ }
18
+ }
19
+ function rejected(value) {
20
+ try {
21
+ step(generator['throw'](value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ }
26
+ function step(result) {
27
+ result.done
28
+ ? resolve(result.value)
29
+ : adopt(result.value).then(fulfilled, rejected);
30
+ }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ import queryService from '../../../../services/RDSAuroraMySQLProxyService/query';
35
+ const query = (sql, preparedValues, connOptions, clientOpts) =>
36
+ __awaiter(void 0, void 0, void 0, function* () {
37
+ const [res] = yield queryService(
38
+ sql,
39
+ preparedValues,
40
+ connOptions,
41
+ clientOpts
42
+ );
43
+ return res;
44
+ });
45
+ export default query;
@@ -0,0 +1,5 @@
1
+ import { ClientOptions } from '../../types/aws';
2
+ import { Key } from '../../services/DynamoDbService/deleteRecord';
3
+ import { DeleteCommandInput } from '@aws-sdk/lib-dynamodb';
4
+ declare const deleteRecord: (key: Key, tableAlias: string, opts?: DeleteCommandInput, clientOpts?: ClientOptions) => Promise<import("@aws-sdk/lib-dynamodb").DeleteCommandOutput>;
5
+ export default deleteRecord;
@@ -0,0 +1,39 @@
1
+ var __awaiter =
2
+ (this && this.__awaiter) ||
3
+ function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) {
5
+ return value instanceof P
6
+ ? value
7
+ : new P(function (resolve) {
8
+ resolve(value);
9
+ });
10
+ }
11
+ return new (P || (P = Promise))(function (resolve, reject) {
12
+ function fulfilled(value) {
13
+ try {
14
+ step(generator.next(value));
15
+ } catch (e) {
16
+ reject(e);
17
+ }
18
+ }
19
+ function rejected(value) {
20
+ try {
21
+ step(generator['throw'](value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ }
26
+ function step(result) {
27
+ result.done
28
+ ? resolve(result.value)
29
+ : adopt(result.value).then(fulfilled, rejected);
30
+ }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ import deleteRecordService from '../../services/DynamoDbService/deleteRecord';
35
+ const deleteRecord = (key, tableAlias, opts, clientOpts) =>
36
+ __awaiter(void 0, void 0, void 0, function* () {
37
+ return deleteRecordService(key, tableAlias, opts, clientOpts);
38
+ });
39
+ export default deleteRecord;
@@ -0,0 +1,3 @@
1
+ import { ClientOptions } from '../../types/aws';
2
+ declare const getClient: (opts?: ClientOptions) => import("@aws-sdk/lib-dynamodb").DynamoDBDocumentClient;
3
+ export default getClient;
@@ -0,0 +1,5 @@
1
+ import getClientService from '../../services/DynamoDbService/getClient';
2
+ const getClient = opts => {
3
+ return getClientService(opts);
4
+ };
5
+ export default getClient;
@@ -0,0 +1,6 @@
1
+ export { default as deleteRecord } from './deleteRecord';
2
+ export { default as getClient } from './getClient';
3
+ export { default as putRecord } from './putRecord';
4
+ export { default as query } from './query';
5
+ export { default as scan } from './scan';
6
+ export { default as updateRecord } from './updateRecord';
@@ -0,0 +1,6 @@
1
+ export { default as deleteRecord } from './deleteRecord';
2
+ export { default as getClient } from './getClient';
3
+ export { default as putRecord } from './putRecord';
4
+ export { default as query } from './query';
5
+ export { default as scan } from './scan';
6
+ export { default as updateRecord } from './updateRecord';
@@ -0,0 +1,4 @@
1
+ import { ClientOptions } from '../../types/aws';
2
+ import { Item, PutRecordOptions } from '../../services/DynamoDbService/putRecord';
3
+ declare const putRecord: (item: Item, tableAlias: string, opts?: PutRecordOptions, clientOpts?: ClientOptions) => Promise<import("@aws-sdk/lib-dynamodb").PutCommandOutput>;
4
+ export default putRecord;
@@ -0,0 +1,39 @@
1
+ var __awaiter =
2
+ (this && this.__awaiter) ||
3
+ function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) {
5
+ return value instanceof P
6
+ ? value
7
+ : new P(function (resolve) {
8
+ resolve(value);
9
+ });
10
+ }
11
+ return new (P || (P = Promise))(function (resolve, reject) {
12
+ function fulfilled(value) {
13
+ try {
14
+ step(generator.next(value));
15
+ } catch (e) {
16
+ reject(e);
17
+ }
18
+ }
19
+ function rejected(value) {
20
+ try {
21
+ step(generator['throw'](value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ }
26
+ function step(result) {
27
+ result.done
28
+ ? resolve(result.value)
29
+ : adopt(result.value).then(fulfilled, rejected);
30
+ }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ import putRecordService from '../../services/DynamoDbService/putRecord';
35
+ const putRecord = (item, tableAlias, opts, clientOpts) =>
36
+ __awaiter(void 0, void 0, void 0, function* () {
37
+ return putRecordService(item, tableAlias, opts, clientOpts);
38
+ });
39
+ export default putRecord;
@@ -0,0 +1,5 @@
1
+ import { ClientOptions } from '../../types/aws';
2
+ import { QueryOptions } from '../../services/DynamoDbService/query';
3
+ import { NativeAttributeValue } from '@aws-sdk/lib-dynamodb';
4
+ export declare const query: (tableAlias: string, keyConditionExpression: string, expressionAttributeValues: Record<string, NativeAttributeValue>, opts?: QueryOptions, clientOpts?: ClientOptions) => Promise<Record<string, any>[]>;
5
+ export default query;
@@ -0,0 +1,52 @@
1
+ var __awaiter =
2
+ (this && this.__awaiter) ||
3
+ function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) {
5
+ return value instanceof P
6
+ ? value
7
+ : new P(function (resolve) {
8
+ resolve(value);
9
+ });
10
+ }
11
+ return new (P || (P = Promise))(function (resolve, reject) {
12
+ function fulfilled(value) {
13
+ try {
14
+ step(generator.next(value));
15
+ } catch (e) {
16
+ reject(e);
17
+ }
18
+ }
19
+ function rejected(value) {
20
+ try {
21
+ step(generator['throw'](value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ }
26
+ function step(result) {
27
+ result.done
28
+ ? resolve(result.value)
29
+ : adopt(result.value).then(fulfilled, rejected);
30
+ }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ import queryService from '../../services/DynamoDbService/query';
35
+ export const query = (
36
+ tableAlias,
37
+ keyConditionExpression,
38
+ expressionAttributeValues,
39
+ opts,
40
+ clientOpts
41
+ ) =>
42
+ __awaiter(void 0, void 0, void 0, function* () {
43
+ const data = yield queryService(
44
+ tableAlias,
45
+ keyConditionExpression,
46
+ expressionAttributeValues,
47
+ opts,
48
+ clientOpts
49
+ );
50
+ return (data === null || data === void 0 ? void 0 : data.Items) || [];
51
+ });
52
+ export default query;
@@ -0,0 +1,4 @@
1
+ import { ClientOptions } from '../../types/aws';
2
+ import { ScanOptions } from '../../services/DynamoDbService/scan';
3
+ export declare const scan: (tableAlias: string, opts?: ScanOptions, clientOpts?: ClientOptions) => Promise<Record<string, any>[]>;
4
+ export default scan;
@@ -0,0 +1,40 @@
1
+ var __awaiter =
2
+ (this && this.__awaiter) ||
3
+ function (thisArg, _arguments, P, generator) {
4
+ function adopt(value) {
5
+ return value instanceof P
6
+ ? value
7
+ : new P(function (resolve) {
8
+ resolve(value);
9
+ });
10
+ }
11
+ return new (P || (P = Promise))(function (resolve, reject) {
12
+ function fulfilled(value) {
13
+ try {
14
+ step(generator.next(value));
15
+ } catch (e) {
16
+ reject(e);
17
+ }
18
+ }
19
+ function rejected(value) {
20
+ try {
21
+ step(generator['throw'](value));
22
+ } catch (e) {
23
+ reject(e);
24
+ }
25
+ }
26
+ function step(result) {
27
+ result.done
28
+ ? resolve(result.value)
29
+ : adopt(result.value).then(fulfilled, rejected);
30
+ }
31
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
32
+ });
33
+ };
34
+ import scanService from '../../services/DynamoDbService/scan';
35
+ export const scan = (tableAlias, opts, clientOpts) =>
36
+ __awaiter(void 0, void 0, void 0, function* () {
37
+ const data = yield scanService(tableAlias, opts, clientOpts);
38
+ return (data === null || data === void 0 ? void 0 : data.Items) || [];
39
+ });
40
+ export default scan;
@@ -0,0 +1,5 @@
1
+ import { ClientOptions } from '../../types/aws';
2
+ import { Key, UpdateRecordOptions } from '../../services/DynamoDbService/updateRecord';
3
+ import { NativeAttributeValue } from '@aws-sdk/lib-dynamodb';
4
+ export declare const updateRecord: (key: Key, tableAlias: string, updateExpression: string, expressionAttributeValues: Record<string, NativeAttributeValue>, opts?: UpdateRecordOptions, clientOpts?: ClientOptions) => Promise<import("@aws-sdk/lib-dynamodb").UpdateCommandOutput>;
5
+ export default updateRecord;