@metamask-previews/profile-sync-controller 5.0.0-preview-33c13522 → 5.0.0-preview-59b4e66e

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 (236) hide show
  1. package/CHANGELOG.md +6 -0
  2. package/dist/controllers/authentication/AuthenticationController.cjs.map +1 -1
  3. package/dist/controllers/authentication/AuthenticationController.mjs.map +1 -1
  4. package/dist/controllers/authentication/__fixtures__/mockResponses.cjs +0 -5
  5. package/dist/controllers/authentication/__fixtures__/mockResponses.cjs.map +1 -1
  6. package/dist/controllers/authentication/__fixtures__/mockResponses.d.cts.map +1 -1
  7. package/dist/controllers/authentication/__fixtures__/mockResponses.d.mts.map +1 -1
  8. package/dist/controllers/authentication/__fixtures__/mockResponses.mjs +0 -5
  9. package/dist/controllers/authentication/__fixtures__/mockResponses.mjs.map +1 -1
  10. package/dist/controllers/authentication/services.cjs +0 -2
  11. package/dist/controllers/authentication/services.cjs.map +1 -1
  12. package/dist/controllers/authentication/services.d.cts +5 -3
  13. package/dist/controllers/authentication/services.d.cts.map +1 -1
  14. package/dist/controllers/authentication/services.d.mts +5 -3
  15. package/dist/controllers/authentication/services.d.mts.map +1 -1
  16. package/dist/controllers/authentication/services.mjs +0 -2
  17. package/dist/controllers/authentication/services.mjs.map +1 -1
  18. package/dist/controllers/user-storage/UserStorageController.cjs +5 -2
  19. package/dist/controllers/user-storage/UserStorageController.cjs.map +1 -1
  20. package/dist/controllers/user-storage/UserStorageController.d.cts +4 -0
  21. package/dist/controllers/user-storage/UserStorageController.d.cts.map +1 -1
  22. package/dist/controllers/user-storage/UserStorageController.d.mts +4 -0
  23. package/dist/controllers/user-storage/UserStorageController.d.mts.map +1 -1
  24. package/dist/controllers/user-storage/UserStorageController.mjs +5 -2
  25. package/dist/controllers/user-storage/UserStorageController.mjs.map +1 -1
  26. package/dist/controllers/user-storage/__fixtures__/mockMessenger.cjs +2 -0
  27. package/dist/controllers/user-storage/__fixtures__/mockMessenger.cjs.map +1 -1
  28. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.cts +2 -0
  29. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.cts.map +1 -1
  30. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.mts +2 -0
  31. package/dist/controllers/user-storage/__fixtures__/mockMessenger.d.mts.map +1 -1
  32. package/dist/controllers/user-storage/__fixtures__/mockMessenger.mjs +2 -0
  33. package/dist/controllers/user-storage/__fixtures__/mockMessenger.mjs.map +1 -1
  34. package/dist/controllers/user-storage/__fixtures__/mockResponses.cjs +5 -1
  35. package/dist/controllers/user-storage/__fixtures__/mockResponses.cjs.map +1 -1
  36. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.cts +4 -0
  37. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.cts.map +1 -1
  38. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.mts +4 -0
  39. package/dist/controllers/user-storage/__fixtures__/mockResponses.d.mts.map +1 -1
  40. package/dist/controllers/user-storage/__fixtures__/mockResponses.mjs +5 -1
  41. package/dist/controllers/user-storage/__fixtures__/mockResponses.mjs.map +1 -1
  42. package/dist/controllers/user-storage/__fixtures__/mockServices.cjs +1 -1
  43. package/dist/controllers/user-storage/__fixtures__/mockServices.cjs.map +1 -1
  44. package/dist/controllers/user-storage/__fixtures__/mockServices.d.cts.map +1 -1
  45. package/dist/controllers/user-storage/__fixtures__/mockServices.d.mts.map +1 -1
  46. package/dist/controllers/user-storage/__fixtures__/mockServices.mjs +1 -1
  47. package/dist/controllers/user-storage/__fixtures__/mockServices.mjs.map +1 -1
  48. package/dist/controllers/user-storage/__fixtures__/test-utils.cjs +5 -2
  49. package/dist/controllers/user-storage/__fixtures__/test-utils.cjs.map +1 -1
  50. package/dist/controllers/user-storage/__fixtures__/test-utils.d.cts +3 -0
  51. package/dist/controllers/user-storage/__fixtures__/test-utils.d.cts.map +1 -1
  52. package/dist/controllers/user-storage/__fixtures__/test-utils.d.mts +3 -0
  53. package/dist/controllers/user-storage/__fixtures__/test-utils.d.mts.map +1 -1
  54. package/dist/controllers/user-storage/__fixtures__/test-utils.mjs +5 -2
  55. package/dist/controllers/user-storage/__fixtures__/test-utils.mjs.map +1 -1
  56. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.cjs +2 -0
  57. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.cjs.map +1 -1
  58. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.cts +1 -0
  59. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.cts.map +1 -1
  60. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.mts +1 -0
  61. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.d.mts.map +1 -1
  62. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.mjs +2 -0
  63. package/dist/controllers/user-storage/account-syncing/__fixtures__/mockAccounts.mjs.map +1 -1
  64. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.cjs +3 -1
  65. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.cjs.map +1 -1
  66. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.cts +2 -0
  67. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.cts.map +1 -1
  68. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.mts +2 -0
  69. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.d.mts.map +1 -1
  70. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.mjs +3 -1
  71. package/dist/controllers/user-storage/account-syncing/__fixtures__/test-utils.mjs.map +1 -1
  72. package/dist/controllers/user-storage/account-syncing/controller-integration.cjs +4 -2
  73. package/dist/controllers/user-storage/account-syncing/controller-integration.cjs.map +1 -1
  74. package/dist/controllers/user-storage/account-syncing/controller-integration.d.cts +3 -0
  75. package/dist/controllers/user-storage/account-syncing/controller-integration.d.cts.map +1 -1
  76. package/dist/controllers/user-storage/account-syncing/controller-integration.d.mts +3 -0
  77. package/dist/controllers/user-storage/account-syncing/controller-integration.d.mts.map +1 -1
  78. package/dist/controllers/user-storage/account-syncing/controller-integration.mjs +4 -2
  79. package/dist/controllers/user-storage/account-syncing/controller-integration.mjs.map +1 -1
  80. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.cjs +3 -6
  81. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.cjs.map +1 -1
  82. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.d.cts +1 -0
  83. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.d.cts.map +1 -1
  84. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.d.mts +1 -0
  85. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.d.mts.map +1 -1
  86. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.mjs +3 -6
  87. package/dist/controllers/user-storage/account-syncing/setup-subscriptions.mjs.map +1 -1
  88. package/dist/controllers/user-storage/account-syncing/sync-utils.cjs +6 -2
  89. package/dist/controllers/user-storage/account-syncing/sync-utils.cjs.map +1 -1
  90. package/dist/controllers/user-storage/account-syncing/sync-utils.d.cts +5 -0
  91. package/dist/controllers/user-storage/account-syncing/sync-utils.d.cts.map +1 -1
  92. package/dist/controllers/user-storage/account-syncing/sync-utils.d.mts +5 -0
  93. package/dist/controllers/user-storage/account-syncing/sync-utils.d.mts.map +1 -1
  94. package/dist/controllers/user-storage/account-syncing/sync-utils.mjs +6 -2
  95. package/dist/controllers/user-storage/account-syncing/sync-utils.mjs.map +1 -1
  96. package/dist/controllers/user-storage/account-syncing/types.cjs.map +1 -1
  97. package/dist/controllers/user-storage/account-syncing/types.d.cts +1 -1
  98. package/dist/controllers/user-storage/account-syncing/types.d.cts.map +1 -1
  99. package/dist/controllers/user-storage/account-syncing/types.d.mts +1 -1
  100. package/dist/controllers/user-storage/account-syncing/types.d.mts.map +1 -1
  101. package/dist/controllers/user-storage/account-syncing/types.mjs.map +1 -1
  102. package/dist/controllers/user-storage/account-syncing/utils.cjs +3 -1
  103. package/dist/controllers/user-storage/account-syncing/utils.cjs.map +1 -1
  104. package/dist/controllers/user-storage/account-syncing/utils.d.cts +2 -0
  105. package/dist/controllers/user-storage/account-syncing/utils.d.cts.map +1 -1
  106. package/dist/controllers/user-storage/account-syncing/utils.d.mts +2 -0
  107. package/dist/controllers/user-storage/account-syncing/utils.d.mts.map +1 -1
  108. package/dist/controllers/user-storage/account-syncing/utils.mjs +3 -1
  109. package/dist/controllers/user-storage/account-syncing/utils.mjs.map +1 -1
  110. package/dist/controllers/user-storage/network-syncing/add-network-utils.cjs +1 -0
  111. package/dist/controllers/user-storage/network-syncing/add-network-utils.cjs.map +1 -1
  112. package/dist/controllers/user-storage/network-syncing/add-network-utils.d.cts +1 -0
  113. package/dist/controllers/user-storage/network-syncing/add-network-utils.d.cts.map +1 -1
  114. package/dist/controllers/user-storage/network-syncing/add-network-utils.d.mts +1 -0
  115. package/dist/controllers/user-storage/network-syncing/add-network-utils.d.mts.map +1 -1
  116. package/dist/controllers/user-storage/network-syncing/add-network-utils.mjs +1 -0
  117. package/dist/controllers/user-storage/network-syncing/add-network-utils.mjs.map +1 -1
  118. package/dist/controllers/user-storage/network-syncing/controller-integration.cjs +3 -3
  119. package/dist/controllers/user-storage/network-syncing/controller-integration.cjs.map +1 -1
  120. package/dist/controllers/user-storage/network-syncing/controller-integration.d.cts +2 -0
  121. package/dist/controllers/user-storage/network-syncing/controller-integration.d.cts.map +1 -1
  122. package/dist/controllers/user-storage/network-syncing/controller-integration.d.mts +2 -0
  123. package/dist/controllers/user-storage/network-syncing/controller-integration.d.mts.map +1 -1
  124. package/dist/controllers/user-storage/network-syncing/controller-integration.mjs +3 -3
  125. package/dist/controllers/user-storage/network-syncing/controller-integration.mjs.map +1 -1
  126. package/dist/controllers/user-storage/network-syncing/services.cjs +5 -0
  127. package/dist/controllers/user-storage/network-syncing/services.cjs.map +1 -1
  128. package/dist/controllers/user-storage/network-syncing/services.d.cts +5 -1
  129. package/dist/controllers/user-storage/network-syncing/services.d.cts.map +1 -1
  130. package/dist/controllers/user-storage/network-syncing/services.d.mts +5 -1
  131. package/dist/controllers/user-storage/network-syncing/services.d.mts.map +1 -1
  132. package/dist/controllers/user-storage/network-syncing/services.mjs +5 -0
  133. package/dist/controllers/user-storage/network-syncing/services.mjs.map +1 -1
  134. package/dist/controllers/user-storage/network-syncing/sync-all.cjs +1 -1
  135. package/dist/controllers/user-storage/network-syncing/sync-all.cjs.map +1 -1
  136. package/dist/controllers/user-storage/network-syncing/sync-all.d.cts.map +1 -1
  137. package/dist/controllers/user-storage/network-syncing/sync-all.d.mts.map +1 -1
  138. package/dist/controllers/user-storage/network-syncing/sync-all.mjs +1 -1
  139. package/dist/controllers/user-storage/network-syncing/sync-all.mjs.map +1 -1
  140. package/dist/controllers/user-storage/network-syncing/sync-mutations.cjs.map +1 -1
  141. package/dist/controllers/user-storage/network-syncing/sync-mutations.d.cts.map +1 -1
  142. package/dist/controllers/user-storage/network-syncing/sync-mutations.d.mts.map +1 -1
  143. package/dist/controllers/user-storage/network-syncing/sync-mutations.mjs.map +1 -1
  144. package/dist/controllers/user-storage/network-syncing/update-network-utils.cjs +3 -0
  145. package/dist/controllers/user-storage/network-syncing/update-network-utils.cjs.map +1 -1
  146. package/dist/controllers/user-storage/network-syncing/update-network-utils.d.cts +3 -0
  147. package/dist/controllers/user-storage/network-syncing/update-network-utils.d.cts.map +1 -1
  148. package/dist/controllers/user-storage/network-syncing/update-network-utils.d.mts +3 -0
  149. package/dist/controllers/user-storage/network-syncing/update-network-utils.d.mts.map +1 -1
  150. package/dist/controllers/user-storage/network-syncing/update-network-utils.mjs +3 -0
  151. package/dist/controllers/user-storage/network-syncing/update-network-utils.mjs.map +1 -1
  152. package/dist/controllers/user-storage/services.cjs +0 -1
  153. package/dist/controllers/user-storage/services.cjs.map +1 -1
  154. package/dist/controllers/user-storage/services.d.cts.map +1 -1
  155. package/dist/controllers/user-storage/services.d.mts.map +1 -1
  156. package/dist/controllers/user-storage/services.mjs +0 -1
  157. package/dist/controllers/user-storage/services.mjs.map +1 -1
  158. package/dist/controllers/user-storage/utils.cjs +2 -0
  159. package/dist/controllers/user-storage/utils.cjs.map +1 -1
  160. package/dist/controllers/user-storage/utils.d.cts +2 -0
  161. package/dist/controllers/user-storage/utils.d.cts.map +1 -1
  162. package/dist/controllers/user-storage/utils.d.mts +2 -0
  163. package/dist/controllers/user-storage/utils.d.mts.map +1 -1
  164. package/dist/controllers/user-storage/utils.mjs +2 -0
  165. package/dist/controllers/user-storage/utils.mjs.map +1 -1
  166. package/dist/sdk/__fixtures__/mock-auth.cjs +0 -15
  167. package/dist/sdk/__fixtures__/mock-auth.cjs.map +1 -1
  168. package/dist/sdk/__fixtures__/mock-auth.mjs +0 -15
  169. package/dist/sdk/__fixtures__/mock-auth.mjs.map +1 -1
  170. package/dist/sdk/__fixtures__/mock-userstorage.cjs +0 -2
  171. package/dist/sdk/__fixtures__/mock-userstorage.cjs.map +1 -1
  172. package/dist/sdk/__fixtures__/mock-userstorage.d.cts.map +1 -1
  173. package/dist/sdk/__fixtures__/mock-userstorage.d.mts.map +1 -1
  174. package/dist/sdk/__fixtures__/mock-userstorage.mjs +0 -2
  175. package/dist/sdk/__fixtures__/mock-userstorage.mjs.map +1 -1
  176. package/dist/sdk/__fixtures__/test-utils.cjs +2 -1
  177. package/dist/sdk/__fixtures__/test-utils.cjs.map +1 -1
  178. package/dist/sdk/__fixtures__/test-utils.d.cts +1 -0
  179. package/dist/sdk/__fixtures__/test-utils.d.cts.map +1 -1
  180. package/dist/sdk/__fixtures__/test-utils.d.mts +1 -0
  181. package/dist/sdk/__fixtures__/test-utils.d.mts.map +1 -1
  182. package/dist/sdk/__fixtures__/test-utils.mjs +2 -1
  183. package/dist/sdk/__fixtures__/test-utils.mjs.map +1 -1
  184. package/dist/sdk/authentication-jwt-bearer/flow-siwe.cjs +1 -1
  185. package/dist/sdk/authentication-jwt-bearer/flow-siwe.cjs.map +1 -1
  186. package/dist/sdk/authentication-jwt-bearer/flow-siwe.d.cts.map +1 -1
  187. package/dist/sdk/authentication-jwt-bearer/flow-siwe.d.mts.map +1 -1
  188. package/dist/sdk/authentication-jwt-bearer/flow-siwe.mjs +1 -1
  189. package/dist/sdk/authentication-jwt-bearer/flow-siwe.mjs.map +1 -1
  190. package/dist/sdk/authentication-jwt-bearer/flow-srp.cjs +1 -1
  191. package/dist/sdk/authentication-jwt-bearer/flow-srp.cjs.map +1 -1
  192. package/dist/sdk/authentication-jwt-bearer/flow-srp.d.cts.map +1 -1
  193. package/dist/sdk/authentication-jwt-bearer/flow-srp.d.mts.map +1 -1
  194. package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs +1 -1
  195. package/dist/sdk/authentication-jwt-bearer/flow-srp.mjs.map +1 -1
  196. package/dist/sdk/authentication-jwt-bearer/services.cjs +1 -2
  197. package/dist/sdk/authentication-jwt-bearer/services.cjs.map +1 -1
  198. package/dist/sdk/authentication-jwt-bearer/services.d.cts +1 -1
  199. package/dist/sdk/authentication-jwt-bearer/services.d.cts.map +1 -1
  200. package/dist/sdk/authentication-jwt-bearer/services.d.mts +1 -1
  201. package/dist/sdk/authentication-jwt-bearer/services.d.mts.map +1 -1
  202. package/dist/sdk/authentication-jwt-bearer/services.mjs +1 -2
  203. package/dist/sdk/authentication-jwt-bearer/services.mjs.map +1 -1
  204. package/dist/sdk/authentication.cjs +0 -3
  205. package/dist/sdk/authentication.cjs.map +1 -1
  206. package/dist/sdk/authentication.d.cts.map +1 -1
  207. package/dist/sdk/authentication.d.mts.map +1 -1
  208. package/dist/sdk/authentication.mjs +0 -3
  209. package/dist/sdk/authentication.mjs.map +1 -1
  210. package/dist/sdk/user-storage.cjs +1 -3
  211. package/dist/sdk/user-storage.cjs.map +1 -1
  212. package/dist/sdk/user-storage.d.cts +1 -1
  213. package/dist/sdk/user-storage.d.cts.map +1 -1
  214. package/dist/sdk/user-storage.d.mts +1 -1
  215. package/dist/sdk/user-storage.d.mts.map +1 -1
  216. package/dist/sdk/user-storage.mjs +1 -3
  217. package/dist/sdk/user-storage.mjs.map +1 -1
  218. package/dist/sdk/utils/eip-6963-metamask-provider.cjs +4 -4
  219. package/dist/sdk/utils/eip-6963-metamask-provider.cjs.map +1 -1
  220. package/dist/sdk/utils/eip-6963-metamask-provider.mjs +4 -4
  221. package/dist/sdk/utils/eip-6963-metamask-provider.mjs.map +1 -1
  222. package/dist/shared/encryption/constants.cjs +0 -2
  223. package/dist/shared/encryption/constants.cjs.map +1 -1
  224. package/dist/shared/encryption/constants.d.cts.map +1 -1
  225. package/dist/shared/encryption/constants.d.mts.map +1 -1
  226. package/dist/shared/encryption/constants.mjs +0 -2
  227. package/dist/shared/encryption/constants.mjs.map +1 -1
  228. package/dist/shared/encryption/encryption.cjs +1 -0
  229. package/dist/shared/encryption/encryption.cjs.map +1 -1
  230. package/dist/shared/encryption/encryption.d.cts +1 -0
  231. package/dist/shared/encryption/encryption.d.cts.map +1 -1
  232. package/dist/shared/encryption/encryption.d.mts +1 -0
  233. package/dist/shared/encryption/encryption.d.mts.map +1 -1
  234. package/dist/shared/encryption/encryption.mjs +1 -0
  235. package/dist/shared/encryption/encryption.mjs.map +1 -1
  236. package/package.json +6 -6
