softkave-node-utils 0.1.1 → 0.4.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 (327) hide show
  1. package/README.md +0 -2
  2. package/build/common/error.d.ts +24 -0
  3. package/build/common/error.js +36 -0
  4. package/build/common/error.js.map +1 -0
  5. package/build/common/getClientConfig.d.ts +9 -0
  6. package/build/common/getClientConfig.js +23 -0
  7. package/build/common/getClientConfig.js.map +1 -0
  8. package/build/common/index.d.ts +4 -0
  9. package/build/common/index.js +4 -0
  10. package/build/common/index.js.map +1 -0
  11. package/build/common/logger/fimidx-auth-logger.d.ts +3 -0
  12. package/build/common/logger/fimidx-auth-logger.js +7 -0
  13. package/build/common/logger/fimidx-auth-logger.js.map +1 -0
  14. package/build/common/logger/fimidx-console-logger.d.ts +3 -0
  15. package/build/common/logger/fimidx-console-logger.js +11 -0
  16. package/build/common/logger/fimidx-console-logger.js.map +1 -0
  17. package/build/common/logger/fimidx-logger.d.ts +3 -0
  18. package/build/common/logger/fimidx-logger.js +10 -0
  19. package/build/common/logger/fimidx-logger.js.map +1 -0
  20. package/build/common/logger/index.d.ts +4 -0
  21. package/build/common/logger/index.js +4 -0
  22. package/build/common/logger/index.js.map +1 -0
  23. package/build/mongo/MongooseMongoDBConnection.d.ts +11 -0
  24. package/build/mongo/MongooseMongoDBConnection.js +20 -0
  25. package/build/mongo/MongooseMongoDBConnection.js.map +1 -0
  26. package/build/mongo/NoopMongoDBConnection.d.ts +8 -0
  27. package/build/mongo/NoopMongoDBConnection.js +13 -0
  28. package/build/mongo/NoopMongoDBConnection.js.map +1 -0
  29. package/build/mongo/getLazyMongooseMongoDBConnection.d.ts +10 -0
  30. package/build/mongo/getLazyMongooseMongoDBConnection.js +14 -0
  31. package/build/mongo/getLazyMongooseMongoDBConnection.js.map +1 -0
  32. package/build/mongo/getOpinionatedMongoDBConfig.d.ts +5 -0
  33. package/build/mongo/getOpinionatedMongoDBConfig.js +12 -0
  34. package/build/mongo/getOpinionatedMongoDBConfig.js.map +1 -0
  35. package/build/mongo/index.d.ts +7 -0
  36. package/build/mongo/index.js +7 -0
  37. package/build/mongo/index.js.map +1 -0
  38. package/build/mongo/types.d.ts +6 -0
  39. package/build/mongo/types.js +2 -0
  40. package/build/{src/contexts → mongo}/types.js.map +1 -1
  41. package/build/mongo/utils.d.ts +11 -0
  42. package/build/mongo/utils.js +20 -0
  43. package/build/mongo/utils.js.map +1 -0
  44. package/build/next/index.d.ts +3 -0
  45. package/build/next/index.js +3 -0
  46. package/build/next/index.js.map +1 -0
  47. package/build/next/wrapAuthenticated.d.ts +17 -0
  48. package/build/next/wrapAuthenticated.js +50 -0
  49. package/build/next/wrapAuthenticated.js.map +1 -0
  50. package/build/next/wrapRoute.d.ts +7 -0
  51. package/build/next/wrapRoute.js +36 -0
  52. package/build/next/wrapRoute.js.map +1 -0
  53. package/build/server/index.d.ts +2 -0
  54. package/build/server/index.js +2 -0
  55. package/build/server/index.js.map +1 -0
  56. package/build/server/jwt/encodeJWTToken.d.ts +13 -0
  57. package/build/server/jwt/encodeJWTToken.js +25 -0
  58. package/build/server/jwt/encodeJWTToken.js.map +1 -0
  59. package/build/server/jwt/index.d.ts +3 -0
  60. package/build/server/jwt/index.js +3 -0
  61. package/build/server/jwt/index.js.map +1 -0
  62. package/build/server/jwt/types.d.ts +6 -0
  63. package/build/server/jwt/types.js +2 -0
  64. package/build/{src/contexts/email → server/jwt}/types.js.map +1 -1
  65. package/package.json +57 -45
  66. package/build/src/contexts/SessionContext.d.ts +0 -15
  67. package/build/src/contexts/SessionContext.js +0 -70
  68. package/build/src/contexts/SessionContext.js.map +0 -1
  69. package/build/src/contexts/asyncLocalStorage.d.ts +0 -27
  70. package/build/src/contexts/asyncLocalStorage.js +0 -115
  71. package/build/src/contexts/asyncLocalStorage.js.map +0 -1
  72. package/build/src/contexts/config.d.ts +0 -49
  73. package/build/src/contexts/config.js +0 -25
  74. package/build/src/contexts/config.js.map +0 -1
  75. package/build/src/contexts/data/BaseMongoDataProvider.d.ts +0 -21
  76. package/build/src/contexts/data/BaseMongoDataProvider.js +0 -157
  77. package/build/src/contexts/data/BaseMongoDataProvider.js.map +0 -1
  78. package/build/src/contexts/data/MongoDataProviderUtils.d.ts +0 -6
  79. package/build/src/contexts/data/MongoDataProviderUtils.js +0 -35
  80. package/build/src/contexts/data/MongoDataProviderUtils.js.map +0 -1
  81. package/build/src/contexts/data/dataQueryToMongoQuery.d.ts +0 -3
  82. package/build/src/contexts/data/dataQueryToMongoQuery.js +0 -85
  83. package/build/src/contexts/data/dataQueryToMongoQuery.js.map +0 -1
  84. package/build/src/contexts/data/index.d.ts +0 -5
  85. package/build/src/contexts/data/index.js +0 -22
  86. package/build/src/contexts/data/index.js.map +0 -1
  87. package/build/src/contexts/data/types.d.ts +0 -114
  88. package/build/src/contexts/data/types.js +0 -15
  89. package/build/src/contexts/data/types.js.map +0 -1
  90. package/build/src/contexts/data/utils.d.ts +0 -2
  91. package/build/src/contexts/data/utils.js +0 -24
  92. package/build/src/contexts/data/utils.js.map +0 -1
  93. package/build/src/contexts/email/SESEmailProviderContext.d.ts +0 -9
  94. package/build/src/contexts/email/SESEmailProviderContext.js +0 -49
  95. package/build/src/contexts/email/SESEmailProviderContext.js.map +0 -1
  96. package/build/src/contexts/email/index.d.ts +0 -2
  97. package/build/src/contexts/email/index.js +0 -19
  98. package/build/src/contexts/email/index.js.map +0 -1
  99. package/build/src/contexts/email/types.d.ts +0 -13
  100. package/build/src/contexts/email/types.js +0 -3
  101. package/build/src/contexts/encryption/AWSSecretsManagerProvider.d.ts +0 -12
  102. package/build/src/contexts/encryption/AWSSecretsManagerProvider.js +0 -51
  103. package/build/src/contexts/encryption/AWSSecretsManagerProvider.js.map +0 -1
  104. package/build/src/contexts/encryption/MemorySecretsManagerProvider.d.ts +0 -12
  105. package/build/src/contexts/encryption/MemorySecretsManagerProvider.js +0 -35
  106. package/build/src/contexts/encryption/MemorySecretsManagerProvider.js.map +0 -1
  107. package/build/src/contexts/encryption/index.d.ts +0 -3
  108. package/build/src/contexts/encryption/index.js +0 -20
  109. package/build/src/contexts/encryption/index.js.map +0 -1
  110. package/build/src/contexts/encryption/types.d.ts +0 -29
  111. package/build/src/contexts/encryption/types.js +0 -3
  112. package/build/src/contexts/encryption/types.js.map +0 -1
  113. package/build/src/contexts/globalUtils.d.ts +0 -2
  114. package/build/src/contexts/globalUtils.js +0 -17
  115. package/build/src/contexts/globalUtils.js.map +0 -1
  116. package/build/src/contexts/index.d.ts +0 -11
  117. package/build/src/contexts/index.js +0 -28
  118. package/build/src/contexts/index.js.map +0 -1
  119. package/build/src/contexts/injection/index.d.ts +0 -3
  120. package/build/src/contexts/injection/index.js +0 -20
  121. package/build/src/contexts/injection/index.js.map +0 -1
  122. package/build/src/contexts/injection/injectables.d.ts +0 -56
  123. package/build/src/contexts/injection/injectables.js +0 -26
  124. package/build/src/contexts/injection/injectables.js.map +0 -1
  125. package/build/src/contexts/injection/keys.d.ts +0 -22
  126. package/build/src/contexts/injection/keys.js +0 -33
  127. package/build/src/contexts/injection/keys.js.map +0 -1
  128. package/build/src/contexts/injection/register.d.ts +0 -33
  129. package/build/src/contexts/injection/register.js +0 -107
  130. package/build/src/contexts/injection/register.js.map +0 -1
  131. package/build/src/contexts/logger/index.d.ts +0 -3
  132. package/build/src/contexts/logger/index.js +0 -20
  133. package/build/src/contexts/logger/index.js.map +0 -1
  134. package/build/src/contexts/logger/noop.d.ts +0 -5
  135. package/build/src/contexts/logger/noop.js +0 -12
  136. package/build/src/contexts/logger/noop.js.map +0 -1
  137. package/build/src/contexts/logger/types.d.ts +0 -11
  138. package/build/src/contexts/logger/types.js +0 -8
  139. package/build/src/contexts/logger/types.js.map +0 -1
  140. package/build/src/contexts/logger/utils.d.ts +0 -2
  141. package/build/src/contexts/logger/utils.js +0 -15
  142. package/build/src/contexts/logger/utils.js.map +0 -1
  143. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.d.ts +0 -28
  144. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.js +0 -115
  145. package/build/src/contexts/semantic/DataSemanticDataAccessBaseProvider.js.map +0 -1
  146. package/build/src/contexts/semantic/index.d.ts +0 -3
  147. package/build/src/contexts/semantic/index.js +0 -20
  148. package/build/src/contexts/semantic/index.js.map +0 -1
  149. package/build/src/contexts/semantic/types.d.ts +0 -48
  150. package/build/src/contexts/semantic/types.js +0 -3
  151. package/build/src/contexts/semantic/types.js.map +0 -1
  152. package/build/src/contexts/semantic/utils.d.ts +0 -16
  153. package/build/src/contexts/semantic/utils.js +0 -68
  154. package/build/src/contexts/semantic/utils.js.map +0 -1
  155. package/build/src/contexts/types.d.ts +0 -6
  156. package/build/src/contexts/types.js +0 -3
  157. package/build/src/definitions/agent.d.ts +0 -10
  158. package/build/src/definitions/agent.js +0 -3
  159. package/build/src/definitions/agent.js.map +0 -1
  160. package/build/src/definitions/index.d.ts +0 -4
  161. package/build/src/definitions/index.js +0 -21
  162. package/build/src/definitions/index.js.map +0 -1
  163. package/build/src/definitions/resource.d.ts +0 -17
  164. package/build/src/definitions/resource.js +0 -3
  165. package/build/src/definitions/resource.js.map +0 -1
  166. package/build/src/definitions/resourceTypes.d.ts +0 -10
  167. package/build/src/definitions/resourceTypes.js +0 -19
  168. package/build/src/definitions/resourceTypes.js.map +0 -1
  169. package/build/src/definitions/token.d.ts +0 -17
  170. package/build/src/definitions/token.js +0 -10
  171. package/build/src/definitions/token.js.map +0 -1
  172. package/build/src/endpoints/RequestData.d.ts +0 -20
  173. package/build/src/endpoints/RequestData.js +0 -52
  174. package/build/src/endpoints/RequestData.js.map +0 -1
  175. package/build/src/endpoints/constants.d.ts +0 -20
  176. package/build/src/endpoints/constants.js +0 -24
  177. package/build/src/endpoints/constants.js.map +0 -1
  178. package/build/src/endpoints/endpoints.d.ts +0 -7
  179. package/build/src/endpoints/endpoints.js +0 -33
  180. package/build/src/endpoints/endpoints.js.map +0 -1
  181. package/build/src/endpoints/endpoints.mddoc.d.ts +0 -62
  182. package/build/src/endpoints/endpoints.mddoc.js +0 -437
  183. package/build/src/endpoints/endpoints.mddoc.js.map +0 -1
  184. package/build/src/endpoints/extractors.d.ts +0 -9
  185. package/build/src/endpoints/extractors.js +0 -24
  186. package/build/src/endpoints/extractors.js.map +0 -1
  187. package/build/src/endpoints/index.d.ts +0 -10
  188. package/build/src/endpoints/index.js +0 -27
  189. package/build/src/endpoints/index.js.map +0 -1
  190. package/build/src/endpoints/jobs/index.d.ts +0 -1
  191. package/build/src/endpoints/jobs/index.js +0 -18
  192. package/build/src/endpoints/jobs/index.js.map +0 -1
  193. package/build/src/endpoints/jobs/types.d.ts +0 -6
  194. package/build/src/endpoints/jobs/types.js +0 -3
  195. package/build/src/endpoints/jobs/types.js.map +0 -1
  196. package/build/src/endpoints/pagination.d.ts +0 -3
  197. package/build/src/endpoints/pagination.js +0 -27
  198. package/build/src/endpoints/pagination.js.map +0 -1
  199. package/build/src/endpoints/types.d.ts +0 -68
  200. package/build/src/endpoints/types.js +0 -13
  201. package/build/src/endpoints/types.js.map +0 -1
  202. package/build/src/endpoints/utils.d.ts +0 -23
  203. package/build/src/endpoints/utils.js +0 -131
  204. package/build/src/endpoints/utils.js.map +0 -1
  205. package/build/src/endpoints/validation.d.ts +0 -47
  206. package/build/src/endpoints/validation.js +0 -73
  207. package/build/src/endpoints/validation.js.map +0 -1
  208. package/build/src/errors/OperationError.d.ts +0 -20
  209. package/build/src/errors/OperationError.js +0 -38
  210. package/build/src/errors/OperationError.js.map +0 -1
  211. package/build/src/errors/commonErrors.d.ts +0 -24
  212. package/build/src/errors/commonErrors.js +0 -72
  213. package/build/src/errors/commonErrors.js.map +0 -1
  214. package/build/src/errors/endpointErrors.d.ts +0 -31
  215. package/build/src/errors/endpointErrors.js +0 -83
  216. package/build/src/errors/endpointErrors.js.map +0 -1
  217. package/build/src/errors/index.d.ts +0 -6
  218. package/build/src/errors/index.js +0 -23
  219. package/build/src/errors/index.js.map +0 -1
  220. package/build/src/errors/messages.d.ts +0 -11
  221. package/build/src/errors/messages.js +0 -27
  222. package/build/src/errors/messages.js.map +0 -1
  223. package/build/src/errors/reusableErrors.d.ts +0 -12
  224. package/build/src/errors/reusableErrors.js +0 -25
  225. package/build/src/errors/reusableErrors.js.map +0 -1
  226. package/build/src/errors/sessionErrors.d.ts +0 -18
  227. package/build/src/errors/sessionErrors.js +0 -60
  228. package/build/src/errors/sessionErrors.js.map +0 -1
  229. package/build/src/index.d.ts +0 -8
  230. package/build/src/index.js +0 -25
  231. package/build/src/index.js.map +0 -1
  232. package/build/src/mddoc/index.d.ts +0 -4
  233. package/build/src/mddoc/index.js +0 -21
  234. package/build/src/mddoc/index.js.map +0 -1
  235. package/build/src/mddoc/jsSdkCodeGen.d.ts +0 -7
  236. package/build/src/mddoc/jsSdkCodeGen.js +0 -546
  237. package/build/src/mddoc/jsSdkCodeGen.js.map +0 -1
  238. package/build/src/mddoc/mddoc.d.ts +0 -206
  239. package/build/src/mddoc/mddoc.js +0 -142
  240. package/build/src/mddoc/mddoc.js.map +0 -1
  241. package/build/src/mddoc/restApiEndpointsInfoGen.d.ts +0 -10
  242. package/build/src/mddoc/restApiEndpointsInfoGen.js +0 -92
  243. package/build/src/mddoc/restApiEndpointsInfoGen.js.map +0 -1
  244. package/build/src/mddoc/restApiTableOfContentGen.d.ts +0 -2
  245. package/build/src/mddoc/restApiTableOfContentGen.js +0 -51
  246. package/build/src/mddoc/restApiTableOfContentGen.js.map +0 -1
  247. package/build/src/mongodb/connection.d.ts +0 -26
  248. package/build/src/mongodb/connection.js +0 -50
  249. package/build/src/mongodb/connection.js.map +0 -1
  250. package/build/src/mongodb/constants.d.ts +0 -4
  251. package/build/src/mongodb/constants.js +0 -7
  252. package/build/src/mongodb/constants.js.map +0 -1
  253. package/build/src/mongodb/index.d.ts +0 -3
  254. package/build/src/mongodb/index.js +0 -20
  255. package/build/src/mongodb/index.js.map +0 -1
  256. package/build/src/mongodb/utils.d.ts +0 -20
  257. package/build/src/mongodb/utils.js +0 -26
  258. package/build/src/mongodb/utils.js.map +0 -1
  259. package/build/src/testUtils/context/email/MockTestEmailProviderContext.d.ts +0 -6
  260. package/build/src/testUtils/context/email/MockTestEmailProviderContext.js +0 -10
  261. package/build/src/testUtils/context/email/MockTestEmailProviderContext.js.map +0 -1
  262. package/build/src/testUtils/context/email/NoopEmailProviderContext.d.ts +0 -6
  263. package/build/src/testUtils/context/email/NoopEmailProviderContext.js +0 -11
  264. package/build/src/testUtils/context/email/NoopEmailProviderContext.js.map +0 -1
  265. package/build/src/testUtils/context/email/TestSESEmailProviderContext.d.ts +0 -8
  266. package/build/src/testUtils/context/email/TestSESEmailProviderContext.js +0 -14
  267. package/build/src/testUtils/context/email/TestSESEmailProviderContext.js.map +0 -1
  268. package/build/src/testUtils/context/email/index.d.ts +0 -3
  269. package/build/src/testUtils/context/email/index.js +0 -20
  270. package/build/src/testUtils/context/email/index.js.map +0 -1
  271. package/build/src/testUtils/context/index.d.ts +0 -2
  272. package/build/src/testUtils/context/index.js +0 -19
  273. package/build/src/testUtils/context/index.js.map +0 -1
  274. package/build/src/testUtils/context/types.d.ts +0 -9
  275. package/build/src/testUtils/context/types.js +0 -3
  276. package/build/src/testUtils/context/types.js.map +0 -1
  277. package/build/src/testUtils/generate/index.d.ts +0 -1
  278. package/build/src/testUtils/generate/index.js +0 -18
  279. package/build/src/testUtils/generate/index.js.map +0 -1
  280. package/build/src/testUtils/generate/utils.d.ts +0 -37
  281. package/build/src/testUtils/generate/utils.js +0 -79
  282. package/build/src/testUtils/generate/utils.js.map +0 -1
  283. package/build/src/testUtils/helpers/assertion.d.ts +0 -25
  284. package/build/src/testUtils/helpers/assertion.js +0 -63
  285. package/build/src/testUtils/helpers/assertion.js.map +0 -1
  286. package/build/src/testUtils/helpers/binary.d.ts +0 -4
  287. package/build/src/testUtils/helpers/binary.js +0 -19
  288. package/build/src/testUtils/helpers/binary.js.map +0 -1
  289. package/build/src/testUtils/helpers/error.d.ts +0 -3
  290. package/build/src/testUtils/helpers/error.js +0 -43
  291. package/build/src/testUtils/helpers/error.js.map +0 -1
  292. package/build/src/testUtils/helpers/index.d.ts +0 -8
  293. package/build/src/testUtils/helpers/index.js +0 -25
  294. package/build/src/testUtils/helpers/index.js.map +0 -1
  295. package/build/src/testUtils/helpers/mock.d.ts +0 -2
  296. package/build/src/testUtils/helpers/mock.js +0 -15
  297. package/build/src/testUtils/helpers/mock.js.map +0 -1
  298. package/build/src/testUtils/helpers/mongodb.d.ts +0 -3
  299. package/build/src/testUtils/helpers/mongodb.js +0 -17
  300. package/build/src/testUtils/helpers/mongodb.js.map +0 -1
  301. package/build/src/testUtils/helpers/request.d.ts +0 -7
  302. package/build/src/testUtils/helpers/request.js +0 -29
  303. package/build/src/testUtils/helpers/request.js.map +0 -1
  304. package/build/src/testUtils/helpers/response.d.ts +0 -2
  305. package/build/src/testUtils/helpers/response.js +0 -12
  306. package/build/src/testUtils/helpers/response.js.map +0 -1
  307. package/build/src/testUtils/helpers/testFns.d.ts +0 -33
  308. package/build/src/testUtils/helpers/testFns.js +0 -105
  309. package/build/src/testUtils/helpers/testFns.js.map +0 -1
  310. package/build/src/testUtils/index.d.ts +0 -3
  311. package/build/src/testUtils/index.js +0 -20
  312. package/build/src/testUtils/index.js.map +0 -1
  313. package/build/src/testUtils/testUtils.d.ts +0 -13
  314. package/build/src/testUtils/testUtils.js +0 -50
  315. package/build/src/testUtils/testUtils.js.map +0 -1
  316. package/build/src/utils/assertion.d.ts +0 -2
  317. package/build/src/utils/assertion.js +0 -31
  318. package/build/src/utils/assertion.js.map +0 -1
  319. package/build/src/utils/aws.d.ts +0 -5
  320. package/build/src/utils/aws.js +0 -3
  321. package/build/src/utils/aws.js.map +0 -1
  322. package/build/src/utils/index.d.ts +0 -3
  323. package/build/src/utils/index.js +0 -20
  324. package/build/src/utils/index.js.map +0 -1
  325. package/build/src/utils/streamToBuffer.d.ts +0 -4
  326. package/build/src/utils/streamToBuffer.js +0 -19
  327. package/build/src/utils/streamToBuffer.js.map +0 -1
