simplelogin-client 0.4.2 → 0.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (368) hide show
  1. package/README.md +37 -24
  2. package/docs/development.md +14 -0
  3. package/docs/faq.md +17 -19
  4. package/package.json +11 -14
  5. package/tscBuild/scripts/constants.d.ts +13 -0
  6. package/tscBuild/scripts/constants.js +21 -0
  7. package/tscBuild/scripts/constants.js.map +1 -0
  8. package/tscBuild/scripts/index.d.ts +1 -0
  9. package/tscBuild/scripts/index.js +7 -0
  10. package/tscBuild/scripts/index.js.map +1 -0
  11. package/tscBuild/scripts/run.d.ts +1 -0
  12. package/tscBuild/scripts/run.js +64 -0
  13. package/tscBuild/scripts/run.js.map +1 -0
  14. package/tscBuild/scripts/steps/buildDocs.d.ts +1 -0
  15. package/tscBuild/scripts/steps/buildDocs.js +17 -0
  16. package/tscBuild/scripts/steps/buildDocs.js.map +1 -0
  17. package/tscBuild/scripts/steps/buildMockServer.d.ts +1 -0
  18. package/tscBuild/scripts/steps/buildMockServer.js +36 -0
  19. package/tscBuild/scripts/steps/buildMockServer.js.map +1 -0
  20. package/tscBuild/scripts/steps/buildOAS.d.ts +1 -0
  21. package/tscBuild/scripts/steps/buildOAS.js +20 -0
  22. package/tscBuild/scripts/steps/buildOAS.js.map +1 -0
  23. package/tscBuild/scripts/steps/buildPagesIndex.d.ts +1 -0
  24. package/tscBuild/scripts/steps/buildPagesIndex.js +18 -0
  25. package/tscBuild/scripts/steps/buildPagesIndex.js.map +1 -0
  26. package/tscBuild/scripts/steps/buildSdk.d.ts +1 -0
  27. package/tscBuild/scripts/steps/buildSdk.js +42 -0
  28. package/tscBuild/scripts/steps/buildSdk.js.map +1 -0
  29. package/tscBuild/scripts/steps/buildSrc.d.ts +1 -0
  30. package/tscBuild/scripts/steps/buildSrc.js +11 -0
  31. package/tscBuild/scripts/steps/buildSrc.js.map +1 -0
  32. package/tscBuild/scripts/steps/checkCodegen.d.ts +1 -0
  33. package/tscBuild/scripts/steps/checkCodegen.js +16 -0
  34. package/tscBuild/scripts/steps/checkCodegen.js.map +1 -0
  35. package/tscBuild/scripts/steps/clean.d.ts +2 -0
  36. package/tscBuild/scripts/steps/clean.js +30 -0
  37. package/tscBuild/scripts/steps/clean.js.map +1 -0
  38. package/tscBuild/scripts/steps/format.d.ts +1 -0
  39. package/tscBuild/scripts/steps/format.js +11 -0
  40. package/tscBuild/scripts/steps/format.js.map +1 -0
  41. package/tscBuild/scripts/steps/index.d.ts +13 -0
  42. package/tscBuild/scripts/steps/index.js +30 -0
  43. package/tscBuild/scripts/steps/index.js.map +1 -0
  44. package/tscBuild/scripts/steps/lint.d.ts +1 -0
  45. package/tscBuild/scripts/steps/lint.js +12 -0
  46. package/tscBuild/scripts/steps/lint.js.map +1 -0
  47. package/tscBuild/scripts/steps/startMockServer.d.ts +1 -0
  48. package/tscBuild/scripts/steps/startMockServer.js +12 -0
  49. package/tscBuild/scripts/steps/startMockServer.js.map +1 -0
  50. package/tscBuild/scripts/steps/stopMockServer.d.ts +1 -0
  51. package/tscBuild/scripts/steps/stopMockServer.js +12 -0
  52. package/tscBuild/scripts/steps/stopMockServer.js.map +1 -0
  53. package/tscBuild/scripts/steps/templates/pagesIndex.d.ts +1 -0
  54. package/tscBuild/scripts/steps/templates/pagesIndex.js +139 -0
  55. package/tscBuild/scripts/steps/templates/pagesIndex.js.map +1 -0
  56. package/tscBuild/scripts/steps/test.d.ts +1 -0
  57. package/tscBuild/scripts/steps/test.js +11 -0
  58. package/tscBuild/scripts/steps/test.js.map +1 -0
  59. package/tscBuild/scripts/task/build.d.ts +2 -0
  60. package/tscBuild/scripts/task/build.js +18 -0
  61. package/tscBuild/scripts/task/build.js.map +1 -0
  62. package/tscBuild/scripts/task/buildDocs.d.ts +2 -0
  63. package/tscBuild/scripts/task/buildDocs.js +15 -0
  64. package/tscBuild/scripts/task/buildDocs.js.map +1 -0
  65. package/tscBuild/scripts/task/buildMockServer.d.ts +2 -0
  66. package/tscBuild/scripts/task/buildMockServer.js +9 -0
  67. package/tscBuild/scripts/task/buildMockServer.js.map +1 -0
  68. package/tscBuild/scripts/task/ci.d.ts +2 -0
  69. package/tscBuild/scripts/task/ci.js +12 -0
  70. package/tscBuild/scripts/task/ci.js.map +1 -0
  71. package/tscBuild/scripts/task/dependencyUpdate.d.ts +2 -0
  72. package/tscBuild/scripts/task/dependencyUpdate.js +10 -0
  73. package/tscBuild/scripts/task/dependencyUpdate.js.map +1 -0
  74. package/tscBuild/scripts/task/index.d.ts +6 -0
  75. package/tscBuild/scripts/task/index.js +43 -0
  76. package/tscBuild/scripts/task/index.js.map +1 -0
  77. package/tscBuild/scripts/task/rebuild.d.ts +2 -0
  78. package/tscBuild/scripts/task/rebuild.js +10 -0
  79. package/tscBuild/scripts/task/rebuild.js.map +1 -0
  80. package/tscBuild/scripts/task/test.d.ts +2 -0
  81. package/tscBuild/scripts/task/test.js +11 -0
  82. package/tscBuild/scripts/task/test.js.map +1 -0
  83. package/tscBuild/scripts/utils.d.ts +11 -0
  84. package/tscBuild/scripts/utils.js +60 -0
  85. package/tscBuild/scripts/utils.js.map +1 -0
  86. package/tscBuild/{config.d.ts → src/config.d.ts} +7 -2
  87. package/tscBuild/{config.js → src/config.js} +3 -0
  88. package/tscBuild/src/config.js.map +1 -0
  89. package/tscBuild/{index.d.ts → src/index.d.ts} +1 -0
  90. package/tscBuild/{index.js → src/index.js} +1 -0
  91. package/tscBuild/src/index.js.map +1 -0
  92. package/tscBuild/{sdk → src/sdk}/apis/AccountApi.d.ts +7 -7
  93. package/tscBuild/{sdk → src/sdk}/apis/AccountApi.js +8 -8
  94. package/tscBuild/src/sdk/apis/AccountApi.js.map +1 -0
  95. package/tscBuild/{sdk → src/sdk}/apis/AliasApi.d.ts +28 -2
  96. package/tscBuild/{sdk → src/sdk}/apis/AliasApi.js +63 -1
  97. package/tscBuild/src/sdk/apis/AliasApi.js.map +1 -0
  98. package/tscBuild/src/sdk/apis/CustomDomainApi.d.ts +60 -0
  99. package/tscBuild/src/sdk/apis/CustomDomainApi.js +156 -0
  100. package/tscBuild/src/sdk/apis/CustomDomainApi.js.map +1 -0
  101. package/tscBuild/src/sdk/apis/ExportApi.d.ts +40 -0
  102. package/tscBuild/src/sdk/apis/ExportApi.js +112 -0
  103. package/tscBuild/src/sdk/apis/ExportApi.js.map +1 -0
  104. package/tscBuild/{sdk → src/sdk}/apis/MailboxApi.d.ts +1 -1
  105. package/tscBuild/{sdk → src/sdk}/apis/MailboxApi.js +1 -1
  106. package/tscBuild/src/sdk/apis/MailboxApi.js.map +1 -0
  107. package/tscBuild/src/sdk/apis/MiscApi.d.ts +29 -0
  108. package/tscBuild/{sdk/apis/CustomDomainApi.js → src/sdk/apis/MiscApi.js} +19 -22
  109. package/tscBuild/src/sdk/apis/MiscApi.js.map +1 -0
  110. package/tscBuild/src/sdk/apis/SettingsApi.d.ts +53 -0
  111. package/tscBuild/src/sdk/apis/SettingsApi.js +144 -0
  112. package/tscBuild/src/sdk/apis/SettingsApi.js.map +1 -0
  113. package/tscBuild/{sdk → src/sdk}/apis/index.d.ts +3 -0
  114. package/tscBuild/{sdk → src/sdk}/apis/index.js +3 -0
  115. package/tscBuild/src/sdk/apis/index.js.map +1 -0
  116. package/tscBuild/src/sdk/index.js.map +1 -0
  117. package/tscBuild/src/sdk/models/Alias.js.map +1 -0
  118. package/tscBuild/src/sdk/models/AliasAliasIdActivities.js.map +1 -0
  119. package/tscBuild/src/sdk/models/AliasAliasIdActivitiesModelArray.js.map +1 -0
  120. package/tscBuild/src/sdk/models/AliasAliasIdContacts.js.map +1 -0
  121. package/tscBuild/src/sdk/models/AliasAliasIdContactsModelArray.js.map +1 -0
  122. package/tscBuild/src/sdk/models/AliasAliasIdContactsPost.js.map +1 -0
  123. package/tscBuild/src/sdk/models/AliasAliasIdDelete.js.map +1 -0
  124. package/tscBuild/src/sdk/models/AliasAliasIdPatch.js.map +1 -0
  125. package/tscBuild/src/sdk/models/AliasAliasIdTogglePost.js.map +1 -0
  126. package/tscBuild/src/sdk/models/AliasCustomNewPost.js.map +1 -0
  127. package/tscBuild/src/sdk/models/AliasExport.d.ts +27 -0
  128. package/tscBuild/src/sdk/models/AliasExport.js +42 -0
  129. package/tscBuild/src/sdk/models/AliasExport.js.map +1 -0
  130. package/tscBuild/src/sdk/models/AliasLatestActivity.js.map +1 -0
  131. package/tscBuild/src/sdk/models/AliasLatestActivityContact.js.map +1 -0
  132. package/tscBuild/src/sdk/models/AliasModelArray.js.map +1 -0
  133. package/tscBuild/src/sdk/models/AliasOptions.js.map +1 -0
  134. package/tscBuild/src/sdk/models/AliasOptionsRecommendation.js.map +1 -0
  135. package/tscBuild/src/sdk/models/AliasOptionsSuffixesInner.js.map +1 -0
  136. package/tscBuild/src/sdk/models/AliasRandomNewPost.js.map +1 -0
  137. package/tscBuild/src/sdk/models/AliasSearchPost.js.map +1 -0
  138. package/tscBuild/src/sdk/models/ApiKey.d.ts +21 -0
  139. package/tscBuild/src/sdk/models/ApiKey.js +38 -0
  140. package/tscBuild/src/sdk/models/ApiKey.js.map +1 -0
  141. package/tscBuild/src/sdk/models/ApiKeyPost.d.ts +21 -0
  142. package/tscBuild/src/sdk/models/ApiKeyPost.js +38 -0
  143. package/tscBuild/src/sdk/models/ApiKeyPost.js.map +1 -0
  144. package/tscBuild/src/sdk/models/AuthActivatePost.js.map +1 -0
  145. package/tscBuild/src/sdk/models/AuthForgotPasswordPost.js.map +1 -0
  146. package/tscBuild/src/sdk/models/AuthLogin.js.map +1 -0
  147. package/tscBuild/src/sdk/models/AuthLoginPost.js.map +1 -0
  148. package/tscBuild/src/sdk/models/AuthMfa.js.map +1 -0
  149. package/tscBuild/src/sdk/models/AuthMfaPost.js.map +1 -0
  150. package/tscBuild/src/sdk/models/AuthReactivatePost.js.map +1 -0
  151. package/tscBuild/src/sdk/models/AuthRegisterPost.js.map +1 -0
  152. package/tscBuild/src/sdk/models/ContactsContactIdDelete.d.ts +21 -0
  153. package/tscBuild/src/sdk/models/ContactsContactIdDelete.js +38 -0
  154. package/tscBuild/src/sdk/models/ContactsContactIdDelete.js.map +1 -0
  155. package/tscBuild/src/sdk/models/ContactsContactIdToggle.d.ts +21 -0
  156. package/tscBuild/src/sdk/models/ContactsContactIdToggle.js +38 -0
  157. package/tscBuild/src/sdk/models/ContactsContactIdToggle.js.map +1 -0
  158. package/tscBuild/src/sdk/models/CustomDomain.js.map +1 -0
  159. package/tscBuild/src/sdk/models/CustomDomainCustomDomainIdPatch.d.ts +39 -0
  160. package/tscBuild/src/sdk/models/CustomDomainCustomDomainIdPatch.js +42 -0
  161. package/tscBuild/src/sdk/models/CustomDomainCustomDomainIdPatch.js.map +1 -0
  162. package/tscBuild/src/sdk/models/CustomDomainCustomDomainIdTrash.d.ts +22 -0
  163. package/tscBuild/src/sdk/models/CustomDomainCustomDomainIdTrash.js +39 -0
  164. package/tscBuild/src/sdk/models/CustomDomainCustomDomainIdTrash.js.map +1 -0
  165. package/tscBuild/src/sdk/models/CustomDomainCustomDomainIdTrashAliasesInner.d.ts +27 -0
  166. package/tscBuild/src/sdk/models/CustomDomainCustomDomainIdTrashAliasesInner.js +42 -0
  167. package/tscBuild/src/sdk/models/CustomDomainCustomDomainIdTrashAliasesInner.js.map +1 -0
  168. package/tscBuild/src/sdk/models/ExportData.d.ts +36 -0
  169. package/tscBuild/src/sdk/models/ExportData.js +49 -0
  170. package/tscBuild/src/sdk/models/ExportData.js.map +1 -0
  171. package/tscBuild/src/sdk/models/ExportDataAppInfo.d.ts +51 -0
  172. package/tscBuild/src/sdk/models/ExportDataAppInfo.js +54 -0
  173. package/tscBuild/src/sdk/models/ExportDataAppInfo.js.map +1 -0
  174. package/tscBuild/src/sdk/models/Mailbox.js.map +1 -0
  175. package/tscBuild/src/sdk/models/MailboxMailboxIdPut.js.map +1 -0
  176. package/tscBuild/src/sdk/models/MailboxModelArray.js.map +1 -0
  177. package/tscBuild/src/sdk/models/MailboxModelRef.js.map +1 -0
  178. package/tscBuild/src/sdk/models/MailboxPost.js.map +1 -0
  179. package/tscBuild/src/sdk/models/ModelError.js.map +1 -0
  180. package/tscBuild/src/sdk/models/Setting.d.ts +72 -0
  181. package/tscBuild/src/sdk/models/Setting.js +79 -0
  182. package/tscBuild/src/sdk/models/Setting.js.map +1 -0
  183. package/tscBuild/src/sdk/models/SettingDomain.d.ts +27 -0
  184. package/tscBuild/src/sdk/models/SettingDomain.js +42 -0
  185. package/tscBuild/src/sdk/models/SettingDomain.js.map +1 -0
  186. package/tscBuild/src/sdk/models/SettingPatch.d.ts +72 -0
  187. package/tscBuild/src/sdk/models/SettingPatch.js +69 -0
  188. package/tscBuild/src/sdk/models/SettingPatch.js.map +1 -0
  189. package/tscBuild/src/sdk/models/Success.js.map +1 -0
  190. package/tscBuild/src/sdk/models/SudoPatch.js.map +1 -0
  191. package/tscBuild/src/sdk/models/UserCookieToken.js.map +1 -0
  192. package/tscBuild/src/sdk/models/UserInfo.js.map +1 -0
  193. package/tscBuild/src/sdk/models/UserInfoPatch.js.map +1 -0
  194. package/tscBuild/src/sdk/models/UserStats.js.map +1 -0
  195. package/tscBuild/{sdk → src/sdk}/models/index.d.ts +13 -2
  196. package/tscBuild/{sdk → src/sdk}/models/index.js +13 -2
  197. package/tscBuild/src/sdk/models/index.js.map +1 -0
  198. package/tscBuild/{sdk → src/sdk}/runtime.d.ts +1 -1
  199. package/tscBuild/{sdk → src/sdk}/runtime.js +1 -1
  200. package/tscBuild/src/sdk/runtime.js.map +1 -0
  201. package/tscBuild/src/simpleLoginClient.d.ts +26 -0
  202. package/tscBuild/src/simpleLoginClient.js +48 -0
  203. package/tscBuild/src/simpleLoginClient.js.map +1 -0
  204. package/tscBuild/test/integration/accountApi.test.d.ts +1 -0
  205. package/tscBuild/test/integration/accountApi.test.js +383 -0
  206. package/tscBuild/test/integration/accountApi.test.js.map +1 -0
  207. package/tscBuild/test/integration/exportApi.test.d.ts +1 -0
  208. package/tscBuild/test/integration/exportApi.test.js +55 -0
  209. package/tscBuild/test/integration/exportApi.test.js.map +1 -0
  210. package/tscBuild/test/integration/miscApi.test.d.ts +1 -0
  211. package/tscBuild/test/integration/miscApi.test.js +15 -0
  212. package/tscBuild/test/integration/miscApi.test.js.map +1 -0
  213. package/tscBuild/test/setup.d.ts +21 -0
  214. package/tscBuild/test/setup.js +111 -0
  215. package/tscBuild/test/setup.js.map +1 -0
  216. package/tscBuild/test/utils/apiClient.d.ts +11 -0
  217. package/tscBuild/test/utils/apiClient.js +25 -0
  218. package/tscBuild/test/utils/apiClient.js.map +1 -0
  219. package/tscBuild/test/utils/createAccount.d.ts +5 -0
  220. package/tscBuild/test/utils/createAccount.js +53 -0
  221. package/tscBuild/test/utils/createAccount.js.map +1 -0
  222. package/tscBuild/test/utils/index.d.ts +6 -0
  223. package/tscBuild/test/utils/index.js +26 -0
  224. package/tscBuild/test/utils/index.js.map +1 -0
  225. package/tscBuild/test/utils/mailHog.d.ts +4 -0
  226. package/tscBuild/test/utils/mailHog.js +37 -0
  227. package/tscBuild/test/utils/mailHog.js.map +1 -0
  228. package/tscBuild/test/utils/matchers.d.ts +101 -0
  229. package/tscBuild/test/utils/matchers.js +129 -0
  230. package/tscBuild/test/utils/matchers.js.map +1 -0
  231. package/tscBuild/tsconfig.tsbuildinfo +1 -0
  232. package/tscBuild/config.js.map +0 -1
  233. package/tscBuild/index.js.map +0 -1
  234. package/tscBuild/sdk/apis/AccountApi.js.map +0 -1
  235. package/tscBuild/sdk/apis/AliasApi.js.map +0 -1
  236. package/tscBuild/sdk/apis/CustomDomainApi.d.ts +0 -33
  237. package/tscBuild/sdk/apis/CustomDomainApi.js.map +0 -1
  238. package/tscBuild/sdk/apis/MailboxApi.js.map +0 -1
  239. package/tscBuild/sdk/apis/index.js.map +0 -1
  240. package/tscBuild/sdk/index.js.map +0 -1
  241. package/tscBuild/sdk/models/Alias.js.map +0 -1
  242. package/tscBuild/sdk/models/AliasAliasIdActivities.js.map +0 -1
  243. package/tscBuild/sdk/models/AliasAliasIdActivitiesModelArray.js.map +0 -1
  244. package/tscBuild/sdk/models/AliasAliasIdContacts.js.map +0 -1
  245. package/tscBuild/sdk/models/AliasAliasIdContactsModelArray.js.map +0 -1
  246. package/tscBuild/sdk/models/AliasAliasIdContactsPost.js.map +0 -1
  247. package/tscBuild/sdk/models/AliasAliasIdDelete.js.map +0 -1
  248. package/tscBuild/sdk/models/AliasAliasIdPatch.js.map +0 -1
  249. package/tscBuild/sdk/models/AliasAliasIdTogglePost.js.map +0 -1
  250. package/tscBuild/sdk/models/AliasCustomNewPost.js.map +0 -1
  251. package/tscBuild/sdk/models/AliasLatestActivity.js.map +0 -1
  252. package/tscBuild/sdk/models/AliasLatestActivityContact.js.map +0 -1
  253. package/tscBuild/sdk/models/AliasModelArray.js.map +0 -1
  254. package/tscBuild/sdk/models/AliasOptions.js.map +0 -1
  255. package/tscBuild/sdk/models/AliasOptionsRecommendation.js.map +0 -1
  256. package/tscBuild/sdk/models/AliasOptionsSuffixesInner.js.map +0 -1
  257. package/tscBuild/sdk/models/AliasRandomNewPost.js.map +0 -1
  258. package/tscBuild/sdk/models/AliasSearchPost.js.map +0 -1
  259. package/tscBuild/sdk/models/AuthActivatePost.js.map +0 -1
  260. package/tscBuild/sdk/models/AuthForgotPasswordPost.js.map +0 -1
  261. package/tscBuild/sdk/models/AuthLogin.js.map +0 -1
  262. package/tscBuild/sdk/models/AuthLoginPost.js.map +0 -1
  263. package/tscBuild/sdk/models/AuthMfa.js.map +0 -1
  264. package/tscBuild/sdk/models/AuthMfaPost.js.map +0 -1
  265. package/tscBuild/sdk/models/AuthReactivatePost.js.map +0 -1
  266. package/tscBuild/sdk/models/AuthRegisterPost.js.map +0 -1
  267. package/tscBuild/sdk/models/CustomDomain.js.map +0 -1
  268. package/tscBuild/sdk/models/Mailbox.js.map +0 -1
  269. package/tscBuild/sdk/models/MailboxMailboxIdPut.js.map +0 -1
  270. package/tscBuild/sdk/models/MailboxModelArray.js.map +0 -1
  271. package/tscBuild/sdk/models/MailboxModelRef.js.map +0 -1
  272. package/tscBuild/sdk/models/MailboxPost.js.map +0 -1
  273. package/tscBuild/sdk/models/ModelError.js.map +0 -1
  274. package/tscBuild/sdk/models/Success.js.map +0 -1
  275. package/tscBuild/sdk/models/SudoPatch.js.map +0 -1
  276. package/tscBuild/sdk/models/UserApiKey.d.ts +0 -21
  277. package/tscBuild/sdk/models/UserApiKey.js +0 -38
  278. package/tscBuild/sdk/models/UserApiKey.js.map +0 -1
  279. package/tscBuild/sdk/models/UserApiKeyPost.d.ts +0 -21
  280. package/tscBuild/sdk/models/UserApiKeyPost.js +0 -38
  281. package/tscBuild/sdk/models/UserApiKeyPost.js.map +0 -1
  282. package/tscBuild/sdk/models/UserCookieToken.js.map +0 -1
  283. package/tscBuild/sdk/models/UserInfo.js.map +0 -1
  284. package/tscBuild/sdk/models/UserInfoPatch.js.map +0 -1
  285. package/tscBuild/sdk/models/UserStats.js.map +0 -1
  286. package/tscBuild/sdk/models/index.js.map +0 -1
  287. package/tscBuild/sdk/runtime.js.map +0 -1
  288. package/tscBuild/tsconfig.build.tsbuildinfo +0 -1
  289. /package/tscBuild/{sdk → src/sdk}/index.d.ts +0 -0
  290. /package/tscBuild/{sdk → src/sdk}/index.js +0 -0
  291. /package/tscBuild/{sdk → src/sdk}/models/Alias.d.ts +0 -0
  292. /package/tscBuild/{sdk → src/sdk}/models/Alias.js +0 -0
  293. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdActivities.d.ts +0 -0
  294. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdActivities.js +0 -0
  295. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdActivitiesModelArray.d.ts +0 -0
  296. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdActivitiesModelArray.js +0 -0
  297. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdContacts.d.ts +0 -0
  298. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdContacts.js +0 -0
  299. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdContactsModelArray.d.ts +0 -0
  300. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdContactsModelArray.js +0 -0
  301. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdContactsPost.d.ts +0 -0
  302. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdContactsPost.js +0 -0
  303. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdDelete.d.ts +0 -0
  304. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdDelete.js +0 -0
  305. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdPatch.d.ts +0 -0
  306. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdPatch.js +0 -0
  307. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdTogglePost.d.ts +0 -0
  308. /package/tscBuild/{sdk → src/sdk}/models/AliasAliasIdTogglePost.js +0 -0
  309. /package/tscBuild/{sdk → src/sdk}/models/AliasCustomNewPost.d.ts +0 -0
  310. /package/tscBuild/{sdk → src/sdk}/models/AliasCustomNewPost.js +0 -0
  311. /package/tscBuild/{sdk → src/sdk}/models/AliasLatestActivity.d.ts +0 -0
  312. /package/tscBuild/{sdk → src/sdk}/models/AliasLatestActivity.js +0 -0
  313. /package/tscBuild/{sdk → src/sdk}/models/AliasLatestActivityContact.d.ts +0 -0
  314. /package/tscBuild/{sdk → src/sdk}/models/AliasLatestActivityContact.js +0 -0
  315. /package/tscBuild/{sdk → src/sdk}/models/AliasModelArray.d.ts +0 -0
  316. /package/tscBuild/{sdk → src/sdk}/models/AliasModelArray.js +0 -0
  317. /package/tscBuild/{sdk → src/sdk}/models/AliasOptions.d.ts +0 -0
  318. /package/tscBuild/{sdk → src/sdk}/models/AliasOptions.js +0 -0
  319. /package/tscBuild/{sdk → src/sdk}/models/AliasOptionsRecommendation.d.ts +0 -0
  320. /package/tscBuild/{sdk → src/sdk}/models/AliasOptionsRecommendation.js +0 -0
  321. /package/tscBuild/{sdk → src/sdk}/models/AliasOptionsSuffixesInner.d.ts +0 -0
  322. /package/tscBuild/{sdk → src/sdk}/models/AliasOptionsSuffixesInner.js +0 -0
  323. /package/tscBuild/{sdk → src/sdk}/models/AliasRandomNewPost.d.ts +0 -0
  324. /package/tscBuild/{sdk → src/sdk}/models/AliasRandomNewPost.js +0 -0
  325. /package/tscBuild/{sdk → src/sdk}/models/AliasSearchPost.d.ts +0 -0
  326. /package/tscBuild/{sdk → src/sdk}/models/AliasSearchPost.js +0 -0
  327. /package/tscBuild/{sdk → src/sdk}/models/AuthActivatePost.d.ts +0 -0
  328. /package/tscBuild/{sdk → src/sdk}/models/AuthActivatePost.js +0 -0
  329. /package/tscBuild/{sdk → src/sdk}/models/AuthForgotPasswordPost.d.ts +0 -0
  330. /package/tscBuild/{sdk → src/sdk}/models/AuthForgotPasswordPost.js +0 -0
  331. /package/tscBuild/{sdk → src/sdk}/models/AuthLogin.d.ts +0 -0
  332. /package/tscBuild/{sdk → src/sdk}/models/AuthLogin.js +0 -0
  333. /package/tscBuild/{sdk → src/sdk}/models/AuthLoginPost.d.ts +0 -0
  334. /package/tscBuild/{sdk → src/sdk}/models/AuthLoginPost.js +0 -0
  335. /package/tscBuild/{sdk → src/sdk}/models/AuthMfa.d.ts +0 -0
  336. /package/tscBuild/{sdk → src/sdk}/models/AuthMfa.js +0 -0
  337. /package/tscBuild/{sdk → src/sdk}/models/AuthMfaPost.d.ts +0 -0
  338. /package/tscBuild/{sdk → src/sdk}/models/AuthMfaPost.js +0 -0
  339. /package/tscBuild/{sdk → src/sdk}/models/AuthReactivatePost.d.ts +0 -0
  340. /package/tscBuild/{sdk → src/sdk}/models/AuthReactivatePost.js +0 -0
  341. /package/tscBuild/{sdk → src/sdk}/models/AuthRegisterPost.d.ts +0 -0
  342. /package/tscBuild/{sdk → src/sdk}/models/AuthRegisterPost.js +0 -0
  343. /package/tscBuild/{sdk → src/sdk}/models/CustomDomain.d.ts +0 -0
  344. /package/tscBuild/{sdk → src/sdk}/models/CustomDomain.js +0 -0
  345. /package/tscBuild/{sdk → src/sdk}/models/Mailbox.d.ts +0 -0
  346. /package/tscBuild/{sdk → src/sdk}/models/Mailbox.js +0 -0
  347. /package/tscBuild/{sdk → src/sdk}/models/MailboxMailboxIdPut.d.ts +0 -0
  348. /package/tscBuild/{sdk → src/sdk}/models/MailboxMailboxIdPut.js +0 -0
  349. /package/tscBuild/{sdk → src/sdk}/models/MailboxModelArray.d.ts +0 -0
  350. /package/tscBuild/{sdk → src/sdk}/models/MailboxModelArray.js +0 -0
  351. /package/tscBuild/{sdk → src/sdk}/models/MailboxModelRef.d.ts +0 -0
  352. /package/tscBuild/{sdk → src/sdk}/models/MailboxModelRef.js +0 -0
  353. /package/tscBuild/{sdk → src/sdk}/models/MailboxPost.d.ts +0 -0
  354. /package/tscBuild/{sdk → src/sdk}/models/MailboxPost.js +0 -0
  355. /package/tscBuild/{sdk → src/sdk}/models/ModelError.d.ts +0 -0
  356. /package/tscBuild/{sdk → src/sdk}/models/ModelError.js +0 -0
  357. /package/tscBuild/{sdk → src/sdk}/models/Success.d.ts +0 -0
  358. /package/tscBuild/{sdk → src/sdk}/models/Success.js +0 -0
  359. /package/tscBuild/{sdk → src/sdk}/models/SudoPatch.d.ts +0 -0
  360. /package/tscBuild/{sdk → src/sdk}/models/SudoPatch.js +0 -0
  361. /package/tscBuild/{sdk → src/sdk}/models/UserCookieToken.d.ts +0 -0
  362. /package/tscBuild/{sdk → src/sdk}/models/UserCookieToken.js +0 -0
  363. /package/tscBuild/{sdk → src/sdk}/models/UserInfo.d.ts +0 -0
  364. /package/tscBuild/{sdk → src/sdk}/models/UserInfo.js +0 -0
  365. /package/tscBuild/{sdk → src/sdk}/models/UserInfoPatch.d.ts +0 -0
  366. /package/tscBuild/{sdk → src/sdk}/models/UserInfoPatch.js +0 -0
  367. /package/tscBuild/{sdk → src/sdk}/models/UserStats.d.ts +0 -0
  368. /package/tscBuild/{sdk → src/sdk}/models/UserStats.js +0 -0
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const matchers_1 = require("../utils/matchers");
5
+ (0, vitest_1.describe)('ExportApi', () => {
6
+ (0, vitest_1.describe)('Export User Data', () => {
7
+ api('exports complete user data structure', async ({ client }) => {
8
+ const response = await client.export.exportUserDataRaw();
9
+ const exportData = await (0, matchers_1.expectSuccess)(response);
10
+ (0, vitest_1.expect)(exportData.aliases).toBeDefined();
11
+ (0, vitest_1.expect)(Array.isArray(exportData.aliases)).toBe(true);
12
+ (0, vitest_1.expect)(exportData.customDomains).toBeDefined();
13
+ (0, vitest_1.expect)(Array.isArray(exportData.customDomains)).toBe(true);
14
+ });
15
+ api('aliases match AliasExport schema', async ({ client }) => {
16
+ const createdAlias = await client.alias.createRandomAlias({
17
+ aliasRandomNewPost: { note: 'Schema test' },
18
+ });
19
+ const exportData = await client.export.exportUserData();
20
+ (0, vitest_1.expect)(exportData.aliases.length).toBeGreaterThan(0);
21
+ for (const alias of exportData.aliases) {
22
+ (0, vitest_1.expect)(alias.email).toBeDefined();
23
+ (0, vitest_1.expect)(typeof alias.email).toBe('string');
24
+ (0, vitest_1.expect)(alias.enabled).toBeDefined();
25
+ (0, vitest_1.expect)(typeof alias.enabled).toBe('boolean');
26
+ }
27
+ const aliasEmails = exportData.aliases.map((a) => a.email);
28
+ (0, vitest_1.expect)(aliasEmails).toContain(createdAlias.email);
29
+ });
30
+ });
31
+ (0, vitest_1.describe)('Export Aliases as CSV', () => {
32
+ api('exports valid CSV with alias data', async ({ client }) => {
33
+ const alias1 = await client.alias.createRandomAlias({
34
+ aliasRandomNewPost: { note: 'CSV test 1' },
35
+ });
36
+ const alias2 = await client.alias.createRandomAlias({
37
+ aliasRandomNewPost: { note: 'CSV test 2' },
38
+ });
39
+ const response = await client.export.exportAliasesAsCsvRaw();
40
+ const csvBlob = await (0, matchers_1.expectSuccess)(response);
41
+ (0, vitest_1.expect)(csvBlob).toBeInstanceOf(Blob);
42
+ (0, vitest_1.expect)(csvBlob.size).toBeGreaterThan(0);
43
+ (0, vitest_1.expect)(csvBlob.type).toBeTruthy();
44
+ const csvText = await csvBlob.text();
45
+ const lines = csvText.trim().split('\n');
46
+ (0, vitest_1.expect)(lines[0]).toMatchInlineSnapshot(`
47
+ "alias,note,enabled,mailboxes
48
+ "
49
+ `);
50
+ (0, vitest_1.expect)(csvText).toContain(alias1.email);
51
+ (0, vitest_1.expect)(csvText).toContain(alias2.email);
52
+ });
53
+ });
54
+ });
55
+ //# sourceMappingURL=exportApi.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"exportApi.test.js","sourceRoot":"","sources":["../../../test/integration/exportApi.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,15 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const src_1 = require("../../src");
5
+ const setup_1 = require("../setup");
6
+ const utils_1 = require("../utils");
7
+ (0, vitest_1.describe)('MiscApi', () => {
8
+ (0, vitest_1.test)('server is online', async () => {
9
+ const client = new src_1.SimpleLoginClient(setup_1.DEFAULT_API_CLIENT_CONFIG);
10
+ const response = await client.misc.healthRaw();
11
+ const healthStatus = await (0, utils_1.expectSuccess)(response);
12
+ (0, vitest_1.expect)(healthStatus).toBe('success');
13
+ });
14
+ });
15
+ //# sourceMappingURL=miscApi.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"miscApi.test.js","sourceRoot":"","sources":["../../../test/integration/miscApi.test.ts"],"names":[],"mappings":";;AAAA,mCAAgD;AAChD,mCAA8C;AAC9C,oCAAqD;AACrD,oCAAyC;AAEzC,IAAA,iBAAQ,EAAC,SAAS,EAAE,GAAG,EAAE;IACvB,IAAA,aAAI,EAAC,kBAAkB,EAAE,KAAK,IAAI,EAAE;QAClC,MAAM,MAAM,GAAG,IAAI,uBAAiB,CAAC,iCAAyB,CAAC,CAAC;QAEhE,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;QAC/C,MAAM,YAAY,GAAG,MAAM,IAAA,qBAAa,EAAC,QAAQ,CAAC,CAAC;QAEnD,IAAA,eAAM,EAAC,YAAY,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,21 @@
1
+ import type { UserInfo } from '../src/sdk/models/UserInfo';
2
+ import { SimpleLoginClient, type SimpleLoginClientOptions } from '../src/simpleLoginClient';
3
+ export declare const DEFAULT_API_CLIENT_CONFIG: SimpleLoginClientOptions;
4
+ type AccountData = {
5
+ loginResponse: {
6
+ apiKey: string;
7
+ };
8
+ password: string;
9
+ email: string;
10
+ };
11
+ /**
12
+ * Test helper that creates a fresh account for each test and cleans up afterwards
13
+ */
14
+ export declare const api: import("vitest").TestAPI<{
15
+ password: string;
16
+ client: SimpleLoginClient;
17
+ user: UserInfo;
18
+ email: string;
19
+ accountData: AccountData;
20
+ }>;
21
+ export {};
@@ -0,0 +1,111 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.api = exports.DEFAULT_API_CLIENT_CONFIG = void 0;
4
+ const vitest_1 = require("vitest");
5
+ const simpleLoginClient_1 = require("../src/simpleLoginClient");
6
+ const apiClient_1 = require("./utils/apiClient");
7
+ exports.DEFAULT_API_CLIENT_CONFIG = {
8
+ url: 'http://localhost:7777',
9
+ };
10
+ const client = new simpleLoginClient_1.SimpleLoginClient(exports.DEFAULT_API_CLIENT_CONFIG);
11
+ const checkServerAvailability = async () => {
12
+ const maxRetryDuration = 30000;
13
+ const retryInterval = 1000;
14
+ const startTime = Date.now();
15
+ while (Date.now() - startTime < maxRetryDuration) {
16
+ try {
17
+ const controller = new AbortController();
18
+ const timeoutId = setTimeout(() => controller.abort(), 5000);
19
+ const response = await client.misc.healthRaw({
20
+ signal: controller.signal,
21
+ });
22
+ clearTimeout(timeoutId);
23
+ if (!response.raw.ok) {
24
+ throw new Error(`Health check failed with status ${response.raw.status}`);
25
+ }
26
+ const healthStatus = await response.value();
27
+ if (healthStatus !== 'success') {
28
+ throw new Error(`Health check returned unexpected status: ${healthStatus}`);
29
+ }
30
+ return;
31
+ }
32
+ catch (error) {
33
+ const elapsed = Date.now() - startTime;
34
+ if (elapsed >= maxRetryDuration) {
35
+ if (error instanceof Error) {
36
+ if (error.name === 'AbortError') {
37
+ throw new Error(`API server at ${client.config.basePath} is not responding (timeout after 30s). ` +
38
+ 'Please ensure the SimpleLogin server is running.');
39
+ }
40
+ throw new Error(`API server at ${client.config.basePath} is not available: ${error.message}. ` +
41
+ 'Please ensure the SimpleLogin server is running.');
42
+ }
43
+ throw error;
44
+ }
45
+ await new Promise((resolve) => setTimeout(resolve, retryInterval));
46
+ }
47
+ }
48
+ };
49
+ (0, vitest_1.beforeAll)(async () => {
50
+ await checkServerAvailability();
51
+ });
52
+ /**
53
+ * Test helper that creates a fresh account for each test and cleans up afterwards
54
+ */
55
+ exports.api = vitest_1.test.extend({
56
+ // Worker fixture: creates account once per test
57
+ accountData: [
58
+ // biome-ignore lint/correctness/noEmptyPattern: vitest fixture pattern
59
+ async ({}, use) => {
60
+ // Setup: Create account and get API key
61
+ const { account } = await (0, apiClient_1.getAuthenticatedClient)();
62
+ if (!account) {
63
+ throw new Error('Failed to create test account');
64
+ }
65
+ const { loginResponse, password, email } = account;
66
+ const accountData = { loginResponse, password, email };
67
+ // Provide account data to test fixtures
68
+ await use(accountData);
69
+ // Teardown: Delete the account
70
+ try {
71
+ const client = new simpleLoginClient_1.SimpleLoginClient({
72
+ ...exports.DEFAULT_API_CLIENT_CONFIG,
73
+ apiKey: loginResponse.apiKey,
74
+ });
75
+ // Enable sudo mode first (required for account deletion)
76
+ await client.account.enableSudoMode({
77
+ sudoPatch: {
78
+ password,
79
+ },
80
+ });
81
+ await client.account.deleteUser();
82
+ }
83
+ catch (error) {
84
+ console.error(`Failed to delete test account ${email}:`, error);
85
+ // Don't throw - we don't want cleanup failures to fail the test
86
+ }
87
+ },
88
+ { scope: 'test' },
89
+ ],
90
+ password: async ({ accountData }, use) => {
91
+ await use(accountData.password);
92
+ },
93
+ email: async ({ accountData }, use) => {
94
+ await use(accountData.email);
95
+ },
96
+ client: async ({ accountData }, use) => {
97
+ const client = new simpleLoginClient_1.SimpleLoginClient({
98
+ ...exports.DEFAULT_API_CLIENT_CONFIG,
99
+ apiKey: accountData.loginResponse.apiKey,
100
+ });
101
+ await use(client);
102
+ },
103
+ user: async ({ client }, use) => {
104
+ // Fetch current user info
105
+ const userInfo = await client.account.getUserInfo();
106
+ await use(userInfo);
107
+ },
108
+ });
109
+ // biome-ignore lint/suspicious/noExplicitAny: Required for global test fixture
110
+ globalThis.api = exports.api;
111
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../test/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ import { type AuthLogin, SimpleLoginClient } from '../../src';
2
+ type AccountCache = {
3
+ loginResponse: AuthLogin;
4
+ email: string;
5
+ password: string;
6
+ };
7
+ export declare const getAuthenticatedClient: () => Promise<{
8
+ client: SimpleLoginClient;
9
+ account: AccountCache;
10
+ }>;
11
+ export {};
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getAuthenticatedClient = void 0;
4
+ const src_1 = require("../../src");
5
+ const setup_1 = require("../setup");
6
+ const createAccount_1 = require("./createAccount");
7
+ let account;
8
+ let client;
9
+ const getAuthenticatedClient = async () => {
10
+ if (client && account) {
11
+ return { client, account };
12
+ }
13
+ const newAccount = await (0, createAccount_1.createAccount)();
14
+ if (!newAccount) {
15
+ throw new Error('Failed to create test account');
16
+ }
17
+ account = newAccount;
18
+ client = new src_1.SimpleLoginClient({
19
+ ...setup_1.DEFAULT_API_CLIENT_CONFIG,
20
+ apiKey: account.loginResponse.apiKey,
21
+ });
22
+ return { client, account };
23
+ };
24
+ exports.getAuthenticatedClient = getAuthenticatedClient;
25
+ //# sourceMappingURL=apiClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiClient.js","sourceRoot":"","sources":["../../../test/utils/apiClient.ts"],"names":[],"mappings":";;;AAAA,mCAA8D;AAC9D,oCAAqD;AACrD,mDAAgD;AAQhD,IAAI,OAAiC,CAAC;AACtC,IAAI,MAAqC,CAAC;AAEnC,MAAM,sBAAsB,GAAG,KAAK,IAAI,EAAE;IAC/C,IAAI,MAAM,IAAI,OAAO,EAAE,CAAC;QACtB,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;IAC7B,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,IAAA,6BAAa,GAAE,CAAC;IAEzC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;IACnD,CAAC;IAED,OAAO,GAAG,UAAU,CAAC;IACrB,MAAM,GAAG,IAAI,uBAAiB,CAAC;QAC7B,GAAG,iCAAyB;QAC5B,MAAM,EAAE,OAAO,CAAC,aAAa,CAAC,MAAM;KACrC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC,CAAC;AAlBW,QAAA,sBAAsB,0BAkBjC"}
@@ -0,0 +1,5 @@
1
+ export declare const createAccount: () => Promise<{
2
+ loginResponse: import("../../src").AuthLogin;
3
+ password: string;
4
+ email: string;
5
+ }>;
@@ -0,0 +1,53 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.createAccount = void 0;
4
+ const falso_1 = require("@ngneat/falso");
5
+ const src_1 = require("../../src");
6
+ const mailHog_1 = require("./mailHog");
7
+ const createAccount = async () => {
8
+ const device = 'automated-api-tests';
9
+ const email = (0, falso_1.randEmail)({
10
+ nameSeparator: '.',
11
+ provider: 'home',
12
+ suffix: 'name',
13
+ });
14
+ const password = (0, falso_1.randPassword)({ size: 8 });
15
+ const api = new src_1.AccountApi(new src_1.Configuration({
16
+ basePath: 'http://localhost:7777/api',
17
+ }));
18
+ try {
19
+ await api.registerAccount({
20
+ authRegisterPost: {
21
+ email,
22
+ password,
23
+ },
24
+ });
25
+ const code = await (0, mailHog_1.waitForSimpleLoginRegistrationCode)(email);
26
+ await api.activateAccount({
27
+ authActivatePost: {
28
+ email,
29
+ code,
30
+ },
31
+ });
32
+ // Login to get API key for authentication
33
+ const loginResponse = await api.login({
34
+ authLoginPost: {
35
+ email,
36
+ password,
37
+ device,
38
+ },
39
+ });
40
+ return { loginResponse, password, email };
41
+ }
42
+ catch (e) {
43
+ if (e instanceof src_1.ResponseError) {
44
+ console.log(`Failed to create account ${email}`, e.response, await e.response.text());
45
+ }
46
+ else {
47
+ throw e;
48
+ }
49
+ }
50
+ throw new Error('Failed to register account');
51
+ };
52
+ exports.createAccount = createAccount;
53
+ //# sourceMappingURL=createAccount.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"createAccount.js","sourceRoot":"","sources":["../../../test/utils/createAccount.ts"],"names":[],"mappings":";;;AAAA,yCAAwD;AACxD,mCAAqE;AACrE,uCAA+D;AAExD,MAAM,aAAa,GAAG,KAAK,IAAI,EAAE;IACtC,MAAM,MAAM,GAAG,qBAAqB,CAAC;IACrC,MAAM,KAAK,GAAG,IAAA,iBAAS,EAAC;QACtB,aAAa,EAAE,GAAG;QAClB,QAAQ,EAAE,MAAM;QAChB,MAAM,EAAE,MAAM;KACf,CAAC,CAAC;IACH,MAAM,QAAQ,GAAG,IAAA,oBAAY,EAAC,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAC;IAE3C,MAAM,GAAG,GAAG,IAAI,gBAAU,CACxB,IAAI,mBAAa,CAAC;QAChB,QAAQ,EAAE,2BAA2B;KACtC,CAAC,CACH,CAAC;IAEF,IAAI,CAAC;QACH,MAAM,GAAG,CAAC,eAAe,CAAC;YACxB,gBAAgB,EAAE;gBAChB,KAAK;gBACL,QAAQ;aACT;SACF,CAAC,CAAC;QAEH,MAAM,IAAI,GAAG,MAAM,IAAA,4CAAkC,EAAC,KAAK,CAAC,CAAC;QAE7D,MAAM,GAAG,CAAC,eAAe,CAAC;YACxB,gBAAgB,EAAE;gBAChB,KAAK;gBACL,IAAI;aACL;SACF,CAAC,CAAC;QAEH,0CAA0C;QAC1C,MAAM,aAAa,GAAG,MAAM,GAAG,CAAC,KAAK,CAAC;YACpC,aAAa,EAAE;gBACb,KAAK;gBACL,QAAQ;gBACR,MAAM;aACP;SACF,CAAC,CAAC;QACH,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC5C,CAAC;IAAC,OAAO,CAAU,EAAE,CAAC;QACpB,IAAI,CAAC,YAAY,mBAAa,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,EAAE,EAAE,CAAC,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC;QACxF,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,CAAC;QACV,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4BAA4B,CAAC,CAAC;AAChD,CAAC,CAAC;AAjDW,QAAA,aAAa,iBAiDxB"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Test utilities for SimpleLogin client SDK
3
+ */
4
+ export * from './createAccount';
5
+ export * from './mailHog';
6
+ export * from './matchers';
@@ -0,0 +1,26 @@
1
+ "use strict";
2
+ /**
3
+ * Test utilities for SimpleLogin client SDK
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
17
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
18
+ };
19
+ Object.defineProperty(exports, "__esModule", { value: true });
20
+ // Account creation utilities
21
+ __exportStar(require("./createAccount"), exports);
22
+ // MailHog utilities
23
+ __exportStar(require("./mailHog"), exports);
24
+ // Generic matchers for HTTP responses
25
+ __exportStar(require("./matchers"), exports);
26
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../test/utils/index.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;AAEH,6BAA6B;AAC7B,kDAAgC;AAChC,oBAAoB;AACpB,4CAA0B;AAC1B,sCAAsC;AACtC,6CAA2B"}
@@ -0,0 +1,4 @@
1
+ export declare const waitForSimpleLoginRegistrationCode: (email: string, { timeoutMs, pollIntervalMs, }?: {
2
+ timeoutMs?: number;
3
+ pollIntervalMs?: number;
4
+ }) => Promise<string>;
@@ -0,0 +1,37 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.waitForSimpleLoginRegistrationCode = void 0;
4
+ const MAILHOG_API = 'http://localhost:8025/api/v2/messages';
5
+ const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
6
+ const extractSimpleLoginCode = (body) => {
7
+ const anchored = body.match(/entering the following code into the application:\s*\n\s*(\d{4,10})/i);
8
+ if (anchored?.[1])
9
+ return anchored[1];
10
+ const fallback = body.match(/^\s*(\d{4,10})\s*$/m);
11
+ return fallback?.[1] ?? null;
12
+ };
13
+ const getLatestMailBodyByTo = async (toAddress) => {
14
+ const res = await fetch(MAILHOG_API);
15
+ if (!res.ok)
16
+ throw new Error(res.statusText);
17
+ const data = (await res.json());
18
+ const match = data.items
19
+ .filter((m) => m.To.some((t) => `${t.Mailbox}@${t.Domain}` === toAddress))
20
+ .sort((a, b) => new Date(b.Created).getTime() - new Date(a.Created).getTime())[0];
21
+ return match?.Content.Body ?? null;
22
+ };
23
+ const waitForSimpleLoginRegistrationCode = async (email, { timeoutMs = 30_000, pollIntervalMs = 1_000, } = {}) => {
24
+ const deadline = Date.now() + timeoutMs;
25
+ while (Date.now() < deadline) {
26
+ const body = await getLatestMailBodyByTo(email);
27
+ if (body) {
28
+ const code = extractSimpleLoginCode(body);
29
+ if (code)
30
+ return code;
31
+ }
32
+ await sleep(pollIntervalMs);
33
+ }
34
+ throw new Error(`Timed out after ${timeoutMs}ms waiting for SimpleLogin code for ${email}`);
35
+ };
36
+ exports.waitForSimpleLoginRegistrationCode = waitForSimpleLoginRegistrationCode;
37
+ //# sourceMappingURL=mailHog.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mailHog.js","sourceRoot":"","sources":["../../../test/utils/mailHog.ts"],"names":[],"mappings":";;;AAUA,MAAM,WAAW,GAAG,uCAAuC,CAAC;AAE5D,MAAM,KAAK,GAAG,CAAC,EAAU,EAAE,EAAE,CAAC,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;AAEhF,MAAM,sBAAsB,GAAG,CAAC,IAAY,EAAiB,EAAE;IAC7D,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CACzB,sEAAsE,CACvE,CAAC;IACF,IAAI,QAAQ,EAAE,CAAC,CAAC,CAAC;QAAE,OAAO,QAAQ,CAAC,CAAC,CAAC,CAAC;IAEtC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAC;IACnD,OAAO,QAAQ,EAAE,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC;AAC/B,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,SAAiB,EAA0B,EAAE;IAChF,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,WAAW,CAAC,CAAC;IACrC,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;IAE7C,MAAM,IAAI,GAAG,CAAC,MAAM,GAAG,CAAC,IAAI,EAAE,CAAoB,CAAC;IAEnD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK;SACrB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,CAAC,OAAO,IAAI,CAAC,CAAC,MAAM,EAAE,KAAK,SAAS,CAAC,CAAC;SACzE,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,GAAG,IAAI,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAEpF,OAAO,KAAK,EAAE,OAAO,CAAC,IAAI,IAAI,IAAI,CAAC;AACrC,CAAC,CAAC;AAEK,MAAM,kCAAkC,GAAG,KAAK,EACrD,KAAa,EACb,EACE,SAAS,GAAG,MAAM,EAClB,cAAc,GAAG,KAAK,MAIpB,EAAE,EACW,EAAE;IACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IAExC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,QAAQ,EAAE,CAAC;QAC7B,MAAM,IAAI,GAAG,MAAM,qBAAqB,CAAC,KAAK,CAAC,CAAC;QAChD,IAAI,IAAI,EAAE,CAAC;YACT,MAAM,IAAI,GAAG,sBAAsB,CAAC,IAAI,CAAC,CAAC;YAC1C,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;QACxB,CAAC;QACD,MAAM,KAAK,CAAC,cAAc,CAAC,CAAC;IAC9B,CAAC;IAED,MAAM,IAAI,KAAK,CAAC,mBAAmB,SAAS,uCAAuC,KAAK,EAAE,CAAC,CAAC;AAC9F,CAAC,CAAC;AAtBW,QAAA,kCAAkC,sCAsB7C"}
@@ -0,0 +1,101 @@
1
+ /**
2
+ * Custom matcher to verify a response has a successful status code (200-299).
3
+ * Returns the unwrapped value from the response.
4
+ *
5
+ * **Important:** Use this with the `*Raw()` methods from the SDK that return the full ApiResponse.
6
+ * For example, use `createApiKeyRaw()` instead of `createApiKey()`.
7
+ *
8
+ * @param response - The ApiResponse object from a `*Raw()` method call
9
+ * @returns The unwrapped response value
10
+ *
11
+ * @example
12
+ * // Basic usage
13
+ * const response = await client.account.createApiKeyRaw({
14
+ * apiKeyPost: { device: 'test-device' }
15
+ * });
16
+ * const apiKey = await expectSuccess(response);
17
+ * expect(apiKey.apiKey).toBeDefined();
18
+ *
19
+ * @example
20
+ * // Checking specific status codes
21
+ * const response = await client.account.createApiKeyRaw({
22
+ * apiKeyPost: { device: 'test-device' }
23
+ * });
24
+ * expect(response.raw.status).toBe(201); // Check specific status if needed
25
+ * const apiKey = await expectSuccess(response);
26
+ */
27
+ export declare function expectSuccess<T>(response: {
28
+ raw: Response;
29
+ value(): Promise<T>;
30
+ }): Promise<T>;
31
+ /**
32
+ * Custom matcher to verify an error is a ResponseError with the expected status code.
33
+ * Throws if the error is not a ResponseError or has a different status code.
34
+ *
35
+ * Works with both `*Raw()` and regular SDK methods since both throw ResponseError on failure.
36
+ *
37
+ * @param error - The caught error from a failed API call
38
+ * @param statusCode - The expected HTTP status code (e.g., 400, 401, 403, 404, 500)
39
+ *
40
+ * @example
41
+ * // Testing authentication failure (401)
42
+ * try {
43
+ * const client = new SimpleLoginClient(new Configuration({
44
+ * basePath: 'http://localhost:7777/api',
45
+ * apiKey: 'invalid-key'
46
+ * }));
47
+ * await client.account.getUserInfo();
48
+ * throw new Error('Should have thrown');
49
+ * } catch (error) {
50
+ * expectError(error, 401);
51
+ * }
52
+ *
53
+ * @example
54
+ * // Testing bad request (400)
55
+ * try {
56
+ * await client.account.login({
57
+ * authLoginPost: { email: 'invalid', password: 'invalid' }
58
+ * });
59
+ * throw new Error('Should have thrown');
60
+ * } catch (error) {
61
+ * expectError(error, 400);
62
+ * }
63
+ *
64
+ * @example
65
+ * // Testing not found (404)
66
+ * try {
67
+ * await client.alias.getAlias({ aliasId: 99999 });
68
+ * throw new Error('Should have thrown');
69
+ * } catch (error) {
70
+ * expectError(error, 404);
71
+ * }
72
+ */
73
+ export declare function expectError(error: unknown, statusCode: number): void;
74
+ /**
75
+ * Custom matcher to verify an error is a ResponseError with a status code in the client error range (400-499).
76
+ *
77
+ * @param error - The caught error from a failed API call
78
+ *
79
+ * @example
80
+ * try {
81
+ * await client.alias.getAlias({ aliasId: 99999 });
82
+ * throw new Error('Should have thrown');
83
+ * } catch (error) {
84
+ * expectClientError(error);
85
+ * }
86
+ */
87
+ export declare function expectClientError(error: unknown): void;
88
+ /**
89
+ * Custom matcher to verify an error is a ResponseError with a status code in the server error range (500-599).
90
+ *
91
+ * @param error - The caught error from a failed API call
92
+ *
93
+ * @example
94
+ * try {
95
+ * await client.account.getSomeEndpoint();
96
+ * throw new Error('Should have thrown');
97
+ * } catch (error) {
98
+ * expectServerError(error);
99
+ * }
100
+ */
101
+ export declare function expectServerError(error: unknown): void;
@@ -0,0 +1,129 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.expectSuccess = expectSuccess;
4
+ exports.expectError = expectError;
5
+ exports.expectClientError = expectClientError;
6
+ exports.expectServerError = expectServerError;
7
+ const vitest_1 = require("vitest");
8
+ const runtime_1 = require("../../src/sdk/runtime");
9
+ /**
10
+ * Custom matcher to verify a response has a successful status code (200-299).
11
+ * Returns the unwrapped value from the response.
12
+ *
13
+ * **Important:** Use this with the `*Raw()` methods from the SDK that return the full ApiResponse.
14
+ * For example, use `createApiKeyRaw()` instead of `createApiKey()`.
15
+ *
16
+ * @param response - The ApiResponse object from a `*Raw()` method call
17
+ * @returns The unwrapped response value
18
+ *
19
+ * @example
20
+ * // Basic usage
21
+ * const response = await client.account.createApiKeyRaw({
22
+ * apiKeyPost: { device: 'test-device' }
23
+ * });
24
+ * const apiKey = await expectSuccess(response);
25
+ * expect(apiKey.apiKey).toBeDefined();
26
+ *
27
+ * @example
28
+ * // Checking specific status codes
29
+ * const response = await client.account.createApiKeyRaw({
30
+ * apiKeyPost: { device: 'test-device' }
31
+ * });
32
+ * expect(response.raw.status).toBe(201); // Check specific status if needed
33
+ * const apiKey = await expectSuccess(response);
34
+ */
35
+ async function expectSuccess(response) {
36
+ (0, vitest_1.expect)(response.raw.status).toBeGreaterThanOrEqual(200);
37
+ (0, vitest_1.expect)(response.raw.status).toBeLessThan(300);
38
+ const value = await response.value();
39
+ return value;
40
+ }
41
+ /**
42
+ * Custom matcher to verify an error is a ResponseError with the expected status code.
43
+ * Throws if the error is not a ResponseError or has a different status code.
44
+ *
45
+ * Works with both `*Raw()` and regular SDK methods since both throw ResponseError on failure.
46
+ *
47
+ * @param error - The caught error from a failed API call
48
+ * @param statusCode - The expected HTTP status code (e.g., 400, 401, 403, 404, 500)
49
+ *
50
+ * @example
51
+ * // Testing authentication failure (401)
52
+ * try {
53
+ * const client = new SimpleLoginClient(new Configuration({
54
+ * basePath: 'http://localhost:7777/api',
55
+ * apiKey: 'invalid-key'
56
+ * }));
57
+ * await client.account.getUserInfo();
58
+ * throw new Error('Should have thrown');
59
+ * } catch (error) {
60
+ * expectError(error, 401);
61
+ * }
62
+ *
63
+ * @example
64
+ * // Testing bad request (400)
65
+ * try {
66
+ * await client.account.login({
67
+ * authLoginPost: { email: 'invalid', password: 'invalid' }
68
+ * });
69
+ * throw new Error('Should have thrown');
70
+ * } catch (error) {
71
+ * expectError(error, 400);
72
+ * }
73
+ *
74
+ * @example
75
+ * // Testing not found (404)
76
+ * try {
77
+ * await client.alias.getAlias({ aliasId: 99999 });
78
+ * throw new Error('Should have thrown');
79
+ * } catch (error) {
80
+ * expectError(error, 404);
81
+ * }
82
+ */
83
+ function expectError(error, statusCode) {
84
+ (0, vitest_1.expect)(error).toBeInstanceOf(runtime_1.ResponseError);
85
+ const responseError = error;
86
+ (0, vitest_1.expect)(responseError.response).toBeDefined();
87
+ (0, vitest_1.expect)(responseError.response.status).toBe(statusCode);
88
+ }
89
+ /**
90
+ * Custom matcher to verify an error is a ResponseError with a status code in the client error range (400-499).
91
+ *
92
+ * @param error - The caught error from a failed API call
93
+ *
94
+ * @example
95
+ * try {
96
+ * await client.alias.getAlias({ aliasId: 99999 });
97
+ * throw new Error('Should have thrown');
98
+ * } catch (error) {
99
+ * expectClientError(error);
100
+ * }
101
+ */
102
+ function expectClientError(error) {
103
+ (0, vitest_1.expect)(error).toBeInstanceOf(runtime_1.ResponseError);
104
+ const responseError = error;
105
+ (0, vitest_1.expect)(responseError.response).toBeDefined();
106
+ (0, vitest_1.expect)(responseError.response.status).toBeGreaterThanOrEqual(400);
107
+ (0, vitest_1.expect)(responseError.response.status).toBeLessThan(500);
108
+ }
109
+ /**
110
+ * Custom matcher to verify an error is a ResponseError with a status code in the server error range (500-599).
111
+ *
112
+ * @param error - The caught error from a failed API call
113
+ *
114
+ * @example
115
+ * try {
116
+ * await client.account.getSomeEndpoint();
117
+ * throw new Error('Should have thrown');
118
+ * } catch (error) {
119
+ * expectServerError(error);
120
+ * }
121
+ */
122
+ function expectServerError(error) {
123
+ (0, vitest_1.expect)(error).toBeInstanceOf(runtime_1.ResponseError);
124
+ const responseError = error;
125
+ (0, vitest_1.expect)(responseError.response).toBeDefined();
126
+ (0, vitest_1.expect)(responseError.response.status).toBeGreaterThanOrEqual(500);
127
+ (0, vitest_1.expect)(responseError.response.status).toBeLessThan(600);
128
+ }
129
+ //# sourceMappingURL=matchers.js.map