@@ -1 +1 @@
1
- {"version":3,"file":"services.mjs","sourceRoot":"","sources":["../../../src/controllers/user-storage/services.ts"],"names":[],"mappings":";;;;;;AAAA,OAAO,IAAG,iBAAiB;;AAE3B,OAAO,UAAU,EAAE,EAAE,gBAAgB,EAAE,0CAAgC;AACvE,OAAO,EAAE,WAAW,EAAE,8CAA0C;AAChE,OAAO,EAAE,GAAG,EAAE,UAAU,EAAE,6BAAyB;AAKnD,OAAO,EAAE,eAAe,EAAE,wCAAoC;AAG9D,MAAM,QAAQ,GAAG,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;AAErC,MAAM,CAAC,MAAM,gBAAgB,GAAW,QAAQ,CAAC,iBAAiB,CAAC;AACnE,MAAM,CAAC,MAAM,qBAAqB,GAAG,GAAG,gBAAgB,qBAAqB,CAAC;AAmC9E;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAwB;IAExB,IAAI;QACF,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QAEnE,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;QACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,qBAAqB,IAAI,aAAa,EAAE,CAAC,CAAC;QAEjE,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtD,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAC;QAEH,2DAA2D;QAC3D,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE;YACtC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,qCAAqC,mBAAmB,CAAC,MAAM,EAAE,CAClE,CAAC;SACH;QAED,MAAM,WAAW,GACf,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QACnC,MAAM,aAAa,GAAG,WAAW,EAAE,IAAI,IAAI,IAAI,CAAC;QAEhD,+FAA+F;QAC/F,IAAI,CAAC,aAAa,EAAE;YAClB,OAAO,IAAI,CAAC;SACb;QAED,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,aAAa,CAClD,aAAa,EACb,IAAI,CAAC,UAAU,EACf,kBAAkB,CACnB,CAAC;QAEF,2DAA2D;QAC3D,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;QAC/C,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC,QAAQ,EAAE,EAAE;YAC9C,MAAM,iBAAiB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAC;SAC9C;QAED,OAAO,aAAa,CAAC;KACtB;IAAC,OAAO,CAAC,EAAE;QACV,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,+BAA+B,CACnD,IAAyC;IAEzC,IAAI;QACF,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;QACvD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,qBAAqB,IAAI,IAAI,EAAE,CAAC,CAAC;QAExD,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;YACtD,OAAO,EAAE;gBACP,cAAc,EAAE,kBAAkB;gBAClC,aAAa,EAAE,UAAU,WAAW,EAAE;aACvC;SACF,CAAC,CAAC;QAEH,6DAA6D;QAC7D,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE;YACtC,OAAO,IAAI,CAAC;SACb;QAED,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE;YACtC,MAAM,IAAI,KAAK,CACb,qCAAqC,mBAAmB,CAAC,MAAM,EAAE,CAClE,CAAC;SACH;QAED,MAAM,WAAW,GACf,MAAM,mBAAmB,CAAC,IAAI,EAAE,CAAC;QAEnC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE;YAC/B,OAAO,IAAI,CAAC;SACb;QAED,MAAM,aAAa,GAAa,EAAE,CAAC;QACnC,MAAM,kBAAkB,GAAuB,EAAE,CAAC;QAElD,KAAK,MAAM,KAAK,IAAI,WAAW,EAAE;YAC/B,0EAA0E;YAC1E,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE;gBACf,SAAS;aACV;YAED,IAAI;gBACF,MAAM,IAAI,GAAG,MAAM,UAAU,CAAC,aAAa,CACzC,KAAK,CAAC,IAAI,EACV,IAAI,CAAC,UAAU,EACf,kBAAkB,CACnB,CAAC;gBACF,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEzB,oEAAoE;gBACpE,MAAM,IAAI,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;gBAC5C,IAAI,IAAI,CAAC,QAAQ,EAAE,KAAK,WAAW,CAAC,QAAQ,EAAE,EAAE;oBAC9C,kBAAkB,CAAC,IAAI,CAAC;wBACtB,KAAK,CAAC,SAAS;wBACf,MAAM,UAAU,CAAC,aAAa,CAC5B,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,kBAAkB,CACnB;qBACF,CAAC,CAAC;iBACJ;aACF;YAAC,MAAM;gBACN,aAAa;aACd;SACF;QAED,qCAAqC;QACrC,IAAI,kBAAkB,CAAC,MAAM,EAAE;YAC7B,MAAM,0DAA0D,CAC9D,kBAAkB,EAClB,IAAI,CACL,CAAC;SACH;QAED,OAAO,aAAa,CAAC;KACtB;IAAC,OAAO,CAAC,EAAE;QACV,GAAG,CAAC,KAAK,CAAC,4BAA4B,EAAE,CAAC,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC;KACb;AACH,CAAC;AAED;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAY,EACZ,IAAwB;IAExB,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAEnE,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,aAAa,CAClD,IAAI,EACJ,IAAI,CAAC,UAAU,EACf,kBAAkB,CACnB,CAAC;IACF,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,qBAAqB,IAAI,aAAa,EAAE,CAAC,CAAC;IAEjE,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,KAAK,CACb,+CAA+C,GAAG,CAAC,MAAM,EAAE,CAC5D,CAAC;KACH;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAwB,EACxB,IAAmC;IAEnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAChB,OAAO;KACR;IAED,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,kBAAkB,EAAE,GAAG,IAAI,CAAC;IAEnE,MAAM,aAAa,GAAe,EAAE,CAAC;IAErC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QACpB,aAAa,CAAC,IAAI,CAAC;YACjB,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,UAAU,CAAC;YACnC,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,UAAU,EAAE,kBAAkB,CAAC;SAC1E,CAAC,CAAC;KACJ;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,qBAAqB,IAAI,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAExD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,KAAK,CACb,qDAAqD,GAAG,CAAC,MAAM,EAAE,CAClE,CAAC;KACH;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,0DAA0D,CAC9E,aAAiC,EACjC,IAAmC;IAEnC,IAAI,CAAC,aAAa,CAAC,MAAM,EAAE;QACzB,OAAO;KACR;IAED,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IAEnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,qBAAqB,IAAI,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,aAAa,GAAG,MAAM,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;IAExD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;QACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,IAAI,EAAE,aAAa,EAAE,CAAC;KAC9C,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,KAAK,CACb,qDAAqD,GAAG,CAAC,MAAM,EAAE,CAClE,CAAC;KACH;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,IAAwB;IAExB,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAC/C,MAAM,aAAa,GAAG,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;IACxD,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,qBAAqB,IAAI,aAAa,EAAE,CAAC,CAAC;IAEjE,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACtD,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,CAAC,CAAC;IAEH,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,iDAAiD,mBAAmB,CAAC,MAAM,EAAE,CAC9E,CAAC;KACH;IAED,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,+CAA+C,mBAAmB,CAAC,MAAM,EAAE,CAC5E,CAAC;KACH;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,IAAc,EACd,IAAmC;IAEnC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE;QAChB,OAAO;KACR;IAED,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,UAAU,EAAE,GAAG,IAAI,CAAC;IAE/C,MAAM,aAAa,GAAa,EAAE,CAAC;IAEnC,KAAK,MAAM,CAAC,IAAI,IAAI,EAAE;QACpB,aAAa,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC,GAAG,UAAU,CAAC,CAAC,CAAC;KACtD;IAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,qBAAqB,IAAI,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACtC,MAAM,EAAE,KAAK;QACb,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;QACD,gEAAgE;QAChE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,YAAY,EAAE,aAAa,EAAE,CAAC;KACtD,CAAC,CAAC;IAEH,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;QACX,MAAM,IAAI,KAAK,CACb,qDAAqD,GAAG,CAAC,MAAM,EAAE,CAClE,CAAC;KACH;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,kCAAkC,CACtD,IAAyC;IAEzC,MAAM,EAAE,WAAW,EAAE,IAAI,EAAE,GAAG,IAAI,CAAC;IACnC,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,GAAG,qBAAqB,IAAI,IAAI,EAAE,CAAC,CAAC;IAExD,MAAM,mBAAmB,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,EAAE;QACtD,MAAM,EAAE,QAAQ;QAChB,OAAO,EAAE;YACP,cAAc,EAAE,kBAAkB;YAClC,aAAa,EAAE,UAAU,WAAW,EAAE;SACvC;KACF,CAAC,CAAC;IAEH,IAAI,mBAAmB,CAAC,MAAM,KAAK,GAAG,EAAE;QACtC,MAAM,IAAI,KAAK,CACb,2CAA2C,mBAAmB,CAAC,MAAM,EAAE,CACxE,CAAC;KACH;IAED,IAAI,CAAC,mBAAmB,CAAC,EAAE,EAAE;QAC3B,MAAM,IAAI,KAAK,CACb,+CAA+C,mBAAmB,CAAC,MAAM,EAAE,CAC5E,CAAC;KACH;AACH,CAAC","sourcesContent":["import log from 'loglevel';\n\nimport encryption, { createSHA256Hash } from '../../shared/encryption';\nimport { SHARED_SALT } from '../../shared/encryption/constants';\nimport { Env, getEnvUrls } from '../../shared/env';\nimport type {\n UserStoragePathWithFeatureAndKey,\n UserStoragePathWithFeatureOnly,\n} from '../../shared/storage-schema';\nimport { createEntryPath } from '../../shared/storage-schema';\nimport type { NativeScrypt } from '../../shared/types/encryption';\n\nconst ENV_URLS = getEnvUrls(Env.PRD);\n\nexport const USER_STORAGE_API: string = ENV_URLS.userStorageApiUrl;\nexport const USER_STORAGE_ENDPOINT = `${USER_STORAGE_API}/api/v1/userstorage`;\n\n/**\n * This is the Server Response shape for a feature entry.\n */\nexport type GetUserStorageResponse = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n HashedKey: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Data: string;\n};\n\nexport type GetUserStorageAllFeatureEntriesResponse = {\n // eslint-disable-next-line @typescript-eslint/naming-convention\n HashedKey: string;\n // eslint-disable-next-line @typescript-eslint/naming-convention\n Data: string;\n}[];\n\nexport type UserStorageBaseOptions = {\n bearerToken: string;\n storageKey: string;\n nativeScryptCrypto?: NativeScrypt;\n};\n\nexport type UserStorageOptions = UserStorageBaseOptions & {\n path: UserStoragePathWithFeatureAndKey;\n};\n\nexport type UserStorageAllFeatureEntriesOptions = UserStorageBaseOptions & {\n path: UserStoragePathWithFeatureOnly;\n};\n\nexport type UserStorageBatchUpsertOptions = UserStorageAllFeatureEntriesOptions;\n\n/**\n * User Storage Service - Get Storage Entry.\n *\n * @param opts - User Storage Options\n * @returns The storage entry, or null if fails to find entry\n */\nexport async function getUserStorage(\n opts: UserStorageOptions,\n): Promise<string | null> {\n try {\n const { bearerToken, path, storageKey, nativeScryptCrypto } = opts;\n\n const encryptedPath = createEntryPath(path, storageKey);\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${encryptedPath}`);\n\n const userStorageResponse = await fetch(url.toString(), {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n });\n\n // Acceptable error - since indicates entry does not exist.\n if (userStorageResponse.status === 404) {\n return null;\n }\n\n if (userStorageResponse.status !== 200) {\n throw new Error(\n `Unable to get User Storage - HTTP ${userStorageResponse.status}`,\n );\n }\n\n const userStorage: GetUserStorageResponse | null =\n await userStorageResponse.json();\n const encryptedData = userStorage?.Data ?? null;\n\n /* istanbul ignore if - this is an edge case where our endpoint returns invalid JSON payload */\n if (!encryptedData) {\n return null;\n }\n\n const decryptedData = await encryption.decryptString(\n encryptedData,\n opts.storageKey,\n nativeScryptCrypto,\n );\n\n // Re-encrypt and re-upload the entry if the salt is random\n const salt = encryption.getSalt(encryptedData);\n if (salt.toString() !== SHARED_SALT.toString()) {\n await upsertUserStorage(decryptedData, opts);\n }\n\n return decryptedData;\n } catch (e) {\n log.error('Failed to get user storage', e);\n return null;\n }\n}\n\n/**\n * User Storage Service - Get all storage entries for a specific feature.\n *\n * @param opts - User Storage Options\n * @returns The storage entry, or null if fails to find entry\n */\nexport async function getUserStorageAllFeatureEntries(\n opts: UserStorageAllFeatureEntriesOptions,\n): Promise<string[] | null> {\n try {\n const { bearerToken, path, nativeScryptCrypto } = opts;\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const userStorageResponse = await fetch(url.toString(), {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n });\n\n // Acceptable error - since indicates feature does not exist.\n if (userStorageResponse.status === 404) {\n return null;\n }\n\n if (userStorageResponse.status !== 200) {\n throw new Error(\n `Unable to get User Storage - HTTP ${userStorageResponse.status}`,\n );\n }\n\n const userStorage: GetUserStorageAllFeatureEntriesResponse | null =\n await userStorageResponse.json();\n\n if (!Array.isArray(userStorage)) {\n return null;\n }\n\n const decryptedData: string[] = [];\n const reEncryptedEntries: [string, string][] = [];\n\n for (const entry of userStorage) {\n /* istanbul ignore if - unreachable if statement, but kept as edge case */\n if (!entry.Data) {\n continue;\n }\n\n try {\n const data = await encryption.decryptString(\n entry.Data,\n opts.storageKey,\n nativeScryptCrypto,\n );\n decryptedData.push(data);\n\n // Re-encrypt the entry if the salt is different from the shared one\n const salt = encryption.getSalt(entry.Data);\n if (salt.toString() !== SHARED_SALT.toString()) {\n reEncryptedEntries.push([\n entry.HashedKey,\n await encryption.encryptString(\n data,\n opts.storageKey,\n nativeScryptCrypto,\n ),\n ]);\n }\n } catch {\n // do nothing\n }\n }\n\n // Re-upload the re-encrypted entries\n if (reEncryptedEntries.length) {\n await batchUpsertUserStorageWithAlreadyHashedAndEncryptedEntries(\n reEncryptedEntries,\n opts,\n );\n }\n\n return decryptedData;\n } catch (e) {\n log.error('Failed to get user storage', e);\n return null;\n }\n}\n\n/**\n * User Storage Service - Set Storage Entry.\n *\n * @param data - data to store\n * @param opts - storage options\n */\nexport async function upsertUserStorage(\n data: string,\n opts: UserStorageOptions,\n): Promise<void> {\n const { bearerToken, path, storageKey, nativeScryptCrypto } = opts;\n\n const encryptedData = await encryption.encryptString(\n data,\n opts.storageKey,\n nativeScryptCrypto,\n );\n const encryptedPath = createEntryPath(path, storageKey);\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${encryptedPath}`);\n\n const res = await fetch(url.toString(), {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n body: JSON.stringify({ data: encryptedData }),\n });\n\n if (!res.ok) {\n throw new Error(\n `user-storage - unable to upsert data - HTTP ${res.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Set multiple storage entries for one specific feature.\n * You cannot use this method to set multiple features at once.\n *\n * @param data - data to store, in the form of an array of [entryKey, entryValue] pairs\n * @param opts - storage options\n */\nexport async function batchUpsertUserStorage(\n data: [string, string][],\n opts: UserStorageBatchUpsertOptions,\n): Promise<void> {\n if (!data.length) {\n return;\n }\n\n const { bearerToken, path, storageKey, nativeScryptCrypto } = opts;\n\n const encryptedData: string[][] = [];\n\n for (const d of data) {\n encryptedData.push([\n createSHA256Hash(d[0] + storageKey),\n await encryption.encryptString(d[1], opts.storageKey, nativeScryptCrypto),\n ]);\n }\n\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const formattedData = Object.fromEntries(encryptedData);\n\n const res = await fetch(url.toString(), {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n body: JSON.stringify({ data: formattedData }),\n });\n\n if (!res.ok) {\n throw new Error(\n `user-storage - unable to batch upsert data - HTTP ${res.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Set multiple storage entries for one specific feature.\n * You cannot use this method to set multiple features at once.\n *\n * @param encryptedData - data to store, in the form of an array of [hashedKey, encryptedData] pairs\n * @param opts - storage options\n */\nexport async function batchUpsertUserStorageWithAlreadyHashedAndEncryptedEntries(\n encryptedData: [string, string][],\n opts: UserStorageBatchUpsertOptions,\n): Promise<void> {\n if (!encryptedData.length) {\n return;\n }\n\n const { bearerToken, path } = opts;\n\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const formattedData = Object.fromEntries(encryptedData);\n\n const res = await fetch(url.toString(), {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n body: JSON.stringify({ data: formattedData }),\n });\n\n if (!res.ok) {\n throw new Error(\n `user-storage - unable to batch upsert data - HTTP ${res.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Delete Storage Entry.\n *\n * @param opts - User Storage Options\n */\nexport async function deleteUserStorage(\n opts: UserStorageOptions,\n): Promise<void> {\n const { bearerToken, path, storageKey } = opts;\n const encryptedPath = createEntryPath(path, storageKey);\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${encryptedPath}`);\n\n const userStorageResponse = await fetch(url.toString(), {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n });\n\n if (userStorageResponse.status === 404) {\n throw new Error(\n `user-storage - feature/entry not found - HTTP ${userStorageResponse.status}`,\n );\n }\n\n if (!userStorageResponse.ok) {\n throw new Error(\n `user-storage - unable to delete data - HTTP ${userStorageResponse.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Delete multiple storage entries for one specific feature.\n * You cannot use this method to delete multiple features at once.\n *\n * @param data - data to delete, in the form of an array entryKey[]\n * @param opts - storage options\n */\nexport async function batchDeleteUserStorage(\n data: string[],\n opts: UserStorageBatchUpsertOptions,\n): Promise<void> {\n if (!data.length) {\n return;\n }\n\n const { bearerToken, path, storageKey } = opts;\n\n const encryptedData: string[] = [];\n\n for (const d of data) {\n encryptedData.push(createSHA256Hash(d + storageKey));\n }\n\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const res = await fetch(url.toString(), {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n // eslint-disable-next-line @typescript-eslint/naming-convention\n body: JSON.stringify({ batch_delete: encryptedData }),\n });\n\n if (!res.ok) {\n throw new Error(\n `user-storage - unable to batch delete data - HTTP ${res.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Delete all storage entries for a specific feature.\n *\n * @param opts - User Storage Options\n */\nexport async function deleteUserStorageAllFeatureEntries(\n opts: UserStorageAllFeatureEntriesOptions,\n): Promise<void> {\n const { bearerToken, path } = opts;\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const userStorageResponse = await fetch(url.toString(), {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n });\n\n if (userStorageResponse.status === 404) {\n throw new Error(\n `user-storage - feature not found - HTTP ${userStorageResponse.status}`,\n );\n }\n\n if (!userStorageResponse.ok) {\n throw new Error(\n `user-storage - unable to delete data - HTTP ${userStorageResponse.status}`,\n );\n }\n}\n"]}
1
+ {"version":3,"file":"services.mjs","sourceRoot":"","sources":["../../../src/controllers/user-storage/services.ts"],"names":[],"mappings":"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","sourcesContent":["import log from 'loglevel';\n\nimport encryption, { createSHA256Hash } from '../../shared/encryption';\nimport { SHARED_SALT } from '../../shared/encryption/constants';\nimport { Env, getEnvUrls } from '../../shared/env';\nimport type {\n UserStoragePathWithFeatureAndKey,\n UserStoragePathWithFeatureOnly,\n} from '../../shared/storage-schema';\nimport { createEntryPath } from '../../shared/storage-schema';\nimport type { NativeScrypt } from '../../shared/types/encryption';\n\nconst ENV_URLS = getEnvUrls(Env.PRD);\n\nexport const USER_STORAGE_API: string = ENV_URLS.userStorageApiUrl;\nexport const USER_STORAGE_ENDPOINT = `${USER_STORAGE_API}/api/v1/userstorage`;\n\n/**\n * This is the Server Response shape for a feature entry.\n */\nexport type GetUserStorageResponse = {\n HashedKey: string;\n Data: string;\n};\n\nexport type GetUserStorageAllFeatureEntriesResponse = {\n HashedKey: string;\n Data: string;\n}[];\n\nexport type UserStorageBaseOptions = {\n bearerToken: string;\n storageKey: string;\n nativeScryptCrypto?: NativeScrypt;\n};\n\nexport type UserStorageOptions = UserStorageBaseOptions & {\n path: UserStoragePathWithFeatureAndKey;\n};\n\nexport type UserStorageAllFeatureEntriesOptions = UserStorageBaseOptions & {\n path: UserStoragePathWithFeatureOnly;\n};\n\nexport type UserStorageBatchUpsertOptions = UserStorageAllFeatureEntriesOptions;\n\n/**\n * User Storage Service - Get Storage Entry.\n *\n * @param opts - User Storage Options\n * @returns The storage entry, or null if fails to find entry\n */\nexport async function getUserStorage(\n opts: UserStorageOptions,\n): Promise<string | null> {\n try {\n const { bearerToken, path, storageKey, nativeScryptCrypto } = opts;\n\n const encryptedPath = createEntryPath(path, storageKey);\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${encryptedPath}`);\n\n const userStorageResponse = await fetch(url.toString(), {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n });\n\n // Acceptable error - since indicates entry does not exist.\n if (userStorageResponse.status === 404) {\n return null;\n }\n\n if (userStorageResponse.status !== 200) {\n throw new Error(\n `Unable to get User Storage - HTTP ${userStorageResponse.status}`,\n );\n }\n\n const userStorage: GetUserStorageResponse | null =\n await userStorageResponse.json();\n const encryptedData = userStorage?.Data ?? null;\n\n /* istanbul ignore if - this is an edge case where our endpoint returns invalid JSON payload */\n if (!encryptedData) {\n return null;\n }\n\n const decryptedData = await encryption.decryptString(\n encryptedData,\n opts.storageKey,\n nativeScryptCrypto,\n );\n\n // Re-encrypt and re-upload the entry if the salt is random\n const salt = encryption.getSalt(encryptedData);\n if (salt.toString() !== SHARED_SALT.toString()) {\n await upsertUserStorage(decryptedData, opts);\n }\n\n return decryptedData;\n } catch (e) {\n log.error('Failed to get user storage', e);\n return null;\n }\n}\n\n/**\n * User Storage Service - Get all storage entries for a specific feature.\n *\n * @param opts - User Storage Options\n * @returns The storage entry, or null if fails to find entry\n */\nexport async function getUserStorageAllFeatureEntries(\n opts: UserStorageAllFeatureEntriesOptions,\n): Promise<string[] | null> {\n try {\n const { bearerToken, path, nativeScryptCrypto } = opts;\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const userStorageResponse = await fetch(url.toString(), {\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n });\n\n // Acceptable error - since indicates feature does not exist.\n if (userStorageResponse.status === 404) {\n return null;\n }\n\n if (userStorageResponse.status !== 200) {\n throw new Error(\n `Unable to get User Storage - HTTP ${userStorageResponse.status}`,\n );\n }\n\n const userStorage: GetUserStorageAllFeatureEntriesResponse | null =\n await userStorageResponse.json();\n\n if (!Array.isArray(userStorage)) {\n return null;\n }\n\n const decryptedData: string[] = [];\n const reEncryptedEntries: [string, string][] = [];\n\n for (const entry of userStorage) {\n /* istanbul ignore if - unreachable if statement, but kept as edge case */\n if (!entry.Data) {\n continue;\n }\n\n try {\n const data = await encryption.decryptString(\n entry.Data,\n opts.storageKey,\n nativeScryptCrypto,\n );\n decryptedData.push(data);\n\n // Re-encrypt the entry if the salt is different from the shared one\n const salt = encryption.getSalt(entry.Data);\n if (salt.toString() !== SHARED_SALT.toString()) {\n reEncryptedEntries.push([\n entry.HashedKey,\n await encryption.encryptString(\n data,\n opts.storageKey,\n nativeScryptCrypto,\n ),\n ]);\n }\n } catch {\n // do nothing\n }\n }\n\n // Re-upload the re-encrypted entries\n if (reEncryptedEntries.length) {\n await batchUpsertUserStorageWithAlreadyHashedAndEncryptedEntries(\n reEncryptedEntries,\n opts,\n );\n }\n\n return decryptedData;\n } catch (e) {\n log.error('Failed to get user storage', e);\n return null;\n }\n}\n\n/**\n * User Storage Service - Set Storage Entry.\n *\n * @param data - data to store\n * @param opts - storage options\n */\nexport async function upsertUserStorage(\n data: string,\n opts: UserStorageOptions,\n): Promise<void> {\n const { bearerToken, path, storageKey, nativeScryptCrypto } = opts;\n\n const encryptedData = await encryption.encryptString(\n data,\n opts.storageKey,\n nativeScryptCrypto,\n );\n const encryptedPath = createEntryPath(path, storageKey);\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${encryptedPath}`);\n\n const res = await fetch(url.toString(), {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n body: JSON.stringify({ data: encryptedData }),\n });\n\n if (!res.ok) {\n throw new Error(\n `user-storage - unable to upsert data - HTTP ${res.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Set multiple storage entries for one specific feature.\n * You cannot use this method to set multiple features at once.\n *\n * @param data - data to store, in the form of an array of [entryKey, entryValue] pairs\n * @param opts - storage options\n */\nexport async function batchUpsertUserStorage(\n data: [string, string][],\n opts: UserStorageBatchUpsertOptions,\n): Promise<void> {\n if (!data.length) {\n return;\n }\n\n const { bearerToken, path, storageKey, nativeScryptCrypto } = opts;\n\n const encryptedData: string[][] = [];\n\n for (const d of data) {\n encryptedData.push([\n createSHA256Hash(d[0] + storageKey),\n await encryption.encryptString(d[1], opts.storageKey, nativeScryptCrypto),\n ]);\n }\n\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const formattedData = Object.fromEntries(encryptedData);\n\n const res = await fetch(url.toString(), {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n body: JSON.stringify({ data: formattedData }),\n });\n\n if (!res.ok) {\n throw new Error(\n `user-storage - unable to batch upsert data - HTTP ${res.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Set multiple storage entries for one specific feature.\n * You cannot use this method to set multiple features at once.\n *\n * @param encryptedData - data to store, in the form of an array of [hashedKey, encryptedData] pairs\n * @param opts - storage options\n */\nexport async function batchUpsertUserStorageWithAlreadyHashedAndEncryptedEntries(\n encryptedData: [string, string][],\n opts: UserStorageBatchUpsertOptions,\n): Promise<void> {\n if (!encryptedData.length) {\n return;\n }\n\n const { bearerToken, path } = opts;\n\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const formattedData = Object.fromEntries(encryptedData);\n\n const res = await fetch(url.toString(), {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n body: JSON.stringify({ data: formattedData }),\n });\n\n if (!res.ok) {\n throw new Error(\n `user-storage - unable to batch upsert data - HTTP ${res.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Delete Storage Entry.\n *\n * @param opts - User Storage Options\n */\nexport async function deleteUserStorage(\n opts: UserStorageOptions,\n): Promise<void> {\n const { bearerToken, path, storageKey } = opts;\n const encryptedPath = createEntryPath(path, storageKey);\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${encryptedPath}`);\n\n const userStorageResponse = await fetch(url.toString(), {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n });\n\n if (userStorageResponse.status === 404) {\n throw new Error(\n `user-storage - feature/entry not found - HTTP ${userStorageResponse.status}`,\n );\n }\n\n if (!userStorageResponse.ok) {\n throw new Error(\n `user-storage - unable to delete data - HTTP ${userStorageResponse.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Delete multiple storage entries for one specific feature.\n * You cannot use this method to delete multiple features at once.\n *\n * @param data - data to delete, in the form of an array entryKey[]\n * @param opts - storage options\n */\nexport async function batchDeleteUserStorage(\n data: string[],\n opts: UserStorageBatchUpsertOptions,\n): Promise<void> {\n if (!data.length) {\n return;\n }\n\n const { bearerToken, path, storageKey } = opts;\n\n const encryptedData: string[] = [];\n\n for (const d of data) {\n encryptedData.push(createSHA256Hash(d + storageKey));\n }\n\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const res = await fetch(url.toString(), {\n method: 'PUT',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n\n body: JSON.stringify({ batch_delete: encryptedData }),\n });\n\n if (!res.ok) {\n throw new Error(\n `user-storage - unable to batch delete data - HTTP ${res.status}`,\n );\n }\n}\n\n/**\n * User Storage Service - Delete all storage entries for a specific feature.\n *\n * @param opts - User Storage Options\n */\nexport async function deleteUserStorageAllFeatureEntries(\n opts: UserStorageAllFeatureEntriesOptions,\n): Promise<void> {\n const { bearerToken, path } = opts;\n const url = new URL(`${USER_STORAGE_ENDPOINT}/${path}`);\n\n const userStorageResponse = await fetch(url.toString(), {\n method: 'DELETE',\n headers: {\n 'Content-Type': 'application/json',\n Authorization: `Bearer ${bearerToken}`,\n },\n });\n\n if (userStorageResponse.status === 404) {\n throw new Error(\n `user-storage - feature not found - HTTP ${userStorageResponse.status}`,\n );\n }\n\n if (!userStorageResponse.ok) {\n throw new Error(\n `user-storage - unable to delete data - HTTP ${userStorageResponse.status}`,\n );\n }\n}\n"]}
@@ -4,6 +4,7 @@ exports.setIntersection = exports.setDifference = void 0;
4
4
  /**
5
5
  * Returns the difference between 2 sets.
6
6
  * NOTE - this is temporary until we can support Set().difference method
7
+ *
7
8
  * @param a - First Set
8
9
  * @param b - Second Set
9
10
  * @returns The difference between the first and second set.
@@ -17,6 +18,7 @@ exports.setDifference = setDifference;
17
18
  /**
18
19
  * Returns the intersection between 2 sets.
19
20
  * NOTE - this is temporary until we can support Set().intersection method
21
+ *
20
22
  * @param a - First Set
21
23
  * @param b - Second Set
22
24
  * @returns The intersection between the first and second set.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.cjs","sourceRoot":"","sources":["../../../src/controllers/user-storage/utils.ts"],"names":[],"mappings":";;;AAAA;;;;;;GAMG;AACH,SAAgB,aAAa,CAAQ,CAAa,EAAE,CAAa;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAS,CAAC;IACpC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC;AACpB,CAAC;AAJD,sCAIC;AAED;;;;;;GAMG;AACH,SAAgB,eAAe,CAC7B,CAAa,EACb,CAAa;IAEb,MAAM,YAAY,GAAG,IAAI,GAAG,EAAS,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC;AACtB,CAAC;AAPD,0CAOC","sourcesContent":["/**\n * Returns the difference between 2 sets.\n * NOTE - this is temporary until we can support Set().difference method\n * @param a - First Set\n * @param b - Second Set\n * @returns The difference between the first and second set.\n */\nexport function setDifference<TItem>(a: Set<TItem>, b: Set<TItem>): Set<TItem> {\n const difference = new Set<TItem>();\n a.forEach((e) => !b.has(e) && difference.add(e));\n return difference;\n}\n\n/**\n * Returns the intersection between 2 sets.\n * NOTE - this is temporary until we can support Set().intersection method\n * @param a - First Set\n * @param b - Second Set\n * @returns The intersection between the first and second set.\n */\nexport function setIntersection<TItem>(\n a: Set<TItem>,\n b: Set<TItem>,\n): Set<TItem> {\n const intersection = new Set<TItem>();\n a.forEach((e) => b.has(e) && intersection.add(e));\n return intersection;\n}\n"]}