@@ -0,0 +1,6 @@
1
+ export interface JWTTokenContent {
2
+ id: string;
3
+ refreshToken?: string;
4
+ duration?: number;
5
+ }
6
+ //# sourceMappingURL=types.d.ts.map
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../../src/contexts/email/types.ts"],"names":[],"mappings":""}
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/server/jwt/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "softkave-node-utils",
3
- "version": "0.1.1",
4
- "description": "Compilation of Node.js utils",
3
+ "version": "0.4.0",
4
+ "description": "Softkave Node.js utilities",
5
5
  "author": {
6
6
  "email": "ywordk@gmail.com",
7
7
  "name": "softkave"
@@ -10,63 +10,75 @@
10
10
  "keywords": [],
11
11
  "repository": {
12
12
  "type": "git",
13
- "url": "https://github.com/softkave/softkave-js-utils.git"
13
+ "url": "https://github.com/softkave/softkave-node-utils.git"
14
14
  },
15
15
  "bugs": {
16
- "url": "https://github.com/softkave/softkave-js-utils/issues"
16
+ "url": "https://github.com/softkave/softkave-node-utils/issues"
17
+ },
18
+ "homepage": "https://github.com/softkave/softkave-node-utils",
19
+ "type": "module",
20
+ "exports": {
21
+ "./common": {
22
+ "types": "./build/common/index.d.ts",
23
+ "default": "./build/common/index.js"
24
+ },
25
+ "./next": {
26
+ "types": "./build/next/index.d.ts",
27
+ "default": "./build/next/index.js"
28
+ },
29
+ "./mongo": {
30
+ "types": "./build/mongo/index.d.ts",
31
+ "default": "./build/mongo/index.js"
32
+ },
33
+ "./server": {
34
+ "types": "./build/server/index.d.ts",
35
+ "default": "./build/server/index.js"
36
+ }
17
37
  },
18
- "homepage": "https://github.com/softkave/softkave-js-utils",
19
- "main": "build/src/index.js",
20
- "types": "build/src/index.d.ts",
21
38
  "files": [
22
- "build/src/{*.js,**/*.js}",
23
- "build/src/{*.js.map,**/*.js.map}",
24
- "build/src/{*.d.ts,**/*.d.ts}",
25
- "!build/src/**/__tests__/**/*",
26
- "!build/src/**/__test__/**/*"
39
+ "build/{*.js,**/*.js}",
40
+ "build/{*.cjs,**/*.cjs}",
41
+ "build/{*.js.map,**/*.js.map}",
42
+ "build/{*.cjs.map,**/*.cjs.map}",
43
+ "build/{*.d.ts,**/*.d.ts}",
44
+ "!build/**/__tests__/**/*"
27
45
  ],
46
+ "engines": {
47
+ "node": ">=13"
48
+ },
28
49
  "scripts": {
29
- "test": "echo \"Error: no test specified\" && exit 1",
50
+ "test": "vitest run --config ./vitest.config.ts",
30
51
  "lint": "gts lint",
31
- "clean": "gts clean",
32
- "compile": "tsc",
52
+ "clean": "gts clean && rm -f tsconfig.tsbuildinfo",
53
+ "compile": "npm run clean && tsc",
33
54
  "fix": "gts fix",
34
- "prepare": "npm run compile",
35
55
  "pretest": "npm run compile",
36
56
  "posttest": "npm run lint",
37
- "check-circular-deps": "npx dpdm --no-warning --no-tree ./src/index.ts",
38
- "publish-to-npm": "npm run compile && npm publish",
39
- "show-packlist": "npm run compile && npm pack --dry-run"
57
+ "check:circular-deps": "npx dpdm --no-warning --no-tree 'src/**/*.*'",
58
+ "show:packlist": "npm run compile && npm pack --dry-run",
59
+ "publish:npm": "npm run compile && npm publish",
60
+ "publish:yalc": "npm run compile && yalc publish"
61
+ },
62
+ "peerDependencies": {
63
+ "@types/lodash-es": "^4.17.12",
64
+ "@types/node": "^20",
65
+ "fimidx": "^0.5.0",
66
+ "lodash-es": "^4.17.21",
67
+ "next": "15.2.0",
68
+ "softkave-js-utils": "^0.17.1",
69
+ "zod": "^4.1.11"
40
70
  },
41
71
  "devDependencies": {
42
- "@faker-js/faker": "^8.4.1",
43
- "@types/config": "^3.3.4",
44
- "@types/express": "^4.17.21",
45
- "@types/fs-extra": "^11.0.4",
46
- "@types/jest": "^29.5.12",
47
- "@types/jsonwebtoken": "^9.0.6",
48
- "@types/lodash": "^4.17.0",
49
- "@types/node": "20.8.2",
50
- "gts": "^5.2.0",
51
- "jest": "^29.7.0",
52
- "ts-jest": "^29.1.2",
53
- "typescript": "~5.2.0"
72
+ "@types/jsonwebtoken": "^9.0.10",
73
+ "@typescript-eslint/eslint-plugin": "^6.13.2",
74
+ "@typescript-eslint/parser": "^6.13.2",
75
+ "gts": "^6.0.2",
76
+ "prettier": "^3.6.2",
77
+ "typescript": "^5.9.3"
54
78
  },
55
79
  "dependencies": {
56
- "@aws-sdk/client-secrets-manager": "^3.549.0",
57
- "@aws-sdk/client-sesv2": "^3.549.0",
58
- "config": "^3.3.11",
59
- "date-fns": "^3.6.0",
60
- "express": "^4.19.2",
61
- "fs-extra": "^11.2.0",
62
- "joi": "^17.12.3",
63
- "js-accessor": "^1.1.0",
64
80
  "jsonwebtoken": "^9.0.2",
65
- "lodash": "^4.17.21",
66
- "mongoose": "^8.1.1",
67
- "nanoid": "^5.0.7",
68
- "softkave-js-utils": "^0.3.1",
69
- "tsyringe": "^4.8.0",
70
- "type-fest": "^4.15.0"
81
+ "mongoose": "^8.19.0",
82
+ "uuid": "^13.0.0"
71
83
  }
72
84
  }