1
+ {"version":3,"file":"utils.cjs","sourceRoot":"","sources":["../../../src/controllers/user-storage/utils.ts"],"names":[],"mappings":";;;AAAA;;;;;;;GAOG;AACH,SAAgB,aAAa,CAAQ,CAAa,EAAE,CAAa;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAS,CAAC;IACpC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC;AACpB,CAAC;AAJD,sCAIC;AAED;;;;;;;GAOG;AACH,SAAgB,eAAe,CAC7B,CAAa,EACb,CAAa;IAEb,MAAM,YAAY,GAAG,IAAI,GAAG,EAAS,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC;AACtB,CAAC;AAPD,0CAOC","sourcesContent":["/**\n * Returns the difference between 2 sets.\n * NOTE - this is temporary until we can support Set().difference method\n *\n * @param a - First Set\n * @param b - Second Set\n * @returns The difference between the first and second set.\n */\nexport function setDifference<TItem>(a: Set<TItem>, b: Set<TItem>): Set<TItem> {\n const difference = new Set<TItem>();\n a.forEach((e) => !b.has(e) && difference.add(e));\n return difference;\n}\n\n/**\n * Returns the intersection between 2 sets.\n * NOTE - this is temporary until we can support Set().intersection method\n *\n * @param a - First Set\n * @param b - Second Set\n * @returns The intersection between the first and second set.\n */\nexport function setIntersection<TItem>(\n a: Set<TItem>,\n b: Set<TItem>,\n): Set<TItem> {\n const intersection = new Set<TItem>();\n a.forEach((e) => b.has(e) && intersection.add(e));\n return intersection;\n}\n"]}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Returns the difference between 2 sets.
3
3
  * NOTE - this is temporary until we can support Set().difference method
4
+ *
4
5
  * @param a - First Set
5
6
  * @param b - Second Set
6
7
  * @returns The difference between the first and second set.
@@ -9,6 +10,7 @@ export declare function setDifference<TItem>(a: Set<TItem>, b: Set<TItem>): Set<
9
10
  /**
10
11
  * Returns the intersection between 2 sets.
11
12
  * NOTE - this is temporary until we can support Set().intersection method
13
+ *
12
14
  * @param a - First Set
13
15
  * @param b - Second Set
14
16
  * @returns The intersection between the first and second set.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.cts","sourceRoot":"","sources":["../../../src/controllers/user-storage/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAI7E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EACnC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EACb,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GACZ,GAAG,CAAC,KAAK,CAAC,CAIZ"}
1
+ {"version":3,"file":"utils.d.cts","sourceRoot":"","sources":["../../../src/controllers/user-storage/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAI7E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EACnC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EACb,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GACZ,GAAG,CAAC,KAAK,CAAC,CAIZ"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Returns the difference between 2 sets.
3
3
  * NOTE - this is temporary until we can support Set().difference method
4
+ *
4
5
  * @param a - First Set
5
6
  * @param b - Second Set
6
7
  * @returns The difference between the first and second set.
@@ -9,6 +10,7 @@ export declare function setDifference<TItem>(a: Set<TItem>, b: Set<TItem>): Set<
9
10
  /**
10
11
  * Returns the intersection between 2 sets.
11
12
  * NOTE - this is temporary until we can support Set().intersection method
13
+ *
12
14
  * @param a - First Set
13
15
  * @param b - Second Set
14
16
  * @returns The intersection between the first and second set.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.mts","sourceRoot":"","sources":["../../../src/controllers/user-storage/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAI7E;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,KAAK,EACnC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EACb,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GACZ,GAAG,CAAC,KAAK,CAAC,CAIZ"}
1
+ {"version":3,"file":"utils.d.mts","sourceRoot":"","sources":["../../../src/controllers/user-storage/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,KAAK,CAAC,CAI7E;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,KAAK,EACnC,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,EACb,CAAC,EAAE,GAAG,CAAC,KAAK,CAAC,GACZ,GAAG,CAAC,KAAK,CAAC,CAIZ"}
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * Returns the difference between 2 sets.
3
3
  * NOTE - this is temporary until we can support Set().difference method
4
+ *
4
5
  * @param a - First Set
5
6
  * @param b - Second Set
6
7
  * @returns The difference between the first and second set.
@@ -13,6 +14,7 @@ export function setDifference(a, b) {
13
14
  /**
14
15
  * Returns the intersection between 2 sets.
15
16
  * NOTE - this is temporary until we can support Set().intersection method
17
+ *
16
18
  * @param a - First Set
17
19
  * @param b - Second Set
18
20
  * @returns The intersection between the first and second set.
@@ -1 +1 @@
1
- {"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../../../src/controllers/user-storage/utils.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAQ,CAAa,EAAE,CAAa;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAS,CAAC;IACpC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,eAAe,CAC7B,CAAa,EACb,CAAa;IAEb,MAAM,YAAY,GAAG,IAAI,GAAG,EAAS,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["/**\n * Returns the difference between 2 sets.\n * NOTE - this is temporary until we can support Set().difference method\n * @param a - First Set\n * @param b - Second Set\n * @returns The difference between the first and second set.\n */\nexport function setDifference<TItem>(a: Set<TItem>, b: Set<TItem>): Set<TItem> {\n const difference = new Set<TItem>();\n a.forEach((e) => !b.has(e) && difference.add(e));\n return difference;\n}\n\n/**\n * Returns the intersection between 2 sets.\n * NOTE - this is temporary until we can support Set().intersection method\n * @param a - First Set\n * @param b - Second Set\n * @returns The intersection between the first and second set.\n */\nexport function setIntersection<TItem>(\n a: Set<TItem>,\n b: Set<TItem>,\n): Set<TItem> {\n const intersection = new Set<TItem>();\n a.forEach((e) => b.has(e) && intersection.add(e));\n return intersection;\n}\n"]}
1
+ {"version":3,"file":"utils.mjs","sourceRoot":"","sources":["../../../src/controllers/user-storage/utils.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,UAAU,aAAa,CAAQ,CAAa,EAAE,CAAa;IAC/D,MAAM,UAAU,GAAG,IAAI,GAAG,EAAS,CAAC;IACpC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,UAAU,CAAC;AACpB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,eAAe,CAC7B,CAAa,EACb,CAAa;IAEb,MAAM,YAAY,GAAG,IAAI,GAAG,EAAS,CAAC;IACtC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,YAAY,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAClD,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["/**\n * Returns the difference between 2 sets.\n * NOTE - this is temporary until we can support Set().difference method\n *\n * @param a - First Set\n * @param b - Second Set\n * @returns The difference between the first and second set.\n */\nexport function setDifference<TItem>(a: Set<TItem>, b: Set<TItem>): Set<TItem> {\n const difference = new Set<TItem>();\n a.forEach((e) => !b.has(e) && difference.add(e));\n return difference;\n}\n\n/**\n * Returns the intersection between 2 sets.\n * NOTE - this is temporary until we can support Set().intersection method\n *\n * @param a - First Set\n * @param b - Second Set\n * @returns The intersection between the first and second set.\n */\nexport function setIntersection<TItem>(\n a: Set<TItem>,\n b: Set<TItem>,\n): Set<TItem> {\n const intersection = new Set<TItem>();\n a.forEach((e) => b.has(e) && intersection.add(e));\n return intersection;\n}\n"]}
@@ -18,61 +18,46 @@ const MOCK_NONCE_RESPONSE = {
18
18
  nonce: 'xGMm9SoihEKeAEfV',
19
19
  identifier: '0xd8641601Cb79a94FD872fE42d5b4a067A44a7e88',
20
20
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
21
- // eslint-disable-next-line @typescript-eslint/naming-convention
22
21
  expires_in: 300,
23
22
  };
24
23
  const MOCK_SIWE_LOGIN_RESPONSE = {
25
24
  token: exports.MOCK_JWT,
26
25
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
27
- // eslint-disable-next-line @typescript-eslint/naming-convention
28
26
  expires_in: 3600,
29
27
  profile: {
30
28
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
31
- // eslint-disable-next-line @typescript-eslint/naming-convention
32
29
  profile_id: 'fa2bbf82-bd9a-4e6b-aabc-9ca0d0319b6e',
33
30
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
34
- // eslint-disable-next-line @typescript-eslint/naming-convention
35
31
  metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',
36
32
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
37
- // eslint-disable-next-line @typescript-eslint/naming-convention
38
33
  identifier_id: 'ec9a4e9906836497efad2fd4d4290b34d2c6a2c0d93eb174aa3cd88a133adbaf',
39
34
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
40
- // eslint-disable-next-line @typescript-eslint/naming-convention
41
35
  identifier_type: 'SIWE',
42
36
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
43
- // eslint-disable-next-line @typescript-eslint/naming-convention
44
37
  encrypted_storage_key: '2c6a2c0d93eb174aa3cd88a133adbaf',
45
38
  },
46
39
  };
47
40
  exports.MOCK_SRP_LOGIN_RESPONSE = {
48
41
  token: exports.MOCK_JWT,
49
42
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
50
- // eslint-disable-next-line @typescript-eslint/naming-convention
51
43
  expires_in: 3600,
52
44
  profile: {
53
45
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
54
- // eslint-disable-next-line @typescript-eslint/naming-convention
55
46
  profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',
56
47
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
57
- // eslint-disable-next-line @typescript-eslint/naming-convention
58
48
  metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',
59
49
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
60
- // eslint-disable-next-line @typescript-eslint/naming-convention
61
50
  identifier_id: 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',
62
51
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
63
- // eslint-disable-next-line @typescript-eslint/naming-convention
64
52
  identifier_type: 'SRP',
65
53
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
66
- // eslint-disable-next-line @typescript-eslint/naming-convention
67
54
  encrypted_storage_key: 'd2ddd8af8af905306f3e1456fb',
68
55
  },
69
56
  };
70
57
  exports.MOCK_OIDC_TOKEN_RESPONSE = {
71
58
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
72
- // eslint-disable-next-line @typescript-eslint/naming-convention
73
59
  access_token: exports.MOCK_ACCESS_JWT,
74
60
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
75
- // eslint-disable-next-line @typescript-eslint/naming-convention
76
61
  expires_in: 3600,
77
62
  };
78
63
  const handleMockNonce = (mockReply) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mock-auth.cjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-auth.ts"],"names":[],"mappings":"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","sourcesContent":["import nock from 'nock';\n\nimport { Env } from '../../shared/env';\nimport {\n NONCE_URL,\n SIWE_LOGIN_URL,\n SRP_LOGIN_URL,\n OIDC_TOKEN_URL,\n PAIR_IDENTIFIERS,\n} from '../authentication-jwt-bearer/services';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\nconst MOCK_NONCE_URL = NONCE_URL(Env.DEV);\nconst MOCK_SIWE_LOGIN_URL = SIWE_LOGIN_URL(Env.DEV);\nconst MOCK_PAIR_IDENTIFIERS_URL = PAIR_IDENTIFIERS(Env.DEV);\nconst MOCK_SRP_LOGIN_URL = SRP_LOGIN_URL(Env.DEV);\nconst MOCK_OIDC_TOKEN_URL = OIDC_TOKEN_URL(Env.DEV);\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImIwNzE2N2U2LWJjNWUtNDgyZC1hNjRhLWU1MjQ0MjY2MGU3NyJ9.eyJzdWIiOiI1MzE0ODc5YWM2NDU1OGI3OTQ5ZmI4NWIzMjg2ZjZjNjUwODAzYmFiMTY0Y2QyOWNmMmM3YzdmMjMzMWMwZTRlIiwiaWF0IjoxNzA2MTEzMDYyLCJleHAiOjE3NjkxODUwNjMsImlzcyI6ImF1dGgubWV0YW1hc2suaW8iLCJhdWQiOiJwb3J0Zm9saW8ubWV0YW1hc2suaW8ifQ.E5UL6oABNweS8t5a6IBTqTf7NLOJbrhJSmEcsr7kwLp4bGvcENJzACwnsHDkA6PlzfDV09ZhAGU_F3hlS0j-erbY0k0AFR-GAtyS7E9N02D8RgUDz5oDR65CKmzM8JilgFA8UvruJ6OJGogroaOSOqzRES_s8MjHpP47RJ9lXrUesajsbOudXbuksXWg5QmWip6LLvjwr8UUzcJzNQilyIhiEpo4WdzWM4R3VtTwr4rHnWEvtYnYCov1jmI2w3YQ48y0M-3Y9IOO0ov_vlITRrOnR7Y7fRUGLUFmU5msD8mNWRywjQFLHfJJ1yNP5aJ8TkuCK3sC6kcUH335IVvukQ';\n\nexport const MOCK_ACCESS_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\n\nconst MOCK_NONCE_RESPONSE = {\n nonce: 'xGMm9SoihEKeAEfV',\n identifier: '0xd8641601Cb79a94FD872fE42d5b4a067A44a7e88',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: 300,\n};\n\nconst MOCK_SIWE_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: 3600,\n profile: {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: 'fa2bbf82-bd9a-4e6b-aabc-9ca0d0319b6e',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id:\n 'ec9a4e9906836497efad2fd4d4290b34d2c6a2c0d93eb174aa3cd88a133adbaf',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_type: 'SIWE',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n encrypted_storage_key: '2c6a2c0d93eb174aa3cd88a133adbaf',\n },\n};\n\nexport const MOCK_SRP_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: 3600,\n profile: {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id:\n 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_type: 'SRP',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n encrypted_storage_key: 'd2ddd8af8af905306f3e1456fb',\n },\n};\n\nexport const MOCK_OIDC_TOKEN_RESPONSE = {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: MOCK_ACCESS_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: 3600,\n};\n\nexport const handleMockNonce = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_NONCE_RESPONSE };\n\n const mockNonceEndpoint = nock(MOCK_NONCE_URL)\n .persist()\n .get('')\n .query(true)\n .reply(reply.status, reply.body);\n\n return mockNonceEndpoint;\n};\n\nexport const handleMockSiweLogin = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_SIWE_LOGIN_RESPONSE };\n const mockLoginEndpoint = nock(MOCK_SIWE_LOGIN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const handleMockPairIdentifiers = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 204 };\n const mockPairIdentifiersEndpoint = nock(MOCK_PAIR_IDENTIFIERS_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockPairIdentifiersEndpoint;\n};\n\nexport const handleMockSrpLogin = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_SRP_LOGIN_RESPONSE };\n const mockLoginEndpoint = nock(MOCK_SRP_LOGIN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const handleMockOAuth2Token = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_OIDC_TOKEN_RESPONSE };\n const mockTokenEndpoint = nock(MOCK_OIDC_TOKEN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockTokenEndpoint;\n};\n\nexport const arrangeAuthAPIs = (options?: {\n mockNonceUrl?: MockReply;\n mockOAuth2TokenUrl?: MockReply;\n mockSrpLoginUrl?: MockReply;\n mockSiweLoginUrl?: MockReply;\n mockPairIdentifiers?: MockReply;\n}) => {\n const mockNonceUrl = handleMockNonce(options?.mockNonceUrl);\n const mockOAuth2TokenUrl = handleMockOAuth2Token(options?.mockOAuth2TokenUrl);\n const mockSrpLoginUrl = handleMockSrpLogin(options?.mockSrpLoginUrl);\n const mockSiweLoginUrl = handleMockSiweLogin(options?.mockSiweLoginUrl);\n const mockPairIdentifiersUrl = handleMockPairIdentifiers(\n options?.mockPairIdentifiers,\n );\n\n return {\n mockNonceUrl,\n mockOAuth2TokenUrl,\n mockSrpLoginUrl,\n mockSiweLoginUrl,\n mockPairIdentifiersUrl,\n };\n};\n"]}
1
+ {"version":3,"file":"mock-auth.cjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-auth.ts"],"names":[],"mappings":"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","sourcesContent":["import nock from 'nock';\n\nimport { Env } from '../../shared/env';\nimport {\n NONCE_URL,\n SIWE_LOGIN_URL,\n SRP_LOGIN_URL,\n OIDC_TOKEN_URL,\n PAIR_IDENTIFIERS,\n} from '../authentication-jwt-bearer/services';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\nconst MOCK_NONCE_URL = NONCE_URL(Env.DEV);\nconst MOCK_SIWE_LOGIN_URL = SIWE_LOGIN_URL(Env.DEV);\nconst MOCK_PAIR_IDENTIFIERS_URL = PAIR_IDENTIFIERS(Env.DEV);\nconst MOCK_SRP_LOGIN_URL = SRP_LOGIN_URL(Env.DEV);\nconst MOCK_OIDC_TOKEN_URL = OIDC_TOKEN_URL(Env.DEV);\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImIwNzE2N2U2LWJjNWUtNDgyZC1hNjRhLWU1MjQ0MjY2MGU3NyJ9.eyJzdWIiOiI1MzE0ODc5YWM2NDU1OGI3OTQ5ZmI4NWIzMjg2ZjZjNjUwODAzYmFiMTY0Y2QyOWNmMmM3YzdmMjMzMWMwZTRlIiwiaWF0IjoxNzA2MTEzMDYyLCJleHAiOjE3NjkxODUwNjMsImlzcyI6ImF1dGgubWV0YW1hc2suaW8iLCJhdWQiOiJwb3J0Zm9saW8ubWV0YW1hc2suaW8ifQ.E5UL6oABNweS8t5a6IBTqTf7NLOJbrhJSmEcsr7kwLp4bGvcENJzACwnsHDkA6PlzfDV09ZhAGU_F3hlS0j-erbY0k0AFR-GAtyS7E9N02D8RgUDz5oDR65CKmzM8JilgFA8UvruJ6OJGogroaOSOqzRES_s8MjHpP47RJ9lXrUesajsbOudXbuksXWg5QmWip6LLvjwr8UUzcJzNQilyIhiEpo4WdzWM4R3VtTwr4rHnWEvtYnYCov1jmI2w3YQ48y0M-3Y9IOO0ov_vlITRrOnR7Y7fRUGLUFmU5msD8mNWRywjQFLHfJJ1yNP5aJ8TkuCK3sC6kcUH335IVvukQ';\n\nexport const MOCK_ACCESS_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\n\nconst MOCK_NONCE_RESPONSE = {\n nonce: 'xGMm9SoihEKeAEfV',\n identifier: '0xd8641601Cb79a94FD872fE42d5b4a067A44a7e88',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n expires_in: 300,\n};\n\nconst MOCK_SIWE_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n expires_in: 3600,\n profile: {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n profile_id: 'fa2bbf82-bd9a-4e6b-aabc-9ca0d0319b6e',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n identifier_id:\n 'ec9a4e9906836497efad2fd4d4290b34d2c6a2c0d93eb174aa3cd88a133adbaf',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n identifier_type: 'SIWE',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n encrypted_storage_key: '2c6a2c0d93eb174aa3cd88a133adbaf',\n },\n};\n\nexport const MOCK_SRP_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n expires_in: 3600,\n profile: {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n identifier_id:\n 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n identifier_type: 'SRP',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n encrypted_storage_key: 'd2ddd8af8af905306f3e1456fb',\n },\n};\n\nexport const MOCK_OIDC_TOKEN_RESPONSE = {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n access_token: MOCK_ACCESS_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n expires_in: 3600,\n};\n\nexport const handleMockNonce = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_NONCE_RESPONSE };\n\n const mockNonceEndpoint = nock(MOCK_NONCE_URL)\n .persist()\n .get('')\n .query(true)\n .reply(reply.status, reply.body);\n\n return mockNonceEndpoint;\n};\n\nexport const handleMockSiweLogin = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_SIWE_LOGIN_RESPONSE };\n const mockLoginEndpoint = nock(MOCK_SIWE_LOGIN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const handleMockPairIdentifiers = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 204 };\n const mockPairIdentifiersEndpoint = nock(MOCK_PAIR_IDENTIFIERS_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockPairIdentifiersEndpoint;\n};\n\nexport const handleMockSrpLogin = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_SRP_LOGIN_RESPONSE };\n const mockLoginEndpoint = nock(MOCK_SRP_LOGIN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const handleMockOAuth2Token = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_OIDC_TOKEN_RESPONSE };\n const mockTokenEndpoint = nock(MOCK_OIDC_TOKEN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockTokenEndpoint;\n};\n\nexport const arrangeAuthAPIs = (options?: {\n mockNonceUrl?: MockReply;\n mockOAuth2TokenUrl?: MockReply;\n mockSrpLoginUrl?: MockReply;\n mockSiweLoginUrl?: MockReply;\n mockPairIdentifiers?: MockReply;\n}) => {\n const mockNonceUrl = handleMockNonce(options?.mockNonceUrl);\n const mockOAuth2TokenUrl = handleMockOAuth2Token(options?.mockOAuth2TokenUrl);\n const mockSrpLoginUrl = handleMockSrpLogin(options?.mockSrpLoginUrl);\n const mockSiweLoginUrl = handleMockSiweLogin(options?.mockSiweLoginUrl);\n const mockPairIdentifiersUrl = handleMockPairIdentifiers(\n options?.mockPairIdentifiers,\n );\n\n return {\n mockNonceUrl,\n mockOAuth2TokenUrl,\n mockSrpLoginUrl,\n mockSiweLoginUrl,\n mockPairIdentifiersUrl,\n };\n};\n"]}
@@ -19,61 +19,46 @@ const MOCK_NONCE_RESPONSE = {
19
19
  nonce: 'xGMm9SoihEKeAEfV',
20
20
  identifier: '0xd8641601Cb79a94FD872fE42d5b4a067A44a7e88',
21
21
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
22
- // eslint-disable-next-line @typescript-eslint/naming-convention
23
22
  expires_in: 300,
24
23
  };
25
24
  const MOCK_SIWE_LOGIN_RESPONSE = {
26
25
  token: MOCK_JWT,
27
26
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
28
- // eslint-disable-next-line @typescript-eslint/naming-convention
29
27
  expires_in: 3600,
30
28
  profile: {
31
29
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
32
- // eslint-disable-next-line @typescript-eslint/naming-convention
33
30
  profile_id: 'fa2bbf82-bd9a-4e6b-aabc-9ca0d0319b6e',
34
31
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
35
- // eslint-disable-next-line @typescript-eslint/naming-convention
36
32
  metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',
37
33
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
38
- // eslint-disable-next-line @typescript-eslint/naming-convention
39
34
  identifier_id: 'ec9a4e9906836497efad2fd4d4290b34d2c6a2c0d93eb174aa3cd88a133adbaf',
40
35
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
41
- // eslint-disable-next-line @typescript-eslint/naming-convention
42
36
  identifier_type: 'SIWE',
43
37
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
44
- // eslint-disable-next-line @typescript-eslint/naming-convention
45
38
  encrypted_storage_key: '2c6a2c0d93eb174aa3cd88a133adbaf',
46
39
  },
47
40
  };
48
41
  export const MOCK_SRP_LOGIN_RESPONSE = {
49
42
  token: MOCK_JWT,
50
43
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
51
- // eslint-disable-next-line @typescript-eslint/naming-convention
52
44
  expires_in: 3600,
53
45
  profile: {
54
46
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
55
- // eslint-disable-next-line @typescript-eslint/naming-convention
56
47
  profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',
57
48
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
58
- // eslint-disable-next-line @typescript-eslint/naming-convention
59
49
  metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',
60
50
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
61
- // eslint-disable-next-line @typescript-eslint/naming-convention
62
51
  identifier_id: 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',
63
52
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
64
- // eslint-disable-next-line @typescript-eslint/naming-convention
65
53
  identifier_type: 'SRP',
66
54
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
67
- // eslint-disable-next-line @typescript-eslint/naming-convention
68
55
  encrypted_storage_key: 'd2ddd8af8af905306f3e1456fb',
69
56
  },
70
57
  };
71
58
  export const MOCK_OIDC_TOKEN_RESPONSE = {
72
59
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
73
- // eslint-disable-next-line @typescript-eslint/naming-convention
74
60
  access_token: MOCK_ACCESS_JWT,
75
61
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
76
- // eslint-disable-next-line @typescript-eslint/naming-convention
77
62
  expires_in: 3600,
78
63
  };
79
64
  export const handleMockNonce = (mockReply) => {
@@ -1 +1 @@
1
- {"version":3,"file":"mock-auth.mjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-auth.ts"],"names":[],"mappings":"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","sourcesContent":["import nock from 'nock';\n\nimport { Env } from '../../shared/env';\nimport {\n NONCE_URL,\n SIWE_LOGIN_URL,\n SRP_LOGIN_URL,\n OIDC_TOKEN_URL,\n PAIR_IDENTIFIERS,\n} from '../authentication-jwt-bearer/services';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\nconst MOCK_NONCE_URL = NONCE_URL(Env.DEV);\nconst MOCK_SIWE_LOGIN_URL = SIWE_LOGIN_URL(Env.DEV);\nconst MOCK_PAIR_IDENTIFIERS_URL = PAIR_IDENTIFIERS(Env.DEV);\nconst MOCK_SRP_LOGIN_URL = SRP_LOGIN_URL(Env.DEV);\nconst MOCK_OIDC_TOKEN_URL = OIDC_TOKEN_URL(Env.DEV);\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImIwNzE2N2U2LWJjNWUtNDgyZC1hNjRhLWU1MjQ0MjY2MGU3NyJ9.eyJzdWIiOiI1MzE0ODc5YWM2NDU1OGI3OTQ5ZmI4NWIzMjg2ZjZjNjUwODAzYmFiMTY0Y2QyOWNmMmM3YzdmMjMzMWMwZTRlIiwiaWF0IjoxNzA2MTEzMDYyLCJleHAiOjE3NjkxODUwNjMsImlzcyI6ImF1dGgubWV0YW1hc2suaW8iLCJhdWQiOiJwb3J0Zm9saW8ubWV0YW1hc2suaW8ifQ.E5UL6oABNweS8t5a6IBTqTf7NLOJbrhJSmEcsr7kwLp4bGvcENJzACwnsHDkA6PlzfDV09ZhAGU_F3hlS0j-erbY0k0AFR-GAtyS7E9N02D8RgUDz5oDR65CKmzM8JilgFA8UvruJ6OJGogroaOSOqzRES_s8MjHpP47RJ9lXrUesajsbOudXbuksXWg5QmWip6LLvjwr8UUzcJzNQilyIhiEpo4WdzWM4R3VtTwr4rHnWEvtYnYCov1jmI2w3YQ48y0M-3Y9IOO0ov_vlITRrOnR7Y7fRUGLUFmU5msD8mNWRywjQFLHfJJ1yNP5aJ8TkuCK3sC6kcUH335IVvukQ';\n\nexport const MOCK_ACCESS_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\n\nconst MOCK_NONCE_RESPONSE = {\n nonce: 'xGMm9SoihEKeAEfV',\n identifier: '0xd8641601Cb79a94FD872fE42d5b4a067A44a7e88',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: 300,\n};\n\nconst MOCK_SIWE_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: 3600,\n profile: {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: 'fa2bbf82-bd9a-4e6b-aabc-9ca0d0319b6e',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id:\n 'ec9a4e9906836497efad2fd4d4290b34d2c6a2c0d93eb174aa3cd88a133adbaf',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_type: 'SIWE',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n encrypted_storage_key: '2c6a2c0d93eb174aa3cd88a133adbaf',\n },\n};\n\nexport const MOCK_SRP_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: 3600,\n profile: {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_id:\n 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n identifier_type: 'SRP',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n encrypted_storage_key: 'd2ddd8af8af905306f3e1456fb',\n },\n};\n\nexport const MOCK_OIDC_TOKEN_RESPONSE = {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n access_token: MOCK_ACCESS_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n // eslint-disable-next-line @typescript-eslint/naming-convention\n expires_in: 3600,\n};\n\nexport const handleMockNonce = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_NONCE_RESPONSE };\n\n const mockNonceEndpoint = nock(MOCK_NONCE_URL)\n .persist()\n .get('')\n .query(true)\n .reply(reply.status, reply.body);\n\n return mockNonceEndpoint;\n};\n\nexport const handleMockSiweLogin = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_SIWE_LOGIN_RESPONSE };\n const mockLoginEndpoint = nock(MOCK_SIWE_LOGIN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const handleMockPairIdentifiers = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 204 };\n const mockPairIdentifiersEndpoint = nock(MOCK_PAIR_IDENTIFIERS_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockPairIdentifiersEndpoint;\n};\n\nexport const handleMockSrpLogin = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_SRP_LOGIN_RESPONSE };\n const mockLoginEndpoint = nock(MOCK_SRP_LOGIN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const handleMockOAuth2Token = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_OIDC_TOKEN_RESPONSE };\n const mockTokenEndpoint = nock(MOCK_OIDC_TOKEN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockTokenEndpoint;\n};\n\nexport const arrangeAuthAPIs = (options?: {\n mockNonceUrl?: MockReply;\n mockOAuth2TokenUrl?: MockReply;\n mockSrpLoginUrl?: MockReply;\n mockSiweLoginUrl?: MockReply;\n mockPairIdentifiers?: MockReply;\n}) => {\n const mockNonceUrl = handleMockNonce(options?.mockNonceUrl);\n const mockOAuth2TokenUrl = handleMockOAuth2Token(options?.mockOAuth2TokenUrl);\n const mockSrpLoginUrl = handleMockSrpLogin(options?.mockSrpLoginUrl);\n const mockSiweLoginUrl = handleMockSiweLogin(options?.mockSiweLoginUrl);\n const mockPairIdentifiersUrl = handleMockPairIdentifiers(\n options?.mockPairIdentifiers,\n );\n\n return {\n mockNonceUrl,\n mockOAuth2TokenUrl,\n mockSrpLoginUrl,\n mockSiweLoginUrl,\n mockPairIdentifiersUrl,\n };\n};\n"]}
1
+ {"version":3,"file":"mock-auth.mjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-auth.ts"],"names":[],"mappings":"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","sourcesContent":["import nock from 'nock';\n\nimport { Env } from '../../shared/env';\nimport {\n NONCE_URL,\n SIWE_LOGIN_URL,\n SRP_LOGIN_URL,\n OIDC_TOKEN_URL,\n PAIR_IDENTIFIERS,\n} from '../authentication-jwt-bearer/services';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\nconst MOCK_NONCE_URL = NONCE_URL(Env.DEV);\nconst MOCK_SIWE_LOGIN_URL = SIWE_LOGIN_URL(Env.DEV);\nconst MOCK_PAIR_IDENTIFIERS_URL = PAIR_IDENTIFIERS(Env.DEV);\nconst MOCK_SRP_LOGIN_URL = SRP_LOGIN_URL(Env.DEV);\nconst MOCK_OIDC_TOKEN_URL = OIDC_TOKEN_URL(Env.DEV);\n\nexport const MOCK_JWT =\n 'eyJhbGciOiJSUzI1NiIsInR5cCI6IkpXVCIsImtpZCI6ImIwNzE2N2U2LWJjNWUtNDgyZC1hNjRhLWU1MjQ0MjY2MGU3NyJ9.eyJzdWIiOiI1MzE0ODc5YWM2NDU1OGI3OTQ5ZmI4NWIzMjg2ZjZjNjUwODAzYmFiMTY0Y2QyOWNmMmM3YzdmMjMzMWMwZTRlIiwiaWF0IjoxNzA2MTEzMDYyLCJleHAiOjE3NjkxODUwNjMsImlzcyI6ImF1dGgubWV0YW1hc2suaW8iLCJhdWQiOiJwb3J0Zm9saW8ubWV0YW1hc2suaW8ifQ.E5UL6oABNweS8t5a6IBTqTf7NLOJbrhJSmEcsr7kwLp4bGvcENJzACwnsHDkA6PlzfDV09ZhAGU_F3hlS0j-erbY0k0AFR-GAtyS7E9N02D8RgUDz5oDR65CKmzM8JilgFA8UvruJ6OJGogroaOSOqzRES_s8MjHpP47RJ9lXrUesajsbOudXbuksXWg5QmWip6LLvjwr8UUzcJzNQilyIhiEpo4WdzWM4R3VtTwr4rHnWEvtYnYCov1jmI2w3YQ48y0M-3Y9IOO0ov_vlITRrOnR7Y7fRUGLUFmU5msD8mNWRywjQFLHfJJ1yNP5aJ8TkuCK3sC6kcUH335IVvukQ';\n\nexport const MOCK_ACCESS_JWT =\n 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c';\n\nconst MOCK_NONCE_RESPONSE = {\n nonce: 'xGMm9SoihEKeAEfV',\n identifier: '0xd8641601Cb79a94FD872fE42d5b4a067A44a7e88',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n expires_in: 300,\n};\n\nconst MOCK_SIWE_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n expires_in: 3600,\n profile: {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n profile_id: 'fa2bbf82-bd9a-4e6b-aabc-9ca0d0319b6e',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n metametrics_id: 'de742679-4960-4977-a415-4718b5f8e86c',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n identifier_id:\n 'ec9a4e9906836497efad2fd4d4290b34d2c6a2c0d93eb174aa3cd88a133adbaf',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n identifier_type: 'SIWE',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n encrypted_storage_key: '2c6a2c0d93eb174aa3cd88a133adbaf',\n },\n};\n\nexport const MOCK_SRP_LOGIN_RESPONSE = {\n token: MOCK_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n expires_in: 3600,\n profile: {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n profile_id: 'f88227bd-b615-41a3-b0be-467dd781a4ad',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n metametrics_id: '561ec651-a844-4b36-a451-04d6eac35740',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n identifier_id:\n 'da9a9fc7b09edde9cc23cec9b7e11a71fb0ab4d2ddd8af8af905306f3e1456fb',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n identifier_type: 'SRP',\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n encrypted_storage_key: 'd2ddd8af8af905306f3e1456fb',\n },\n};\n\nexport const MOCK_OIDC_TOKEN_RESPONSE = {\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n access_token: MOCK_ACCESS_JWT,\n // TODO: Either fix this lint violation or explain why it's necessary to ignore.\n\n expires_in: 3600,\n};\n\nexport const handleMockNonce = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_NONCE_RESPONSE };\n\n const mockNonceEndpoint = nock(MOCK_NONCE_URL)\n .persist()\n .get('')\n .query(true)\n .reply(reply.status, reply.body);\n\n return mockNonceEndpoint;\n};\n\nexport const handleMockSiweLogin = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_SIWE_LOGIN_RESPONSE };\n const mockLoginEndpoint = nock(MOCK_SIWE_LOGIN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const handleMockPairIdentifiers = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 204 };\n const mockPairIdentifiersEndpoint = nock(MOCK_PAIR_IDENTIFIERS_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockPairIdentifiersEndpoint;\n};\n\nexport const handleMockSrpLogin = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_SRP_LOGIN_RESPONSE };\n const mockLoginEndpoint = nock(MOCK_SRP_LOGIN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockLoginEndpoint;\n};\n\nexport const handleMockOAuth2Token = (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 200, body: MOCK_OIDC_TOKEN_RESPONSE };\n const mockTokenEndpoint = nock(MOCK_OIDC_TOKEN_URL)\n .persist()\n .post('')\n .reply(reply.status, reply.body);\n\n return mockTokenEndpoint;\n};\n\nexport const arrangeAuthAPIs = (options?: {\n mockNonceUrl?: MockReply;\n mockOAuth2TokenUrl?: MockReply;\n mockSrpLoginUrl?: MockReply;\n mockSiweLoginUrl?: MockReply;\n mockPairIdentifiers?: MockReply;\n}) => {\n const mockNonceUrl = handleMockNonce(options?.mockNonceUrl);\n const mockOAuth2TokenUrl = handleMockOAuth2Token(options?.mockOAuth2TokenUrl);\n const mockSrpLoginUrl = handleMockSrpLogin(options?.mockSrpLoginUrl);\n const mockSiweLoginUrl = handleMockSiweLogin(options?.mockSiweLoginUrl);\n const mockPairIdentifiersUrl = handleMockPairIdentifiers(\n options?.mockPairIdentifiers,\n );\n\n return {\n mockNonceUrl,\n mockOAuth2TokenUrl,\n mockSrpLoginUrl,\n mockSiweLoginUrl,\n mockPairIdentifiersUrl,\n };\n};\n"]}
@@ -36,8 +36,6 @@ const user_storage_1 = require("../user-storage.cjs");
36
36
  const MOCK_STORAGE_URL = (0, user_storage_1.STORAGE_URL)(env_1.Env.DEV, `${storage_schema_1.USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`);