@@ -1,15 +0,0 @@
1
- import { BaseTokenData, TokenAccessScope, TokenSubjectDefault } from '../definitions/token';
2
- export interface SessionContextType {
3
- decodeToken: (token: string) => BaseTokenData<TokenSubjectDefault>;
4
- tokenContainsScope: (tokenData: {
5
- scope: string[];
6
- }, expectedTokenScopes: TokenAccessScope | TokenAccessScope[]) => boolean;
7
- encodeToken: (tokenId: string, expires?: string | Date | number | null, issuedAt?: string | Date | number | null) => string;
8
- }
9
- export default class SessionContext implements SessionContextType {
10
- decodeToken: (token: string) => BaseTokenData<TokenSubjectDefault>;
11
- tokenContainsScope: (tokenData: {
12
- scope: string[];
13
- }, expectedTokenScopes: TokenAccessScope | TokenAccessScope[]) => boolean;
14
- encodeToken: (tokenId: string, expires?: string | Date | number | null, issuedAt?: string | Date | number | null) => string;
15
- }
@@ -1,70 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
- Object.defineProperty(o, "default", { enumerable: true, value: v });
15
- }) : function(o, v) {
16
- o["default"] = v;
17
- });
18
- var __importStar = (this && this.__importStar) || function (mod) {
19
- if (mod && mod.__esModule) return mod;
20
- var result = {};
21
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
22
- __setModuleDefault(result, mod);
23
- return result;
24
- };
25
- Object.defineProperty(exports, "__esModule", { value: true });
26
- const date_fns_1 = require("date-fns");
27
- const jwt = __importStar(require("jsonwebtoken"));
28
- const lodash_1 = require("lodash");
29
- const softkave_js_utils_1 = require("softkave-js-utils");
30
- const token_1 = require("../definitions/token");
31
- const assertion_1 = require("../utils/assertion");
32
- const injectables_1 = require("./injection/injectables");
33
- const sessionErrors_1 = require("../errors/sessionErrors");
34
- class SessionContext {
35
- constructor() {
36
- this.decodeToken = (token) => {
37
- const suppliedConfig = injectables_1.kUtilsInjectables.suppliedConfig();
38
- (0, assertion_1.appAssert)(suppliedConfig.jwtSecret);
39
- const tokenData = (0, softkave_js_utils_1.cast)(jwt.verify(token, suppliedConfig.jwtSecret, { complete: false }));
40
- if (tokenData.version < token_1.kCurrentJWTTokenVersion) {
41
- throw new sessionErrors_1.CredentialsExpiredError();
42
- }
43
- return tokenData;
44
- };
45
- this.tokenContainsScope = (tokenData, expectedTokenScopes) => {
46
- var _a;
47
- const tokenScopes = (_a = tokenData.scope) !== null && _a !== void 0 ? _a : [];
48
- const expectedTokenScopesMap = (0, softkave_js_utils_1.indexArray)((0, softkave_js_utils_1.convertToArray)(expectedTokenScopes), { reducer: () => true, indexer: lodash_1.identity });
49
- const hasTokenAccessScope = !!tokenScopes.find(nextScope => expectedTokenScopesMap[nextScope]);
50
- return hasTokenAccessScope;
51
- };
52
- this.encodeToken = (tokenId, expires, issuedAt) => {
53
- const suppliedConfig = injectables_1.kUtilsInjectables.suppliedConfig();
54
- (0, assertion_1.appAssert)(suppliedConfig.jwtSecret);
55
- const payload = {
56
- version: token_1.kCurrentJWTTokenVersion,
57
- sub: { id: tokenId },
58
- };
59
- if (expires) {
60
- payload.exp = (0, date_fns_1.millisecondsToSeconds)((0, date_fns_1.toDate)(expires).valueOf());
61
- }
62
- if (issuedAt) {
63
- payload.iat = (0, date_fns_1.millisecondsToSeconds)((0, date_fns_1.toDate)(issuedAt).valueOf());
64
- }
65
- return jwt.sign(payload, suppliedConfig.jwtSecret);
66
- };
67
- }
68
- }
69
- exports.default = SessionContext;
70
- //# sourceMappingURL=SessionContext.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"SessionContext.js","sourceRoot":"","sources":["../../../src/contexts/SessionContext.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uCAAuD;AACvD,kDAAoC;AACpC,mCAAgC;AAChC,yDAAmE;AACnE,gDAK8B;AAC9B,kDAA6C;AAC7C,yDAA0D;AAC1D,2DAAgE;AAehE,MAAqB,cAAc;IAAnC;QACE,gBAAW,GAAG,CAAC,KAAa,EAAE,EAAE;YAC9B,MAAM,cAAc,GAAG,+BAAiB,CAAC,cAAc,EAAE,CAAC;YAC1D,IAAA,qBAAS,EAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEpC,MAAM,SAAS,GAAG,IAAA,wBAAI,EACpB,GAAG,CAAC,MAAM,CAAC,KAAK,EAAE,cAAc,CAAC,SAAS,EAAE,EAAC,QAAQ,EAAE,KAAK,EAAC,CAAC,CAC/D,CAAC;YAEF,IAAI,SAAS,CAAC,OAAO,GAAG,+BAAuB,EAAE;gBAC/C,MAAM,IAAI,uCAAuB,EAAE,CAAC;aACrC;YAED,OAAO,SAAS,CAAC;QACnB,CAAC,CAAC;QAEF,uBAAkB,GAAG,CACnB,SAA4B,EAC5B,mBAA0D,EAC1D,EAAE;;YACF,MAAM,WAAW,GAAG,MAAA,SAAS,CAAC,KAAK,mCAAI,EAAE,CAAC;YAC1C,MAAM,sBAAsB,GAAG,IAAA,8BAAU,EACvC,IAAA,kCAAc,EAAC,mBAAmB,CAAC,EACnC,EAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,iBAAQ,EAAC,CACzC,CAAC;YACF,MAAM,mBAAmB,GAAG,CAAC,CAAC,WAAW,CAAC,IAAI,CAC5C,SAAS,CAAC,EAAE,CAAC,sBAAsB,CAAC,SAAS,CAAC,CAC/C,CAAC;YACF,OAAO,mBAAmB,CAAC;QAC7B,CAAC,CAAC;QAEF,gBAAW,GAAG,CACZ,OAAe,EACf,OAAuC,EACvC,QAAwC,EACxC,EAAE;YACF,MAAM,cAAc,GAAG,+BAAiB,CAAC,cAAc,EAAE,CAAC;YAC1D,IAAA,qBAAS,EAAC,cAAc,CAAC,SAAS,CAAC,CAAC;YAEpC,MAAM,OAAO,GAAgD;gBAC3D,OAAO,EAAE,+BAAuB;gBAChC,GAAG,EAAE,EAAC,EAAE,EAAE,OAAO,EAAC;aACnB,CAAC;YAEF,IAAI,OAAO,EAAE;gBACX,OAAO,CAAC,GAAG,GAAG,IAAA,gCAAqB,EAAC,IAAA,iBAAM,EAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aAChE;YAED,IAAI,QAAQ,EAAE;gBACZ,OAAO,CAAC,GAAG,GAAG,IAAA,gCAAqB,EAAC,IAAA,iBAAM,EAAC,QAAQ,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC;aACjE;YAED,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,SAAS,CAAC,CAAC;QACrD,CAAC,CAAC;IACJ,CAAC;CAAA;AAtDD,iCAsDC"}
@@ -1,27 +0,0 @@
1
- /// <reference types="node" />
2
- import { AsyncLocalStorage } from 'async_hooks';
3
- import { AnyFn, AnyObject, DisposablesStore } from 'softkave-js-utils';
4
- import { ReadonlyDeep } from 'type-fest';
5
- export type FimidaraAsyncLocalStorageStore = Record<string, unknown>;
6
- export type FimidaraAsyncLocalStorage = AsyncLocalStorage<FimidaraAsyncLocalStorageStore>;
7
- export interface AsyncLocalStorageUtils {
8
- run: <TFn extends AnyFn>(cb: TFn, store?: AnyObject) => Promise<ReturnType<TFn>>;
9
- inheritAndRun: <TFn extends AnyFn>(cb: TFn, store?: AnyObject) => Promise<ReturnType<TFn>>;
10
- get: <T = unknown>(key: string) => T | undefined;
11
- getStore: () => ReadonlyDeep<AnyObject>;
12
- set: <T = unknown>(key: string, value: T) => T;
13
- /** Set if `key` does not exist in store, or use `run()` inheriting parent
14
- * store to shadow set `key`. Shadow setting means shadow keys are stored in a
15
- * separate store so they don't collide, but other keys are store in the
16
- * closest real parent store. */
17
- shadowSet: <TFn extends AnyFn>(key: string, value: unknown, cb: TFn) => Promise<ReturnType<TFn>>;
18
- /** Like `shadowSet` but creates a shadow store whether key exists or not. */
19
- shadowSetForce: <TFn extends AnyFn>(key: string, value: unknown, cb: TFn) => Promise<ReturnType<TFn>>;
20
- delete: (key: string) => void;
21
- disposables: () => DisposablesStore;
22
- }
23
- export declare const kAsyncLocalStorageUtils: AsyncLocalStorageUtils;
24
- export declare const kAsyncLocalStorageKeys: {
25
- txn: string;
26
- disposables: string;
27
- };
@@ -1,115 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.kAsyncLocalStorageKeys = exports.kAsyncLocalStorageUtils = void 0;
4
- const async_hooks_1 = require("async_hooks");
5
- const lodash_1 = require("lodash");
6
- const softkave_js_utils_1 = require("softkave-js-utils");
7
- const injectables_1 = require("./injection/injectables");
8
- const asyncLocalStorage = new async_hooks_1.AsyncLocalStorage();
9
- const kInternalKeys = {
10
- realStore: Symbol.for('realStore'),
11
- };
12
- function getAsyncLocalStore() {
13
- var _a;
14
- return (_a = asyncLocalStorage.getStore()) !== null && _a !== void 0 ? _a : {};
15
- }
16
- function startShadowStore(realStore) {
17
- const shadowStore = {};
18
- shadowStore[kInternalKeys.realStore] = realStore;
19
- return shadowStore;
20
- }
21
- /** Returns immedaite real store from shadow store. The real store returned may
22
- * itself be a shadow of another store. */
23
- function getImmediateRealStore(shadowStore) {
24
- return shadowStore ? shadowStore[kInternalKeys.realStore] : undefined;
25
- }
26
- function shadowGet(store, key) {
27
- let item;
28
- for (; store && !item; store = getImmediateRealStore(store)) {
29
- item = (0, lodash_1.get)(store, key);
30
- }
31
- return item;
32
- }
33
- function getDeepestRealStore(store) {
34
- let realStore;
35
- for (; store; store = getImmediateRealStore(store)) {
36
- realStore = store;
37
- }
38
- return realStore;
39
- }
40
- function shadowSet(store, key, value) {
41
- const realStore = getDeepestRealStore(store);
42
- if (realStore) {
43
- (0, lodash_1.set)(realStore, key, value);
44
- }
45
- }
46
- function shadowDelete(store, key) {
47
- const realStore = getDeepestRealStore(store);
48
- if (realStore) {
49
- delete realStore[key];
50
- }
51
- }
52
- function isShadowStore(store) {
53
- return !!getImmediateRealStore(store);
54
- }
55
- exports.kAsyncLocalStorageUtils = {
56
- run: (cb, store = {}) => {
57
- return asyncLocalStorage.run(store, async () => {
58
- try {
59
- return await cb();
60
- }
61
- finally {
62
- if (!isShadowStore(getAsyncLocalStore())) {
63
- exports.kAsyncLocalStorageUtils.disposables().disposeAll();
64
- }
65
- }
66
- });
67
- },
68
- inheritAndRun: (cb, store = {}) => {
69
- return exports.kAsyncLocalStorageUtils.run(cb, (0, softkave_js_utils_1.mergeObjects)(store, getAsyncLocalStore(), {
70
- arrayUpdateStrategy: 'replace',
71
- }));
72
- },
73
- get: (key) => {
74
- var _a;
75
- return shadowGet((_a = asyncLocalStorage.getStore()) !== null && _a !== void 0 ? _a : {}, key);
76
- },
77
- set: (key, value) => {
78
- var _a;
79
- shadowSet((_a = asyncLocalStorage.getStore()) !== null && _a !== void 0 ? _a : {}, key, value);
80
- return value;
81
- },
82
- delete: (key) => {
83
- var _a;
84
- // TODO: delete deep
85
- const store = (_a = asyncLocalStorage.getStore()) !== null && _a !== void 0 ? _a : {};
86
- shadowDelete(store, key);
87
- },
88
- disposables() {
89
- return (this.get(exports.kAsyncLocalStorageKeys.disposables) ||
90
- this.set(exports.kAsyncLocalStorageKeys.disposables, new softkave_js_utils_1.DisposablesStore(injectables_1.kUtilsInjectables.promises())));
91
- },
92
- getStore() {
93
- var _a;
94
- return (_a = asyncLocalStorage.getStore()) !== null && _a !== void 0 ? _a : {};
95
- },
96
- shadowSet: (key, value, cb) => {
97
- if (exports.kAsyncLocalStorageUtils.get(key)) {
98
- return exports.kAsyncLocalStorageUtils.shadowSetForce(key, value, cb);
99
- }
100
- else {
101
- exports.kAsyncLocalStorageUtils.set(key, value);
102
- return cb();
103
- }
104
- },
105
- shadowSetForce: async (key, value, cb) => {
106
- const shadowStore = startShadowStore(getAsyncLocalStore());
107
- (0, lodash_1.set)(shadowStore, key, value);
108
- return await exports.kAsyncLocalStorageUtils.run(cb, shadowStore);
109
- },
110
- };
111
- exports.kAsyncLocalStorageKeys = {
112
- txn: 'txn',
113
- disposables: 'disposables',
114
- };
115
- //# sourceMappingURL=asyncLocalStorage.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"asyncLocalStorage.js","sourceRoot":"","sources":["../../../src/contexts/asyncLocalStorage.ts"],"names":[],"mappings":"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"}
@@ -1,49 +0,0 @@
1
- import { LoggerType } from 'softkave-js-utils';
2
- import { ValueOf } from 'type-fest';
3
- import { AWSConfig } from '../utils/aws';
4
- export declare const kFimidaraConfigEmailProvider: {
5
- readonly ses: "ses";
6
- readonly noop: "noop";
7
- };
8
- export type FimidaraConfigEmailProvider = ValueOf<typeof kFimidaraConfigEmailProvider>;
9
- export declare const kFimidaraConfigSecretsManagerProvider: {
10
- readonly awsSecretsManager: "awsSecretsManager";
11
- readonly memory: "memory";
12
- };
13
- export type FimidaraConfigSecretsManagerProvider = ValueOf<typeof kFimidaraConfigSecretsManagerProvider>;
14
- export declare const kFimidaraConfigDbType: {
15
- readonly mongoDb: "mongoDb";
16
- readonly noop: "noop";
17
- };
18
- export type FimidaraConfigDbType = ValueOf<typeof kFimidaraConfigDbType>;
19
- export type FimidaraSuppliedConfig = Partial<{
20
- clientDomain: string;
21
- dbType: FimidaraConfigDbType;
22
- mongoDbURI: string;
23
- mongoDbDatabaseName: string;
24
- jwtSecret: string;
25
- exposeHttpServer: boolean;
26
- httpPort: string;
27
- exposeHttpsServer: boolean;
28
- httpsPort: string;
29
- httpsPublicKeyFilepath: string;
30
- httpsPrivateKeyFilepath: string;
31
- emailProvider: FimidaraConfigEmailProvider;
32
- secretsManagerProvider: FimidaraConfigSecretsManagerProvider;
33
- awsConfig: AWSConfig;
34
- appName: string;
35
- appDefaultEmailAddressFrom: string;
36
- awsEmailEncoding: string;
37
- dateFormat: string;
38
- clientLoginLink: string;
39
- clientSignupLink: string;
40
- changePasswordLink: string;
41
- verifyEmailLink: string;
42
- test: {
43
- awsConfig?: AWSConfig;
44
- bucket?: string;
45
- };
46
- loggerType: LoggerType;
47
- }>;
48
- export type FimidaraConfig = FimidaraSuppliedConfig;
49
- export declare function getSuppliedConfig(): FimidaraSuppliedConfig;
@@ -1,25 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.getSuppliedConfig = exports.kFimidaraConfigDbType = exports.kFimidaraConfigSecretsManagerProvider = exports.kFimidaraConfigEmailProvider = void 0;
7
- const config_1 = __importDefault(require("config"));
8
- exports.kFimidaraConfigEmailProvider = {
9
- ses: 'ses',
10
- noop: 'noop',
11
- };
12
- exports.kFimidaraConfigSecretsManagerProvider = {
13
- awsSecretsManager: 'awsSecretsManager',
14
- memory: 'memory',
15
- };
16
- exports.kFimidaraConfigDbType = {
17
- mongoDb: 'mongoDb',
18
- noop: 'noop',
19
- };
20
- function getSuppliedConfig() {
21
- const envSuppliedConfig = config_1.default.util.toObject();
22
- return envSuppliedConfig;
23
- }
24
- exports.getSuppliedConfig = getSuppliedConfig;
25
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/contexts/config.ts"],"names":[],"mappings":";;;;;;AAAA,oDAA4B;AAKf,QAAA,4BAA4B,GAAG;IAC1C,GAAG,EAAE,KAAK;IACV,IAAI,EAAE,MAAM;CACJ,CAAC;AAME,QAAA,qCAAqC,GAAG;IACnD,iBAAiB,EAAE,mBAAmB;IACtC,MAAM,EAAE,QAAQ;CACR,CAAC;AAME,QAAA,qBAAqB,GAAG;IACnC,OAAO,EAAE,SAAS;IAClB,IAAI,EAAE,MAAM;CACJ,CAAC;AAoCX,SAAgB,iBAAiB;IAC/B,MAAM,iBAAiB,GAAG,gBAAM,CAAC,IAAI,CAAC,QAAQ,EAAE,CAAC;IACjD,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAHD,8CAGC"}
@@ -1,21 +0,0 @@
1
- import { AnyObject, Model } from 'mongoose';
2
- import { BaseDataProvider, BulkOpItem, DataProviderOpParams, DataProviderQueryListParams, DataProviderQueryParams, DataQuery } from './types';
3
- export declare abstract class BaseMongoDataProvider<T extends AnyObject, TQuery extends DataQuery<AnyObject> = DataQuery<T>> implements BaseDataProvider<T, TQuery> {
4
- abstract throwNotFound: () => void;
5
- model: Model<T>;
6
- constructor(model: Model<T>);
7
- insertItem: (item: T, otherProps?: DataProviderOpParams | undefined) => Promise<T>;
8
- insertList: (items: T[], otherProps?: DataProviderOpParams | undefined) => Promise<void>;
9
- getManyByQuery: (query: TQuery, otherProps?: DataProviderQueryListParams<T> | undefined) => Promise<T[]>;
10
- getOneByQuery: (query: TQuery, otherProps?: DataProviderQueryParams<T> | undefined) => Promise<T | null>;
11
- assertGetOneByQuery: (query: TQuery, otherProps?: DataProviderQueryParams<T> | undefined) => Promise<T>;
12
- updateManyByQuery: (query: TQuery, data: Partial<T>, otherProps?: DataProviderOpParams | undefined) => Promise<void>;
13
- updateOneByQuery: (query: TQuery, data: Partial<T>, otherProps?: DataProviderOpParams | undefined) => Promise<void>;
14
- getAndUpdateOneByQuery: (query: TQuery, data: Partial<T>, otherProps?: DataProviderQueryParams<T> | undefined) => Promise<T>;
15
- assertGetAndUpdateOneByQuery: (query: TQuery, data: Partial<T>, otherProps?: DataProviderQueryParams<T> | undefined) => Promise<T>;
16
- existsByQuery: <ExtendedQueryType extends TQuery = TQuery>(query: ExtendedQueryType, otherProps?: DataProviderOpParams | undefined) => Promise<boolean>;
17
- countByQuery: <ExtendedQueryType extends TQuery = TQuery>(query: ExtendedQueryType, otherProps?: DataProviderOpParams | undefined) => Promise<number>;
18
- deleteManyByQuery: <ExtendedQueryType extends TQuery = TQuery>(query: ExtendedQueryType, otherProps?: DataProviderOpParams | undefined) => Promise<void>;
19
- deleteOneByQuery: <ExtendedQueryType extends TQuery = TQuery>(query: ExtendedQueryType, otherProps?: DataProviderOpParams | undefined) => Promise<void>;
20
- bulkWrite(ops: BulkOpItem<T>[], otherProps?: DataProviderOpParams | undefined): Promise<void>;
21
- }
@@ -1,157 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.BaseMongoDataProvider = void 0;
4
- const lodash_1 = require("lodash");
5
- const types_1 = require("./types");
6
- // eslint-disable-next-line node/no-extraneous-import
7
- const dataQueryToMongoQuery_1 = require("./dataQueryToMongoQuery");
8
- const utils_1 = require("./utils");
9
- function getMongoQueryOptionsForOp(params) {
10
- return { session: params === null || params === void 0 ? void 0 : params.txn, lean: true };
11
- }
12
- function getMongoBulkWriteOptions(params) {
13
- return { session: params === null || params === void 0 ? void 0 : params.txn };
14
- }
15
- function getMongoQueryOptionsForOne(
16
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
17
- params) {
18
- return { ...getMongoQueryOptionsForOp(params), projection: params === null || params === void 0 ? void 0 : params.projection };
19
- }
20
- function getMongoQueryOptionsForMany(
21
- // eslint-disable-next-line @typescript-eslint/no-explicit-any
22
- params) {
23
- const page = (0, utils_1.getPage)(params === null || params === void 0 ? void 0 : params.page);
24
- const pageSize = (0, utils_1.getPageSize)(params === null || params === void 0 ? void 0 : params.pageSize, page);
25
- const skip = (0, lodash_1.isNumber)(page) && (0, lodash_1.isNumber)(pageSize)
26
- ? Math.max(page, 0) * pageSize
27
- : undefined;
28
- return {
29
- ...getMongoQueryOptionsForOp(params),
30
- skip,
31
- limit: pageSize,
32
- projection: params === null || params === void 0 ? void 0 : params.projection,
33
- sort: params === null || params === void 0 ? void 0 : params.sort,
34
- };
35
- }
36
- class BaseMongoDataProvider {
37
- constructor(model) {
38
- this.insertItem = async (item, otherProps) => {
39
- await this.insertList([item], otherProps);
40
- return item;
41
- };
42
- this.insertList = async (items, otherProps) => {
43
- await this.model.insertMany(items, getMongoQueryOptionsForOp(otherProps));
44
- };
45
- this.getManyByQuery = async (query, otherProps) => {
46
- const mongoQuery = (0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(query);
47
- const items = await this.model
48
- .find(mongoQuery, otherProps === null || otherProps === void 0 ? void 0 : otherProps.projection, getMongoQueryOptionsForMany(otherProps))
49
- .lean()
50
- .exec();
51
- return items;
52
- };
53
- this.getOneByQuery = async (query, otherProps) => {
54
- const opts = getMongoQueryOptionsForOne(otherProps);
55
- const mQuery = (0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(query);
56
- const item = await this.model
57
- .findOne(mQuery, opts.projection, opts)
58
- .lean()
59
- .exec();
60
- return item;
61
- };
62
- this.assertGetOneByQuery = async (query, otherProps) => {
63
- const item = await this.getOneByQuery(query, otherProps);
64
- if (!item)
65
- this.throwNotFound();
66
- return item;
67
- };
68
- this.updateManyByQuery = async (query, data, otherProps) => {
69
- await this.model
70
- .updateMany((0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(query), data, getMongoQueryOptionsForOp(otherProps))
71
- .exec();
72
- };
73
- this.updateOneByQuery = async (query, data, otherProps) => {
74
- await this.model
75
- .updateOne((0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(query), data, getMongoQueryOptionsForOp(otherProps))
76
- .exec();
77
- };
78
- this.getAndUpdateOneByQuery = async (query, data, otherProps) => {
79
- const item = await this.model
80
- .findOneAndUpdate((0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(query), data, {
81
- ...getMongoQueryOptionsForOne(otherProps),
82
- new: true,
83
- })
84
- .exec();
85
- return item;
86
- };
87
- this.assertGetAndUpdateOneByQuery = async (query, data, otherProps) => {
88
- const item = await this.getAndUpdateOneByQuery(query, data, otherProps);
89
- if (!item)
90
- this.throwNotFound();
91
- return item;
92
- };
93
- this.existsByQuery = async (query, otherProps) => {
94
- return !!(await this.getOneByQuery(query, {
95
- ...otherProps,
96
- projection: '_id',
97
- }));
98
- };
99
- this.countByQuery = async (query, otherProps) => {
100
- return await this.model
101
- .countDocuments((0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(query), getMongoQueryOptionsForOp(otherProps))
102
- .exec();
103
- };
104
- this.deleteManyByQuery = async (query, otherProps) => {
105
- await this.model
106
- .deleteMany((0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(query), getMongoQueryOptionsForOp(otherProps))
107
- .exec();
108
- };
109
- this.deleteOneByQuery = async (query, otherProps) => {
110
- await this.model
111
- .deleteOne((0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(query), getMongoQueryOptionsForOp(otherProps))
112
- .exec();
113
- };
114
- this.model = model;
115
- }
116
- async bulkWrite(ops, otherProps) {
117
- const mongoOps = [];
118
- ops.forEach(op => {
119
- let mongoOp = null;
120
- switch (op.type) {
121
- case types_1.BulkOpType.InsertOne:
122
- mongoOp = { insertOne: { document: op.item } };
123
- break;
124
- case types_1.BulkOpType.UpdateOne:
125
- mongoOp = {
126
- updateOne: {
127
- filter: (0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(op.query),
128
- update: op.update,
129
- upsert: op.upsert,
130
- },
131
- };
132
- break;
133
- case types_1.BulkOpType.UpdateMany:
134
- mongoOp = {
135
- updateMany: {
136
- filter: (0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(op.query),
137
- update: op.update,
138
- },
139
- };
140
- break;
141
- case types_1.BulkOpType.DeleteOne:
142
- mongoOp = { deleteOne: { filter: (0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(op.query) } };
143
- break;
144
- case types_1.BulkOpType.DeleteMany:
145
- mongoOp = { deleteMany: { filter: (0, dataQueryToMongoQuery_1.dataQueryToMongoQuery)(op.query) } };
146
- break;
147
- default: // do nothing
148
- }
149
- if (mongoOp) {
150
- mongoOps.push(mongoOp);
151
- }
152
- });
153
- await this.model.bulkWrite(mongoOps, getMongoBulkWriteOptions(otherProps));
154
- }
155
- }
156
- exports.BaseMongoDataProvider = BaseMongoDataProvider;
157
- //# sourceMappingURL=BaseMongoDataProvider.js.map