37
37
  const MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES = (0, user_storage_1.STORAGE_URL)(env_1.Env.DEV, storage_schema_1.USER_STORAGE_FEATURE_NAMES.notifications);
38
38
  exports.MOCK_STORAGE_KEY = (0, encryption_1.createSHA256Hash)('mockStorageKey');
39
- // TODO: Either fix this lint violation or explain why it's necessary to ignore.
40
- // eslint-disable-next-line @typescript-eslint/naming-convention
41
39
  exports.MOCK_NOTIFICATIONS_DATA = '{ is_compact: false }';
42
40
  const MOCK_NOTIFICATIONS_DATA_ENCRYPTED = async (data) => await encryption_1.default.encryptString(data ?? exports.MOCK_NOTIFICATIONS_DATA, exports.MOCK_STORAGE_KEY);
43
41
  exports.MOCK_NOTIFICATIONS_DATA_ENCRYPTED = MOCK_NOTIFICATIONS_DATA_ENCRYPTED;
@@ -1 +1 @@
1
- {"version":3,"file":"mock-userstorage.cjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-userstorage.ts"],"names":[],"mappings":"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","sourcesContent":["import nock from 'nock';\n\nimport encryption, { createSHA256Hash } from '../../shared/encryption';\nimport { Env } from '../../shared/env';\nimport { USER_STORAGE_FEATURE_NAMES } from '../../shared/storage-schema';\nimport { STORAGE_URL } from '../user-storage';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\n// Example mock notifications storage entry (wildcard)\nconst MOCK_STORAGE_URL = STORAGE_URL(\n Env.DEV,\n `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n);\nconst MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES = STORAGE_URL(\n Env.DEV,\n USER_STORAGE_FEATURE_NAMES.notifications,\n);\n\nexport const MOCK_STORAGE_KEY = createSHA256Hash('mockStorageKey');\n// TODO: Either fix this lint violation or explain why it's necessary to ignore.\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MOCK_NOTIFICATIONS_DATA = '{ is_compact: false }';\nexport const MOCK_NOTIFICATIONS_DATA_ENCRYPTED = async (data?: string) =>\n await encryption.encryptString(\n data ?? MOCK_NOTIFICATIONS_DATA,\n MOCK_STORAGE_KEY,\n );\n\nexport const MOCK_STORAGE_RESPONSE = async (data?: string) => ({\n HashedKey: '8485d2c14c333ebca415140a276adaf546619b0efc204586b73a5d400a18a5e2',\n Data: await MOCK_NOTIFICATIONS_DATA_ENCRYPTED(data),\n});\n\nexport const handleMockUserStorageGet = async (mockReply?: MockReply) => {\n const reply = mockReply ?? {\n status: 200,\n body: await MOCK_STORAGE_RESPONSE(),\n };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .get(/.*/u)\n .reply(reply.status, reply.body);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageGetAllFeatureEntries = async (\n mockReply?: MockReply,\n) => {\n const reply = mockReply ?? {\n status: 200,\n body: [await MOCK_STORAGE_RESPONSE()],\n };\n const mockEndpoint = nock(MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES)\n .persist()\n .get('')\n .reply(reply.status, reply.body);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStoragePut = (\n mockReply?: MockReply,\n callback?: (uri: string, requestBody: nock.Body) => Promise<void>,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .put(/.*/u)\n .reply(reply.status, async (uri, requestBody) => {\n return await callback?.(uri, requestBody);\n });\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageBatchDelete = (\n mockReply?: MockReply,\n callback?: (uri: string, requestBody: nock.Body) => Promise<void>,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .put(/.*/u)\n .reply(reply.status, async (uri, requestBody) => {\n return await callback?.(uri, requestBody);\n });\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageDelete = async (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .delete(/.*/u)\n .reply(reply.status);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageDeleteAllFeatureEntries = async (\n mockReply?: MockReply,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES)\n .persist()\n .delete('')\n .reply(reply.status);\n\n return mockEndpoint;\n};\n"]}
1
+ {"version":3,"file":"mock-userstorage.cjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-userstorage.ts"],"names":[],"mappings":"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","sourcesContent":["import nock from 'nock';\n\nimport encryption, { createSHA256Hash } from '../../shared/encryption';\nimport { Env } from '../../shared/env';\nimport { USER_STORAGE_FEATURE_NAMES } from '../../shared/storage-schema';\nimport { STORAGE_URL } from '../user-storage';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\n// Example mock notifications storage entry (wildcard)\nconst MOCK_STORAGE_URL = STORAGE_URL(\n Env.DEV,\n `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n);\nconst MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES = STORAGE_URL(\n Env.DEV,\n USER_STORAGE_FEATURE_NAMES.notifications,\n);\n\nexport const MOCK_STORAGE_KEY = createSHA256Hash('mockStorageKey');\nexport const MOCK_NOTIFICATIONS_DATA = '{ is_compact: false }';\nexport const MOCK_NOTIFICATIONS_DATA_ENCRYPTED = async (data?: string) =>\n await encryption.encryptString(\n data ?? MOCK_NOTIFICATIONS_DATA,\n MOCK_STORAGE_KEY,\n );\n\nexport const MOCK_STORAGE_RESPONSE = async (data?: string) => ({\n HashedKey: '8485d2c14c333ebca415140a276adaf546619b0efc204586b73a5d400a18a5e2',\n Data: await MOCK_NOTIFICATIONS_DATA_ENCRYPTED(data),\n});\n\nexport const handleMockUserStorageGet = async (mockReply?: MockReply) => {\n const reply = mockReply ?? {\n status: 200,\n body: await MOCK_STORAGE_RESPONSE(),\n };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .get(/.*/u)\n .reply(reply.status, reply.body);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageGetAllFeatureEntries = async (\n mockReply?: MockReply,\n) => {\n const reply = mockReply ?? {\n status: 200,\n body: [await MOCK_STORAGE_RESPONSE()],\n };\n const mockEndpoint = nock(MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES)\n .persist()\n .get('')\n .reply(reply.status, reply.body);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStoragePut = (\n mockReply?: MockReply,\n callback?: (uri: string, requestBody: nock.Body) => Promise<void>,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .put(/.*/u)\n .reply(reply.status, async (uri, requestBody) => {\n return await callback?.(uri, requestBody);\n });\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageBatchDelete = (\n mockReply?: MockReply,\n callback?: (uri: string, requestBody: nock.Body) => Promise<void>,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .put(/.*/u)\n .reply(reply.status, async (uri, requestBody) => {\n return await callback?.(uri, requestBody);\n });\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageDelete = async (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .delete(/.*/u)\n .reply(reply.status);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageDeleteAllFeatureEntries = async (\n mockReply?: MockReply,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES)\n .persist()\n .delete('')\n .reply(reply.status);\n\n return mockEndpoint;\n};\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"mock-userstorage.d.cts","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-userstorage.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,aAAa;AAOxB,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;CAClB,CAAC;AAYF,eAAO,MAAM,gBAAgB,QAAqC,CAAC;AAGnE,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D,eAAO,MAAM,iCAAiC,UAAiB,MAAM,oBAIlE,CAAC;AAEJ,eAAO,MAAM,qBAAqB,UAAiB,MAAM;;;EAGvD,CAAC;AAEH,eAAO,MAAM,wBAAwB,eAAsB,SAAS,wBAWnE,CAAC;AAEF,eAAO,MAAM,yCAAyC,eACxC,SAAS,wBAYtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,eACvB,SAAS,oBACJ,MAAM,eAAe,SAAS,KAAK,QAAQ,IAAI,CAAC,4BAWlE,CAAC;AAEF,eAAO,MAAM,gCAAgC,eAC/B,SAAS,oBACJ,MAAM,eAAe,SAAS,KAAK,QAAQ,IAAI,CAAC,4BAWlE,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAsB,SAAS,wBAQtE,CAAC;AAEF,eAAO,MAAM,4CAA4C,eAC3C,SAAS,wBAStB,CAAC"}
1
+ {"version":3,"file":"mock-userstorage.d.cts","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-userstorage.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,aAAa;AAOxB,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;CAClB,CAAC;AAYF,eAAO,MAAM,gBAAgB,QAAqC,CAAC;AACnE,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D,eAAO,MAAM,iCAAiC,UAAiB,MAAM,oBAIlE,CAAC;AAEJ,eAAO,MAAM,qBAAqB,UAAiB,MAAM;;;EAGvD,CAAC;AAEH,eAAO,MAAM,wBAAwB,eAAsB,SAAS,wBAWnE,CAAC;AAEF,eAAO,MAAM,yCAAyC,eACxC,SAAS,wBAYtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,eACvB,SAAS,oBACJ,MAAM,eAAe,SAAS,KAAK,QAAQ,IAAI,CAAC,4BAWlE,CAAC;AAEF,eAAO,MAAM,gCAAgC,eAC/B,SAAS,oBACJ,MAAM,eAAe,SAAS,KAAK,QAAQ,IAAI,CAAC,4BAWlE,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAsB,SAAS,wBAQtE,CAAC;AAEF,eAAO,MAAM,4CAA4C,eAC3C,SAAS,wBAStB,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mock-userstorage.d.mts","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-userstorage.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,aAAa;AAOxB,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;CAClB,CAAC;AAYF,eAAO,MAAM,gBAAgB,QAAqC,CAAC;AAGnE,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D,eAAO,MAAM,iCAAiC,UAAiB,MAAM,oBAIlE,CAAC;AAEJ,eAAO,MAAM,qBAAqB,UAAiB,MAAM;;;EAGvD,CAAC;AAEH,eAAO,MAAM,wBAAwB,eAAsB,SAAS,wBAWnE,CAAC;AAEF,eAAO,MAAM,yCAAyC,eACxC,SAAS,wBAYtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,eACvB,SAAS,oBACJ,MAAM,eAAe,SAAS,KAAK,QAAQ,IAAI,CAAC,4BAWlE,CAAC;AAEF,eAAO,MAAM,gCAAgC,eAC/B,SAAS,oBACJ,MAAM,eAAe,SAAS,KAAK,QAAQ,IAAI,CAAC,4BAWlE,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAsB,SAAS,wBAQtE,CAAC;AAEF,eAAO,MAAM,4CAA4C,eAC3C,SAAS,wBAStB,CAAC"}
1
+ {"version":3,"file":"mock-userstorage.d.mts","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-userstorage.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,aAAa;AAOxB,KAAK,SAAS,GAAG;IACf,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC;IACxB,IAAI,CAAC,EAAE,IAAI,CAAC,IAAI,CAAC;CAClB,CAAC;AAYF,eAAO,MAAM,gBAAgB,QAAqC,CAAC;AACnE,eAAO,MAAM,uBAAuB,0BAA0B,CAAC;AAC/D,eAAO,MAAM,iCAAiC,UAAiB,MAAM,oBAIlE,CAAC;AAEJ,eAAO,MAAM,qBAAqB,UAAiB,MAAM;;;EAGvD,CAAC;AAEH,eAAO,MAAM,wBAAwB,eAAsB,SAAS,wBAWnE,CAAC;AAEF,eAAO,MAAM,yCAAyC,eACxC,SAAS,wBAYtB,CAAC;AAEF,eAAO,MAAM,wBAAwB,eACvB,SAAS,oBACJ,MAAM,eAAe,SAAS,KAAK,QAAQ,IAAI,CAAC,4BAWlE,CAAC;AAEF,eAAO,MAAM,gCAAgC,eAC/B,SAAS,oBACJ,MAAM,eAAe,SAAS,KAAK,QAAQ,IAAI,CAAC,4BAWlE,CAAC;AAEF,eAAO,MAAM,2BAA2B,eAAsB,SAAS,wBAQtE,CAAC;AAEF,eAAO,MAAM,4CAA4C,eAC3C,SAAS,wBAStB,CAAC"}
@@ -14,8 +14,6 @@ import { STORAGE_URL } from "../user-storage.mjs";
14
14
  const MOCK_STORAGE_URL = STORAGE_URL(Env.DEV, `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`);
15
15
  const MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES = STORAGE_URL(Env.DEV, USER_STORAGE_FEATURE_NAMES.notifications);
16
16
  export const MOCK_STORAGE_KEY = createSHA256Hash('mockStorageKey');
17
- // TODO: Either fix this lint violation or explain why it's necessary to ignore.
18
- // eslint-disable-next-line @typescript-eslint/naming-convention
19
17
  export const MOCK_NOTIFICATIONS_DATA = '{ is_compact: false }';
20
18
  export const MOCK_NOTIFICATIONS_DATA_ENCRYPTED = async (data) => await encryption.encryptString(data ?? MOCK_NOTIFICATIONS_DATA, MOCK_STORAGE_KEY);
21
19
  export const MOCK_STORAGE_RESPONSE = async (data) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"mock-userstorage.mjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-userstorage.ts"],"names":[],"mappings":"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","sourcesContent":["import nock from 'nock';\n\nimport encryption, { createSHA256Hash } from '../../shared/encryption';\nimport { Env } from '../../shared/env';\nimport { USER_STORAGE_FEATURE_NAMES } from '../../shared/storage-schema';\nimport { STORAGE_URL } from '../user-storage';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\n// Example mock notifications storage entry (wildcard)\nconst MOCK_STORAGE_URL = STORAGE_URL(\n Env.DEV,\n `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n);\nconst MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES = STORAGE_URL(\n Env.DEV,\n USER_STORAGE_FEATURE_NAMES.notifications,\n);\n\nexport const MOCK_STORAGE_KEY = createSHA256Hash('mockStorageKey');\n// TODO: Either fix this lint violation or explain why it's necessary to ignore.\n// eslint-disable-next-line @typescript-eslint/naming-convention\nexport const MOCK_NOTIFICATIONS_DATA = '{ is_compact: false }';\nexport const MOCK_NOTIFICATIONS_DATA_ENCRYPTED = async (data?: string) =>\n await encryption.encryptString(\n data ?? MOCK_NOTIFICATIONS_DATA,\n MOCK_STORAGE_KEY,\n );\n\nexport const MOCK_STORAGE_RESPONSE = async (data?: string) => ({\n HashedKey: '8485d2c14c333ebca415140a276adaf546619b0efc204586b73a5d400a18a5e2',\n Data: await MOCK_NOTIFICATIONS_DATA_ENCRYPTED(data),\n});\n\nexport const handleMockUserStorageGet = async (mockReply?: MockReply) => {\n const reply = mockReply ?? {\n status: 200,\n body: await MOCK_STORAGE_RESPONSE(),\n };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .get(/.*/u)\n .reply(reply.status, reply.body);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageGetAllFeatureEntries = async (\n mockReply?: MockReply,\n) => {\n const reply = mockReply ?? {\n status: 200,\n body: [await MOCK_STORAGE_RESPONSE()],\n };\n const mockEndpoint = nock(MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES)\n .persist()\n .get('')\n .reply(reply.status, reply.body);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStoragePut = (\n mockReply?: MockReply,\n callback?: (uri: string, requestBody: nock.Body) => Promise<void>,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .put(/.*/u)\n .reply(reply.status, async (uri, requestBody) => {\n return await callback?.(uri, requestBody);\n });\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageBatchDelete = (\n mockReply?: MockReply,\n callback?: (uri: string, requestBody: nock.Body) => Promise<void>,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .put(/.*/u)\n .reply(reply.status, async (uri, requestBody) => {\n return await callback?.(uri, requestBody);\n });\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageDelete = async (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .delete(/.*/u)\n .reply(reply.status);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageDeleteAllFeatureEntries = async (\n mockReply?: MockReply,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES)\n .persist()\n .delete('')\n .reply(reply.status);\n\n return mockEndpoint;\n};\n"]}
1
+ {"version":3,"file":"mock-userstorage.mjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/mock-userstorage.ts"],"names":[],"mappings":"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","sourcesContent":["import nock from 'nock';\n\nimport encryption, { createSHA256Hash } from '../../shared/encryption';\nimport { Env } from '../../shared/env';\nimport { USER_STORAGE_FEATURE_NAMES } from '../../shared/storage-schema';\nimport { STORAGE_URL } from '../user-storage';\n\ntype MockReply = {\n status: nock.StatusCode;\n body?: nock.Body;\n};\n\n// Example mock notifications storage entry (wildcard)\nconst MOCK_STORAGE_URL = STORAGE_URL(\n Env.DEV,\n `${USER_STORAGE_FEATURE_NAMES.notifications}.notification_settings`,\n);\nconst MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES = STORAGE_URL(\n Env.DEV,\n USER_STORAGE_FEATURE_NAMES.notifications,\n);\n\nexport const MOCK_STORAGE_KEY = createSHA256Hash('mockStorageKey');\nexport const MOCK_NOTIFICATIONS_DATA = '{ is_compact: false }';\nexport const MOCK_NOTIFICATIONS_DATA_ENCRYPTED = async (data?: string) =>\n await encryption.encryptString(\n data ?? MOCK_NOTIFICATIONS_DATA,\n MOCK_STORAGE_KEY,\n );\n\nexport const MOCK_STORAGE_RESPONSE = async (data?: string) => ({\n HashedKey: '8485d2c14c333ebca415140a276adaf546619b0efc204586b73a5d400a18a5e2',\n Data: await MOCK_NOTIFICATIONS_DATA_ENCRYPTED(data),\n});\n\nexport const handleMockUserStorageGet = async (mockReply?: MockReply) => {\n const reply = mockReply ?? {\n status: 200,\n body: await MOCK_STORAGE_RESPONSE(),\n };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .get(/.*/u)\n .reply(reply.status, reply.body);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageGetAllFeatureEntries = async (\n mockReply?: MockReply,\n) => {\n const reply = mockReply ?? {\n status: 200,\n body: [await MOCK_STORAGE_RESPONSE()],\n };\n const mockEndpoint = nock(MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES)\n .persist()\n .get('')\n .reply(reply.status, reply.body);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStoragePut = (\n mockReply?: MockReply,\n callback?: (uri: string, requestBody: nock.Body) => Promise<void>,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .put(/.*/u)\n .reply(reply.status, async (uri, requestBody) => {\n return await callback?.(uri, requestBody);\n });\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageBatchDelete = (\n mockReply?: MockReply,\n callback?: (uri: string, requestBody: nock.Body) => Promise<void>,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .put(/.*/u)\n .reply(reply.status, async (uri, requestBody) => {\n return await callback?.(uri, requestBody);\n });\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageDelete = async (mockReply?: MockReply) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL)\n .persist()\n .delete(/.*/u)\n .reply(reply.status);\n\n return mockEndpoint;\n};\n\nexport const handleMockUserStorageDeleteAllFeatureEntries = async (\n mockReply?: MockReply,\n) => {\n const reply = mockReply ?? { status: 204 };\n const mockEndpoint = nock(MOCK_STORAGE_URL_ALL_FEATURE_ENTRIES)\n .persist()\n .delete('')\n .reply(reply.status);\n\n return mockEndpoint;\n};\n"]}
@@ -7,7 +7,7 @@ const types_1 = require("../authentication-jwt-bearer/types.cjs");
7
7
  const messaging_signing_snap_requests_1 = require("../utils/messaging-signing-snap-requests.cjs");
8
8
  // Utility for mocking, the generics will constrain values
9
9
  // TODO: Either fix this lint violation or explain why it's necessary to ignore.
10
- // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/naming-convention
10
+ // eslint-disable-next-line @typescript-eslint/no-explicit-any
11
11
  const typedMockFn = () => jest.fn();
12
12
  exports.typedMockFn = typedMockFn;
13
13
  const mockAuthOptions = () => {
@@ -76,6 +76,7 @@ function arrangeAuth(type, mockPublicKey, authOptionsOverride) {
76
76
  exports.arrangeAuth = arrangeAuth;
77
77
  /**
78
78
  * Mock utility - creates a mock provider
79
+ *
79
80
  * @returns mock provider
80
81
  */
81
82
  const arrangeMockProvider = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"test-utils.cjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/test-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Eip1193Provider } from 'ethers';\n\nimport { Env, Platform } from '../../shared/env';\nimport { JwtBearerAuth } from '../authentication';\nimport type {\n AuthSigningOptions,\n AuthStorageOptions,\n} from '../authentication-jwt-bearer/types';\nimport { AuthType } from '../authentication-jwt-bearer/types';\nimport { SNAP_ORIGIN } from '../utils/messaging-signing-snap-requests';\n\n// Alias mocking variables with ANY to test runtime safety.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type MockVariable = any;\n\n// Utility for mocking, the generics will constrain values\n// TODO: Either fix this lint violation or explain why it's necessary to ignore.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/naming-convention\nexport const typedMockFn = <Fn extends (...args: any[]) => any>() =>\n jest.fn<ReturnType<Fn>, Parameters<Fn>>();\n\nconst mockAuthOptions = () => {\n const mockGetLoginResponse =\n typedMockFn<AuthStorageOptions['getLoginResponse']>();\n\n const mockSetLoginResponse =\n typedMockFn<AuthStorageOptions['setLoginResponse']>();\n\n const mockGetIdentifier = typedMockFn<AuthSigningOptions['getIdentifier']>();\n\n const mockSignMessage = typedMockFn<AuthSigningOptions['signMessage']>();\n\n return {\n mockGetLoginResponse,\n mockSetLoginResponse,\n mockGetIdentifier,\n mockSignMessage,\n };\n};\n\n/**\n * Mock Utility - Arrange Auth\n *\n * @param type - choose SIWE or SRP Auth instance\n * @param mockPublicKey - provide the mock public key\n * @param authOptionsOverride - overrides\n * @param authOptionsOverride.signing - override auth signing\n * @param authOptionsOverride.customProvider - override custom provider\n * @returns Auth instance\n */\nexport function arrangeAuth(\n type: `${AuthType}`,\n mockPublicKey: string,\n authOptionsOverride?: {\n signing?: AuthSigningOptions;\n customProvider?: Eip1193Provider;\n },\n) {\n const authOptionsMock = mockAuthOptions();\n authOptionsMock.mockGetLoginResponse.mockResolvedValue(null);\n authOptionsMock.mockSetLoginResponse.mockResolvedValue();\n authOptionsMock.mockGetIdentifier.mockResolvedValue(mockPublicKey);\n authOptionsMock.mockSignMessage.mockResolvedValue(\n type === 'SRP' ? 'MOCK_SRP_SIGNATURE' : 'MOCK_SIWE_SIGNATURE',\n );\n\n if (type === 'SRP') {\n const auth = new JwtBearerAuth(\n {\n env: Env.DEV,\n platform: Platform.EXTENSION,\n type: AuthType.SRP,\n },\n {\n customProvider: authOptionsOverride?.customProvider,\n storage: {\n getLoginResponse: authOptionsMock.mockGetLoginResponse,\n setLoginResponse: authOptionsMock.mockSetLoginResponse,\n },\n signing: authOptionsOverride\n ? authOptionsOverride.signing\n : {\n getIdentifier: authOptionsMock.mockGetIdentifier,\n signMessage: authOptionsMock.mockSignMessage,\n },\n },\n );\n\n return { auth, ...authOptionsMock };\n }\n\n if (type === 'SiWE') {\n const auth = new JwtBearerAuth(\n {\n env: Env.DEV,\n platform: Platform.EXTENSION,\n type: AuthType.SiWE,\n },\n {\n storage: {\n getLoginResponse: authOptionsMock.mockGetLoginResponse,\n setLoginResponse: authOptionsMock.mockSetLoginResponse,\n },\n },\n );\n\n return { auth, ...authOptionsMock };\n }\n\n throw new Error('Unable to arrange auth mock for invalid auth type');\n}\n\n/**\n * Mock utility - creates a mock provider\n * @returns mock provider\n */\nexport const arrangeMockProvider = () => {\n const mockRequest = jest.fn().mockResolvedValue({ [SNAP_ORIGIN]: {} });\n const mockProvider: Eip1193Provider = {\n request: mockRequest,\n };\n\n return { mockProvider, mockRequest };\n};\n"]}
1
+ {"version":3,"file":"test-utils.cjs","sourceRoot":"","sources":["../../../src/sdk/__fixtures__/test-utils.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Eip1193Provider } from 'ethers';\n\nimport { Env, Platform } from '../../shared/env';\nimport { JwtBearerAuth } from '../authentication';\nimport type {\n AuthSigningOptions,\n AuthStorageOptions,\n} from '../authentication-jwt-bearer/types';\nimport { AuthType } from '../authentication-jwt-bearer/types';\nimport { SNAP_ORIGIN } from '../utils/messaging-signing-snap-requests';\n\n// Alias mocking variables with ANY to test runtime safety.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport type MockVariable = any;\n\n// Utility for mocking, the generics will constrain values\n// TODO: Either fix this lint violation or explain why it's necessary to ignore.\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport const typedMockFn = <Fn extends (...args: any[]) => any>() =>\n jest.fn<ReturnType<Fn>, Parameters<Fn>>();\n\nconst mockAuthOptions = () => {\n const mockGetLoginResponse =\n typedMockFn<AuthStorageOptions['getLoginResponse']>();\n\n const mockSetLoginResponse =\n typedMockFn<AuthStorageOptions['setLoginResponse']>();\n\n const mockGetIdentifier = typedMockFn<AuthSigningOptions['getIdentifier']>();\n\n const mockSignMessage = typedMockFn<AuthSigningOptions['signMessage']>();\n\n return {\n mockGetLoginResponse,\n mockSetLoginResponse,\n mockGetIdentifier,\n mockSignMessage,\n };\n};\n\n/**\n * Mock Utility - Arrange Auth\n *\n * @param type - choose SIWE or SRP Auth instance\n * @param mockPublicKey - provide the mock public key\n * @param authOptionsOverride - overrides\n * @param authOptionsOverride.signing - override auth signing\n * @param authOptionsOverride.customProvider - override custom provider\n * @returns Auth instance\n */\nexport function arrangeAuth(\n type: `${AuthType}`,\n mockPublicKey: string,\n authOptionsOverride?: {\n signing?: AuthSigningOptions;\n customProvider?: Eip1193Provider;\n },\n) {\n const authOptionsMock = mockAuthOptions();\n authOptionsMock.mockGetLoginResponse.mockResolvedValue(null);\n authOptionsMock.mockSetLoginResponse.mockResolvedValue();\n authOptionsMock.mockGetIdentifier.mockResolvedValue(mockPublicKey);\n authOptionsMock.mockSignMessage.mockResolvedValue(\n type === 'SRP' ? 'MOCK_SRP_SIGNATURE' : 'MOCK_SIWE_SIGNATURE',\n );\n\n if (type === 'SRP') {\n const auth = new JwtBearerAuth(\n {\n env: Env.DEV,\n platform: Platform.EXTENSION,\n type: AuthType.SRP,\n },\n {\n customProvider: authOptionsOverride?.customProvider,\n storage: {\n getLoginResponse: authOptionsMock.mockGetLoginResponse,\n setLoginResponse: authOptionsMock.mockSetLoginResponse,\n },\n signing: authOptionsOverride\n ? authOptionsOverride.signing\n : {\n getIdentifier: authOptionsMock.mockGetIdentifier,\n signMessage: authOptionsMock.mockSignMessage,\n },\n },\n );\n\n return { auth, ...authOptionsMock };\n }\n\n if (type === 'SiWE') {\n const auth = new JwtBearerAuth(\n {\n env: Env.DEV,\n platform: Platform.EXTENSION,\n type: AuthType.SiWE,\n },\n {\n storage: {\n getLoginResponse: authOptionsMock.mockGetLoginResponse,\n setLoginResponse: authOptionsMock.mockSetLoginResponse,\n },\n },\n );\n\n return { auth, ...authOptionsMock };\n }\n\n throw new Error('Unable to arrange auth mock for invalid auth type');\n}\n\n/**\n * Mock utility - creates a mock provider\n *\n * @returns mock provider\n */\nexport const arrangeMockProvider = () => {\n const mockRequest = jest.fn().mockResolvedValue({ [SNAP_ORIGIN]: {} });\n const mockProvider: Eip1193Provider = {\n request: mockRequest,\n };\n\n return { mockProvider, mockRequest };\n};\n"]}
@@ -27,6 +27,7 @@ export declare function arrangeAuth(type: `${AuthType}`, mockPublicKey: string,
27
27
  };
28
28
  /**
29
29
  * Mock utility - creates a mock provider
30
+ *
30
31
  * @returns mock provider
31
32
  */
32
33
  export declare const arrangeMockProvider: () => {