@gatwech/auth 1.0.0-beta.18

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 (422) hide show
  1. package/README.md +31 -0
  2. package/dist/access-BO2g7QVe.mjs +45 -0
  3. package/dist/access-C6O_osEz.mjs +79 -0
  4. package/dist/access-DT1f6l5k.mjs +51 -0
  5. package/dist/adapter-factory-BZ2Qiqpn.mjs +640 -0
  6. package/dist/adapters/drizzle-adapter/index.d.mts +47 -0
  7. package/dist/adapters/drizzle-adapter/index.mjs +208 -0
  8. package/dist/adapters/index.d.mts +132 -0
  9. package/dist/adapters/index.mjs +18 -0
  10. package/dist/adapters/kysely-adapter/index.d.mts +47 -0
  11. package/dist/adapters/kysely-adapter/index.mjs +11 -0
  12. package/dist/adapters/memory-adapter/index.d.mts +14 -0
  13. package/dist/adapters/memory-adapter/index.mjs +154 -0
  14. package/dist/adapters/mongodb-adapter/index.d.mts +35 -0
  15. package/dist/adapters/mongodb-adapter/index.mjs +315 -0
  16. package/dist/adapters/prisma-adapter/index.d.mts +34 -0
  17. package/dist/adapters/prisma-adapter/index.mjs +159 -0
  18. package/dist/adapters/test.d.mts +81 -0
  19. package/dist/adapters/test.mjs +793 -0
  20. package/dist/admin-Bcq53Nwj.mjs +743 -0
  21. package/dist/admin-DtfO1PLg.d.mts +1689 -0
  22. package/dist/anonymous-CRt1imBW.mjs +107 -0
  23. package/dist/api/index.d.mts +6 -0
  24. package/dist/api/index.mjs +17 -0
  25. package/dist/api-0pR_I-Nx.mjs +3139 -0
  26. package/dist/auth-CBUoBX6o.mjs +233 -0
  27. package/dist/bearer-Djf_awfo.mjs +63 -0
  28. package/dist/bun-sqlite-dialect-CeNvMaZz.mjs +155 -0
  29. package/dist/captcha-BqaMxlKC.mjs +178 -0
  30. package/dist/chunk-BK_LfMhE.mjs +40 -0
  31. package/dist/client/index.d.mts +186 -0
  32. package/dist/client/index.mjs +7 -0
  33. package/dist/client/plugins/index.d.mts +949 -0
  34. package/dist/client/plugins/index.mjs +539 -0
  35. package/dist/client/react/index.d.mts +179 -0
  36. package/dist/client/react/index.mjs +69 -0
  37. package/dist/client-BOX93C3d.d.mts +1250 -0
  38. package/dist/client-CNY0tn9g.d.mts +628 -0
  39. package/dist/client-CygJhqeB.mjs +29 -0
  40. package/dist/client-WiN43tAS.mjs +17 -0
  41. package/dist/client-aExCkfwm.mjs +30 -0
  42. package/dist/cookies/index.d.mts +7 -0
  43. package/dist/cookies/index.mjs +7 -0
  44. package/dist/cookies-cJObLwn1.mjs +597 -0
  45. package/dist/crypto/index.d.mts +44 -0
  46. package/dist/crypto/index.mjs +4 -0
  47. package/dist/crypto-Bb42eMrH.mjs +70 -0
  48. package/dist/custom-session-L3t7ecsd.mjs +67 -0
  49. package/dist/date-Cx2yCiC4.mjs +115 -0
  50. package/dist/db/index.d.mts +7 -0
  51. package/dist/db/index.mjs +15 -0
  52. package/dist/db-BrstmDhc.mjs +1124 -0
  53. package/dist/device-authorization-V4s3h4Mj.mjs +557 -0
  54. package/dist/dialect-CeddeGHf.mjs +72 -0
  55. package/dist/email-otp-BtDHSw14.mjs +592 -0
  56. package/dist/esm-C-QicDNz.mjs +4090 -0
  57. package/dist/generic-oauth-CL5X27ZI.mjs +445 -0
  58. package/dist/get-request-ip-DSjrEpGo.mjs +27 -0
  59. package/dist/get-tables-BQP7YW9c.mjs +249 -0
  60. package/dist/has-permission-BpAr7uCn.mjs +14 -0
  61. package/dist/haveibeenpwned-cMpJvmzI.mjs +43 -0
  62. package/dist/helper-tmxW3BHj.d.mts +21 -0
  63. package/dist/index-34ONrP8l.d.mts +503 -0
  64. package/dist/index-65G5U5DB-DSdjzreF.d.mts +2543 -0
  65. package/dist/index-B-XKqFvY.d.mts +30 -0
  66. package/dist/index-B3n8e37d.d.mts +165 -0
  67. package/dist/index-BBm8nQ9Q.d.mts +42 -0
  68. package/dist/index-BHoQlf7a.d.mts +7699 -0
  69. package/dist/index-BYMI9r_d.d.mts +257 -0
  70. package/dist/index-BqhKCbPH.d.mts +36 -0
  71. package/dist/index-Buhn3hkR.d.mts +433 -0
  72. package/dist/index-C-u1h_WX.d.mts +174 -0
  73. package/dist/index-C7fQuk-V.d.mts +41 -0
  74. package/dist/index-CM-CFWwr.d.mts +1919 -0
  75. package/dist/index-CuFzhoS6.d.mts +359 -0
  76. package/dist/index-Cxi7TbLE.d.mts +11347 -0
  77. package/dist/index-DB7t8whN.d.mts +1 -0
  78. package/dist/index-DKNNV1kb.d.mts +626 -0
  79. package/dist/index-DR0xXno9.d.mts +113 -0
  80. package/dist/index-D_k662QG.d.mts +833 -0
  81. package/dist/index-DaBcikv9.d.mts +118 -0
  82. package/dist/index-DlaMq1nb.d.mts +955 -0
  83. package/dist/index-DoXZYQpq.d.mts +290 -0
  84. package/dist/index-G6V0Z_Mn.d.mts +125 -0
  85. package/dist/index-z0KSvE5i.d.mts +246 -0
  86. package/dist/index-zjjNBRY2.d.mts +95 -0
  87. package/dist/index.d.mts +12 -0
  88. package/dist/index.mjs +33 -0
  89. package/dist/integrations/next-js.d.mts +21 -0
  90. package/dist/integrations/next-js.mjs +62 -0
  91. package/dist/integrations/node.d.mts +15 -0
  92. package/dist/integrations/node.mjs +15 -0
  93. package/dist/integrations/react-start.d.mts +15 -0
  94. package/dist/integrations/react-start.mjs +46 -0
  95. package/dist/json-D0TBLy4q.mjs +24 -0
  96. package/dist/jwt-CmxZAGe2.mjs +94 -0
  97. package/dist/jwt-lHV4QHpD.mjs +387 -0
  98. package/dist/kysely-adapter-DpzYO8Yf.mjs +181 -0
  99. package/dist/magic-link-Bk-ueorR.mjs +176 -0
  100. package/dist/misc-beA1w3XV.mjs +7 -0
  101. package/dist/multi-session-DRrLKrg9.mjs +144 -0
  102. package/dist/node-sqlite-dialect-BcKxBQnm.mjs +155 -0
  103. package/dist/oauth-proxy-D1sWh9B_.mjs +133 -0
  104. package/dist/oauth2/index.d.mts +60 -0
  105. package/dist/oauth2/index.mjs +19 -0
  106. package/dist/one-tap-DMswkTEc.mjs +113 -0
  107. package/dist/organization-BArHO_5v.mjs +3857 -0
  108. package/dist/parser-DcrIEuXE.mjs +73 -0
  109. package/dist/passkey-CcD4CnhM.mjs +558 -0
  110. package/dist/password-sVC4nePO.mjs +25 -0
  111. package/dist/permission-DLYUF3cW.mjs +15 -0
  112. package/dist/phone-number-rHDIlh-2.mjs +485 -0
  113. package/dist/plugin-helper-4L-lzsjZ.mjs +16 -0
  114. package/dist/plugins/access/index.d.mts +3 -0
  115. package/dist/plugins/access/index.mjs +3 -0
  116. package/dist/plugins/admin/access/index.d.mts +116 -0
  117. package/dist/plugins/admin/access/index.mjs +4 -0
  118. package/dist/plugins/admin/index.d.mts +9 -0
  119. package/dist/plugins/admin/index.mjs +22 -0
  120. package/dist/plugins/anonymous/index.d.mts +7 -0
  121. package/dist/plugins/anonymous/index.mjs +18 -0
  122. package/dist/plugins/bearer/index.d.mts +2 -0
  123. package/dist/plugins/bearer/index.mjs +8 -0
  124. package/dist/plugins/captcha/index.d.mts +2 -0
  125. package/dist/plugins/captcha/index.mjs +4 -0
  126. package/dist/plugins/custom-session/index.d.mts +7 -0
  127. package/dist/plugins/custom-session/index.mjs +19 -0
  128. package/dist/plugins/device-authorization/index.d.mts +4 -0
  129. package/dist/plugins/device-authorization/index.mjs +18 -0
  130. package/dist/plugins/email-otp/index.d.mts +3 -0
  131. package/dist/plugins/email-otp/index.mjs +19 -0
  132. package/dist/plugins/generic-oauth/index.d.mts +7 -0
  133. package/dist/plugins/generic-oauth/index.mjs +18 -0
  134. package/dist/plugins/haveibeenpwned/index.d.mts +2 -0
  135. package/dist/plugins/haveibeenpwned/index.mjs +18 -0
  136. package/dist/plugins/index.d.mts +139 -0
  137. package/dist/plugins/index.mjs +47 -0
  138. package/dist/plugins/jwt/index.d.mts +7 -0
  139. package/dist/plugins/jwt/index.mjs +18 -0
  140. package/dist/plugins/magic-link/index.d.mts +2 -0
  141. package/dist/plugins/magic-link/index.mjs +18 -0
  142. package/dist/plugins/multi-session/index.d.mts +3 -0
  143. package/dist/plugins/multi-session/index.mjs +18 -0
  144. package/dist/plugins/oauth-proxy/index.d.mts +2 -0
  145. package/dist/plugins/oauth-proxy/index.mjs +18 -0
  146. package/dist/plugins/one-tap/index.d.mts +2 -0
  147. package/dist/plugins/one-tap/index.mjs +18 -0
  148. package/dist/plugins/one-time-token/index.d.mts +7 -0
  149. package/dist/plugins/one-time-token/index.mjs +47 -0
  150. package/dist/plugins/organization/access/index.d.mts +4 -0
  151. package/dist/plugins/organization/access/index.mjs +4 -0
  152. package/dist/plugins/organization/index.d.mts +9 -0
  153. package/dist/plugins/organization/index.mjs +22 -0
  154. package/dist/plugins/passkey/index.d.mts +7 -0
  155. package/dist/plugins/passkey/index.mjs +18 -0
  156. package/dist/plugins/phone-number/index.d.mts +7 -0
  157. package/dist/plugins/phone-number/index.mjs +18 -0
  158. package/dist/plugins/two-factor/index.d.mts +7 -0
  159. package/dist/plugins/two-factor/index.mjs +20 -0
  160. package/dist/plugins/username/index.d.mts +4 -0
  161. package/dist/plugins/username/index.mjs +18 -0
  162. package/dist/plugins-3jfNste3.mjs +1544 -0
  163. package/dist/plugins-hFZT3hmK.d.mts +14 -0
  164. package/dist/promise-8rrEHRXd.mjs +23154 -0
  165. package/dist/proxy-CL9PZXJA.mjs +441 -0
  166. package/dist/session-Dgp133Yt.mjs +413 -0
  167. package/dist/social-providers/index.d.mts +1 -0
  168. package/dist/social-providers/index.mjs +3 -0
  169. package/dist/src/adapters/adapter-factory/index.d.ts +10 -0
  170. package/dist/src/adapters/adapter-factory/types.d.ts +124 -0
  171. package/dist/src/adapters/create-test-suite.d.ts +97 -0
  172. package/dist/src/adapters/drizzle-adapter/drizzle-adapter.d.ts +43 -0
  173. package/dist/src/adapters/drizzle-adapter/index.d.ts +1 -0
  174. package/dist/src/adapters/drizzle-adapter/test/generate-schema.d.ts +12 -0
  175. package/dist/src/adapters/index.d.ts +21 -0
  176. package/dist/src/adapters/kysely-adapter/bun-sqlite-dialect.d.ts +58 -0
  177. package/dist/src/adapters/kysely-adapter/dialect.d.ts +13 -0
  178. package/dist/src/adapters/kysely-adapter/index.d.ts +3 -0
  179. package/dist/src/adapters/kysely-adapter/kysely-adapter.d.ts +32 -0
  180. package/dist/src/adapters/kysely-adapter/node-sqlite-dialect.d.ts +58 -0
  181. package/dist/src/adapters/kysely-adapter/types.d.ts +1 -0
  182. package/dist/src/adapters/memory-adapter/index.d.ts +1 -0
  183. package/dist/src/adapters/memory-adapter/memory-adapter.d.ts +9 -0
  184. package/dist/src/adapters/mongodb-adapter/index.d.ts +1 -0
  185. package/dist/src/adapters/mongodb-adapter/mongodb-adapter.d.ts +31 -0
  186. package/dist/src/adapters/prisma-adapter/index.d.ts +1 -0
  187. package/dist/src/adapters/prisma-adapter/prisma-adapter.d.ts +32 -0
  188. package/dist/src/adapters/prisma-adapter/test/auth.d.ts +3 -0
  189. package/dist/src/adapters/prisma-adapter/test/generate-auth-config.d.ts +2 -0
  190. package/dist/src/adapters/prisma-adapter/test/generate-prisma-schema.d.ts +3 -0
  191. package/dist/src/adapters/prisma-adapter/test/get-prisma-client.d.ts +7 -0
  192. package/dist/src/adapters/prisma-adapter/test/push-prisma-schema.d.ts +1 -0
  193. package/dist/src/adapters/test-adapter.d.ts +61 -0
  194. package/dist/src/adapters/test.d.ts +78 -0
  195. package/dist/src/adapters/tests/auth-flow.d.ts +22 -0
  196. package/dist/src/adapters/tests/index.d.ts +5 -0
  197. package/dist/src/adapters/tests/normal.d.ts +87 -0
  198. package/dist/src/adapters/tests/number-id.d.ts +17 -0
  199. package/dist/src/adapters/tests/performance.d.ts +24 -0
  200. package/dist/src/adapters/tests/transactions.d.ts +20 -0
  201. package/dist/src/adapters/utils.d.ts +3 -0
  202. package/dist/src/api/index.d.ts +7150 -0
  203. package/dist/src/api/middlewares/index.d.ts +2 -0
  204. package/dist/src/api/middlewares/oauth.d.ts +15 -0
  205. package/dist/src/api/middlewares/origin-check.d.ts +8 -0
  206. package/dist/src/api/rate-limiter/index.d.ts +13 -0
  207. package/dist/src/api/routes/account.d.ts +623 -0
  208. package/dist/src/api/routes/callback.d.ts +68 -0
  209. package/dist/src/api/routes/email-verification.d.ts +266 -0
  210. package/dist/src/api/routes/error.d.ts +51 -0
  211. package/dist/src/api/routes/index.d.ts +11 -0
  212. package/dist/src/api/routes/ok.d.ts +61 -0
  213. package/dist/src/api/routes/reset-password.d.ts +203 -0
  214. package/dist/src/api/routes/session.d.ts +586 -0
  215. package/dist/src/api/routes/sign-in.d.ts +298 -0
  216. package/dist/src/api/routes/sign-out.d.ts +59 -0
  217. package/dist/src/api/routes/sign-up.d.ts +625 -0
  218. package/dist/src/api/routes/update-user.d.ts +862 -0
  219. package/dist/src/api/to-auth-endpoints.d.ts +3 -0
  220. package/dist/src/auth.d.ts +25 -0
  221. package/dist/src/client/broadcast-channel.d.ts +12 -0
  222. package/dist/src/client/config.d.ts +85 -0
  223. package/dist/src/client/fetch-plugins.d.ts +14 -0
  224. package/dist/src/client/index.d.ts +15 -0
  225. package/dist/src/client/parser.d.ts +12 -0
  226. package/dist/src/client/path-to-object.d.ts +63 -0
  227. package/dist/src/client/plugins/index.d.ts +21 -0
  228. package/dist/src/client/plugins/infer-plugin.d.ts +11 -0
  229. package/dist/src/client/proxy.d.ts +8 -0
  230. package/dist/src/client/query.d.ts +16 -0
  231. package/dist/src/client/react/index.d.ts +130 -0
  232. package/dist/src/client/react/react-store.d.ts +43 -0
  233. package/dist/src/client/session-atom.d.ts +18 -0
  234. package/dist/src/client/session-refresh.d.ts +17 -0
  235. package/dist/src/client/test-plugin.d.ts +147 -0
  236. package/dist/src/client/types.d.ts +49 -0
  237. package/dist/src/client/vanilla.d.ts +124 -0
  238. package/dist/src/cookies/check-cookies.d.ts +4 -0
  239. package/dist/src/cookies/cookie-utils.d.ts +16 -0
  240. package/dist/src/cookies/index.d.ts +56 -0
  241. package/dist/src/cookies/session-store.d.ts +43 -0
  242. package/dist/src/crypto/buffer.d.ts +4 -0
  243. package/dist/src/crypto/index.d.ts +14 -0
  244. package/dist/src/crypto/jwt.d.ts +4 -0
  245. package/dist/src/crypto/password.d.ts +5 -0
  246. package/dist/src/crypto/random.d.ts +1 -0
  247. package/dist/src/db/field.d.ts +97 -0
  248. package/dist/src/db/get-migration.d.ts +18 -0
  249. package/dist/src/db/get-schema.d.ts +6 -0
  250. package/dist/src/db/get-tables.d.ts +3 -0
  251. package/dist/src/db/index.d.ts +10 -0
  252. package/dist/src/db/internal-adapter.d.ts +9 -0
  253. package/dist/src/db/schema.d.ts +76 -0
  254. package/dist/src/db/to-zod.d.ts +31 -0
  255. package/dist/src/db/utils.d.ts +6 -0
  256. package/dist/src/db/with-hooks.d.ts +27 -0
  257. package/dist/src/index.d.ts +14 -0
  258. package/dist/src/init.d.ts +2 -0
  259. package/dist/src/integrations/next-js.d.ts +15 -0
  260. package/dist/src/integrations/node.d.ts +6 -0
  261. package/dist/src/integrations/react-start.d.ts +9 -0
  262. package/dist/src/oauth2/index.d.ts +4 -0
  263. package/dist/src/oauth2/link-account.d.ts +41 -0
  264. package/dist/src/oauth2/state.d.ts +21 -0
  265. package/dist/src/oauth2/utils.d.ts +3 -0
  266. package/dist/src/plugins/access/access.d.ts +25 -0
  267. package/dist/src/plugins/access/index.d.ts +2 -0
  268. package/dist/src/plugins/access/types.d.ts +14 -0
  269. package/dist/src/plugins/additional-fields/client.d.ts +91 -0
  270. package/dist/src/plugins/admin/access/index.d.ts +1 -0
  271. package/dist/src/plugins/admin/access/statement.d.ts +110 -0
  272. package/dist/src/plugins/admin/admin.d.ts +1570 -0
  273. package/dist/src/plugins/admin/client.d.ts +62 -0
  274. package/dist/src/plugins/admin/error-codes.d.ts +21 -0
  275. package/dist/src/plugins/admin/has-permission.d.ts +21 -0
  276. package/dist/src/plugins/admin/index.d.ts +2 -0
  277. package/dist/src/plugins/admin/schema.d.ts +36 -0
  278. package/dist/src/plugins/admin/types.d.ts +77 -0
  279. package/dist/src/plugins/anonymous/client.d.ts +8 -0
  280. package/dist/src/plugins/anonymous/index.d.ts +159 -0
  281. package/dist/src/plugins/api-key/client.d.ts +11 -0
  282. package/dist/src/plugins/api-key/index.d.ts +1431 -0
  283. package/dist/src/plugins/api-key/rate-limit.d.ts +20 -0
  284. package/dist/src/plugins/api-key/routes/create-api-key.d.ts +244 -0
  285. package/dist/src/plugins/api-key/routes/delete-all-expired-api-keys.d.ts +45 -0
  286. package/dist/src/plugins/api-key/routes/delete-api-key.d.ts +112 -0
  287. package/dist/src/plugins/api-key/routes/get-api-key.d.ts +234 -0
  288. package/dist/src/plugins/api-key/routes/index.d.ts +1136 -0
  289. package/dist/src/plugins/api-key/routes/list-api-keys.d.ts +231 -0
  290. package/dist/src/plugins/api-key/routes/update-api-key.d.ts +235 -0
  291. package/dist/src/plugins/api-key/routes/verify-api-key.d.ts +80 -0
  292. package/dist/src/plugins/api-key/schema.d.ts +188 -0
  293. package/dist/src/plugins/api-key/types.d.ts +285 -0
  294. package/dist/src/plugins/bearer/index.d.ts +31 -0
  295. package/dist/src/plugins/captcha/constants.d.ts +9 -0
  296. package/dist/src/plugins/captcha/error-codes.d.ts +9 -0
  297. package/dist/src/plugins/captcha/index.d.ts +7 -0
  298. package/dist/src/plugins/captcha/types.d.ts +23 -0
  299. package/dist/src/plugins/captcha/utils.d.ts +1 -0
  300. package/dist/src/plugins/captcha/verify-handlers/captchafox.d.ts +11 -0
  301. package/dist/src/plugins/captcha/verify-handlers/cloudflare-turnstile.d.ts +10 -0
  302. package/dist/src/plugins/captcha/verify-handlers/google-recaptcha.d.ts +11 -0
  303. package/dist/src/plugins/captcha/verify-handlers/h-captcha.d.ts +11 -0
  304. package/dist/src/plugins/captcha/verify-handlers/index.d.ts +4 -0
  305. package/dist/src/plugins/custom-session/client.d.ts +12 -0
  306. package/dist/src/plugins/custom-session/index.d.ts +89 -0
  307. package/dist/src/plugins/device-authorization/client.d.ts +12 -0
  308. package/dist/src/plugins/device-authorization/index.d.ts +568 -0
  309. package/dist/src/plugins/device-authorization/schema.d.ts +56 -0
  310. package/dist/src/plugins/email-otp/client.d.ts +9 -0
  311. package/dist/src/plugins/email-otp/index.d.ts +826 -0
  312. package/dist/src/plugins/email-otp/utils.d.ts +2 -0
  313. package/dist/src/plugins/generic-oauth/client.d.ts +5 -0
  314. package/dist/src/plugins/generic-oauth/index.d.ts +428 -0
  315. package/dist/src/plugins/haveibeenpwned/index.d.ts +25 -0
  316. package/dist/src/plugins/index.d.ts +28 -0
  317. package/dist/src/plugins/jwt/adapter.d.ts +8 -0
  318. package/dist/src/plugins/jwt/client.d.ts +5 -0
  319. package/dist/src/plugins/jwt/index.d.ts +276 -0
  320. package/dist/src/plugins/jwt/schema.d.ts +18 -0
  321. package/dist/src/plugins/jwt/sign.d.ts +8 -0
  322. package/dist/src/plugins/jwt/types.d.ts +175 -0
  323. package/dist/src/plugins/jwt/utils.d.ts +46 -0
  324. package/dist/src/plugins/last-login-method/client.d.ts +34 -0
  325. package/dist/src/plugins/last-login-method/index.d.ts +103 -0
  326. package/dist/src/plugins/magic-link/client.d.ts +5 -0
  327. package/dist/src/plugins/magic-link/index.d.ts +253 -0
  328. package/dist/src/plugins/magic-link/utils.d.ts +1 -0
  329. package/dist/src/plugins/multi-session/client.d.ts +9 -0
  330. package/dist/src/plugins/multi-session/index.d.ts +284 -0
  331. package/dist/src/plugins/oauth-proxy/index.d.ts +119 -0
  332. package/dist/src/plugins/one-tap/client.d.ts +81 -0
  333. package/dist/src/plugins/one-tap/index.d.ts +114 -0
  334. package/dist/src/plugins/one-time-token/client.d.ts +5 -0
  335. package/dist/src/plugins/one-time-token/index.d.ts +170 -0
  336. package/dist/src/plugins/one-time-token/utils.d.ts +1 -0
  337. package/dist/src/plugins/organization/access/index.d.ts +1 -0
  338. package/dist/src/plugins/organization/access/statement.d.ts +241 -0
  339. package/dist/src/plugins/organization/adapter.d.ts +685 -0
  340. package/dist/src/plugins/organization/call.d.ts +55 -0
  341. package/dist/src/plugins/organization/client.d.ts +344 -0
  342. package/dist/src/plugins/organization/error-codes.d.ts +58 -0
  343. package/dist/src/plugins/organization/has-permission.d.ts +13 -0
  344. package/dist/src/plugins/organization/index.d.ts +4 -0
  345. package/dist/src/plugins/organization/organization.d.ts +412 -0
  346. package/dist/src/plugins/organization/permission.d.ts +27 -0
  347. package/dist/src/plugins/organization/routes/crud-access-control.d.ts +701 -0
  348. package/dist/src/plugins/organization/routes/crud-invites.d.ts +1522 -0
  349. package/dist/src/plugins/organization/routes/crud-members.d.ts +1220 -0
  350. package/dist/src/plugins/organization/routes/crud-org.d.ts +1399 -0
  351. package/dist/src/plugins/organization/routes/crud-team.d.ts +1323 -0
  352. package/dist/src/plugins/organization/schema.d.ts +366 -0
  353. package/dist/src/plugins/organization/types.d.ts +737 -0
  354. package/dist/src/plugins/passkey/client.d.ts +190 -0
  355. package/dist/src/plugins/passkey/error-codes.d.ts +9 -0
  356. package/dist/src/plugins/passkey/index.d.ts +838 -0
  357. package/dist/src/plugins/passkey/schema.d.ts +50 -0
  358. package/dist/src/plugins/passkey/types.d.ts +69 -0
  359. package/dist/src/plugins/passkey/utils.d.ts +2 -0
  360. package/dist/src/plugins/phone-number/client.d.ts +9 -0
  361. package/dist/src/plugins/phone-number/index.d.ts +622 -0
  362. package/dist/src/plugins/phone-number/phone-number-error.d.ts +10 -0
  363. package/dist/src/plugins/two-factor/backup-codes/index.d.ts +387 -0
  364. package/dist/src/plugins/two-factor/client.d.ts +28 -0
  365. package/dist/src/plugins/two-factor/constant.d.ts +2 -0
  366. package/dist/src/plugins/two-factor/error-code.d.ts +11 -0
  367. package/dist/src/plugins/two-factor/index.d.ts +1014 -0
  368. package/dist/src/plugins/two-factor/otp/index.d.ts +282 -0
  369. package/dist/src/plugins/two-factor/schema.d.ts +35 -0
  370. package/dist/src/plugins/two-factor/totp/index.d.ts +298 -0
  371. package/dist/src/plugins/two-factor/types.d.ts +50 -0
  372. package/dist/src/plugins/two-factor/utils.d.ts +1 -0
  373. package/dist/src/plugins/two-factor/verify-two-factor.d.ts +59 -0
  374. package/dist/src/plugins/username/client.d.ts +5 -0
  375. package/dist/src/plugins/username/error-codes.d.ts +10 -0
  376. package/dist/src/plugins/username/index.d.ts +313 -0
  377. package/dist/src/plugins/username/schema.d.ts +27 -0
  378. package/dist/src/social-providers/index.d.ts +1 -0
  379. package/dist/src/test-utils/headers.d.ts +5 -0
  380. package/dist/src/test-utils/index.d.ts +2 -0
  381. package/dist/src/test-utils/test-instance.d.ts +17849 -0
  382. package/dist/src/types/adapter.d.ts +21 -0
  383. package/dist/src/types/api.d.ts +29 -0
  384. package/dist/src/types/helper.d.ts +32 -0
  385. package/dist/src/types/index.d.ts +7 -0
  386. package/dist/src/types/models.d.ts +13 -0
  387. package/dist/src/types/plugins.d.ts +14 -0
  388. package/dist/src/utils/await-object.d.ts +3 -0
  389. package/dist/src/utils/boolean.d.ts +1 -0
  390. package/dist/src/utils/clone.d.ts +1 -0
  391. package/dist/src/utils/constants.d.ts +1 -0
  392. package/dist/src/utils/date.d.ts +1 -0
  393. package/dist/src/utils/ensure-utc.d.ts +1 -0
  394. package/dist/src/utils/get-request-ip.d.ts +2 -0
  395. package/dist/src/utils/hashing.d.ts +6 -0
  396. package/dist/src/utils/hide-metadata.d.ts +3 -0
  397. package/dist/src/utils/id.d.ts +1 -0
  398. package/dist/src/utils/import-util.d.ts +1 -0
  399. package/dist/src/utils/index.d.ts +5 -0
  400. package/dist/src/utils/is-atom.d.ts +2 -0
  401. package/dist/src/utils/is-promise.d.ts +1 -0
  402. package/dist/src/utils/json.d.ts +1 -0
  403. package/dist/src/utils/merger.d.ts +1 -0
  404. package/dist/src/utils/middleware-response.d.ts +8 -0
  405. package/dist/src/utils/misc.d.ts +1 -0
  406. package/dist/src/utils/password.d.ts +6 -0
  407. package/dist/src/utils/plugin-helper.d.ts +5 -0
  408. package/dist/src/utils/shim.d.ts +3 -0
  409. package/dist/src/utils/time.d.ts +4 -0
  410. package/dist/src/utils/url.d.ts +4 -0
  411. package/dist/src/utils/wildcard.d.ts +45 -0
  412. package/dist/test-utils/index.d.mts +17870 -0
  413. package/dist/test-utils/index.mjs +272 -0
  414. package/dist/two-factor-ClUXxom2.mjs +914 -0
  415. package/dist/types/index.d.mts +6 -0
  416. package/dist/types/index.mjs +3 -0
  417. package/dist/types-B1OL7hyf.d.mts +4 -0
  418. package/dist/types-Bjn15Uy6.mjs +1 -0
  419. package/dist/url-VB2gAbTI.mjs +59 -0
  420. package/dist/username-DiGklOGl.mjs +278 -0
  421. package/dist/utils-SOMB4Px5.mjs +132 -0
  422. package/package.json +447 -0
@@ -0,0 +1,43 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ import type { DBAdapter, DBAdapterDebugLogOption } from "@gatwech/core/db/adapter";
3
+ export interface DB {
4
+ [key: string]: any;
5
+ }
6
+ export interface DrizzleAdapterConfig {
7
+ /**
8
+ * The schema object that defines the tables and fields
9
+ */
10
+ schema?: Record<string, any> | undefined;
11
+ /**
12
+ * The database provider
13
+ */
14
+ provider: "pg" | "mysql" | "sqlite";
15
+ /**
16
+ * If the table names in the schema are plural
17
+ * set this to true. For example, if the schema
18
+ * has an object with a key "users" instead of "user"
19
+ */
20
+ usePlural?: boolean | undefined;
21
+ /**
22
+ * Enable debug logs for the adapter
23
+ *
24
+ * @default false
25
+ */
26
+ debugLogs?: DBAdapterDebugLogOption | undefined;
27
+ /**
28
+ * By default snake case is used for table and field names
29
+ * when the CLI is used to generate the schema. If you want
30
+ * to use camel case, set this to true.
31
+ * @default false
32
+ */
33
+ camelCase?: boolean | undefined;
34
+ /**
35
+ * Whether to execute multiple operations in a transaction.
36
+ *
37
+ * If the database doesn't support transactions,
38
+ * set this to `false` and operations will be executed sequentially.
39
+ * @default false
40
+ */
41
+ transaction?: boolean | undefined;
42
+ }
43
+ export declare const drizzleAdapter: (db: DB, config: DrizzleAdapterConfig) => (options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>;
@@ -0,0 +1 @@
1
+ export * from "./drizzle-adapter";
@@ -0,0 +1,12 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ /**
3
+ * generates a drizzle schema based on PayvoAuthOptions & a given dialect.
4
+ *
5
+ * Useful for testing the Drizzle adapter.
6
+ */
7
+ export declare const generateDrizzleSchema: (db: any, options: PayvoAuthOptions, dialect: "sqlite" | "mysql" | "pg") => Promise<{
8
+ schema: any;
9
+ fileName: string;
10
+ }>;
11
+ export declare const clearSchemaCache: () => void;
12
+ export declare const resetGenerationCount: () => void;
@@ -0,0 +1,21 @@
1
+ import { type AdapterFactory, type AdapterFactoryCustomizeAdapterCreator, type AdapterFactoryOptions, type AdapterTestDebugLogs, createAdapterFactory } from "./adapter-factory";
2
+ export * from "@gatwech/core/db/adapter";
3
+ import type { CustomAdapter, DBAdapterFactoryConfig } from "@gatwech/core/db/adapter";
4
+ export type { AdapterFactoryOptions, AdapterFactory, AdapterTestDebugLogs, DBAdapterFactoryConfig, CustomAdapter, AdapterFactoryCustomizeAdapterCreator, };
5
+ export { createAdapterFactory };
6
+ /**
7
+ * @deprecated Use `createAdapterFactory` instead. This export will be removed in the next major version.
8
+ */
9
+ export declare const createAdapter: ({ adapter: customAdapter, config: cfg, }: AdapterFactoryOptions) => AdapterFactory;
10
+ /**
11
+ * @deprecated Use `AdapterFactoryOptions` instead. This export will be removed in the next major version.
12
+ */
13
+ export type CreateAdapterOptions = AdapterFactoryOptions;
14
+ /**
15
+ * @deprecated Use `AdapterFactoryConfig` instead. This export will be removed in the next major version.
16
+ */
17
+ export type AdapterConfig = DBAdapterFactoryConfig;
18
+ /**
19
+ * @deprecated Use `AdapterFactoryCustomizeAdapterCreator` instead. This export will be removed in the next major version.
20
+ */
21
+ export type CreateCustomAdapter = AdapterFactoryCustomizeAdapterCreator;
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @see {@link https://github.com/dylanblokhuis/kysely-bun-sqlite} - Fork of the original kysely-bun-sqlite package by @dylanblokhuis
3
+ */
4
+ import type { Database } from "bun:sqlite";
5
+ import { type DatabaseConnection, type DatabaseIntrospector, type DatabaseMetadata, type DatabaseMetadataOptions, DefaultQueryCompiler, type Dialect, type DialectAdapter, DialectAdapterBase, type Driver, Kysely, type QueryCompiler, type SchemaMetadata, type TableMetadata } from "kysely";
6
+ export declare class BunSqliteAdapter implements DialectAdapterBase {
7
+ get supportsCreateIfNotExists(): boolean;
8
+ get supportsTransactionalDdl(): boolean;
9
+ get supportsReturning(): boolean;
10
+ acquireMigrationLock(): Promise<void>;
11
+ releaseMigrationLock(): Promise<void>;
12
+ get supportsOutput(): boolean;
13
+ }
14
+ /**
15
+ * Config for the SQLite dialect.
16
+ */
17
+ export interface BunSqliteDialectConfig {
18
+ /**
19
+ * An sqlite Database instance or a function that returns one.
20
+ */
21
+ database: Database;
22
+ /**
23
+ * Called once when the first query is executed.
24
+ */
25
+ onCreateConnection?: ((connection: DatabaseConnection) => Promise<void>) | undefined;
26
+ }
27
+ export declare class BunSqliteDriver implements Driver {
28
+ #private;
29
+ constructor(config: BunSqliteDialectConfig);
30
+ init(): Promise<void>;
31
+ acquireConnection(): Promise<DatabaseConnection>;
32
+ beginTransaction(connection: DatabaseConnection): Promise<void>;
33
+ commitTransaction(connection: DatabaseConnection): Promise<void>;
34
+ rollbackTransaction(connection: DatabaseConnection): Promise<void>;
35
+ releaseConnection(): Promise<void>;
36
+ destroy(): Promise<void>;
37
+ }
38
+ export declare class BunSqliteIntrospector implements DatabaseIntrospector {
39
+ #private;
40
+ constructor(db: Kysely<unknown>);
41
+ getSchemas(): Promise<SchemaMetadata[]>;
42
+ getTables(options?: DatabaseMetadataOptions): Promise<TableMetadata[]>;
43
+ getMetadata(options?: DatabaseMetadataOptions | undefined): Promise<DatabaseMetadata>;
44
+ }
45
+ export declare class BunSqliteQueryCompiler extends DefaultQueryCompiler {
46
+ protected getCurrentParameterPlaceholder(): string;
47
+ protected getLeftIdentifierWrapper(): string;
48
+ protected getRightIdentifierWrapper(): string;
49
+ protected getAutoIncrement(): string;
50
+ }
51
+ export declare class BunSqliteDialect implements Dialect {
52
+ #private;
53
+ constructor(config: BunSqliteDialectConfig);
54
+ createDriver(): Driver;
55
+ createQueryCompiler(): QueryCompiler;
56
+ createAdapter(): DialectAdapter;
57
+ createIntrospector(db: Kysely<any>): DatabaseIntrospector;
58
+ }
@@ -0,0 +1,13 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ import { Kysely } from "kysely";
3
+ import type { KyselyDatabaseType } from "./types";
4
+ export declare function getKyselyDatabaseType(db: PayvoAuthOptions["database"]): KyselyDatabaseType | null;
5
+ export declare const createKyselyAdapter: (config: PayvoAuthOptions) => Promise<{
6
+ kysely: Kysely<any>;
7
+ databaseType: "postgres" | "mysql" | "sqlite" | "mssql";
8
+ transaction: boolean | undefined;
9
+ } | {
10
+ kysely: Kysely<any> | null;
11
+ databaseType: KyselyDatabaseType | null;
12
+ transaction: undefined;
13
+ }>;
@@ -0,0 +1,3 @@
1
+ export * from "./dialect";
2
+ export * from "./kysely-adapter";
3
+ export * from "./types";
@@ -0,0 +1,32 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ import type { DBAdapter, DBAdapterDebugLogOption } from "@gatwech/core/db/adapter";
3
+ import { type Kysely } from "kysely";
4
+ import type { KyselyDatabaseType } from "./types";
5
+ interface KyselyAdapterConfig {
6
+ /**
7
+ * Database type.
8
+ */
9
+ type?: KyselyDatabaseType | undefined;
10
+ /**
11
+ * Enable debug logs for the adapter
12
+ *
13
+ * @default false
14
+ */
15
+ debugLogs?: DBAdapterDebugLogOption | undefined;
16
+ /**
17
+ * Use plural for table names.
18
+ *
19
+ * @default false
20
+ */
21
+ usePlural?: boolean | undefined;
22
+ /**
23
+ * Whether to execute multiple operations in a transaction.
24
+ *
25
+ * If the database doesn't support transactions,
26
+ * set this to `false` and operations will be executed sequentially.
27
+ * @default false
28
+ */
29
+ transaction?: boolean | undefined;
30
+ }
31
+ export declare const kyselyAdapter: (db: Kysely<any>, config?: KyselyAdapterConfig | undefined) => (options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>;
32
+ export {};
@@ -0,0 +1,58 @@
1
+ /**
2
+ * @see {@link https://nodejs.org/api/sqlite.html} - Node.js SQLite API documentation
3
+ */
4
+ import type { DatabaseSync } from "node:sqlite";
5
+ import { type DatabaseConnection, type DatabaseIntrospector, type DatabaseMetadata, type DatabaseMetadataOptions, DefaultQueryCompiler, type Dialect, type DialectAdapter, DialectAdapterBase, type Driver, Kysely, type QueryCompiler, type SchemaMetadata, type TableMetadata } from "kysely";
6
+ export declare class NodeSqliteAdapter implements DialectAdapterBase {
7
+ get supportsCreateIfNotExists(): boolean;
8
+ get supportsTransactionalDdl(): boolean;
9
+ get supportsReturning(): boolean;
10
+ acquireMigrationLock(): Promise<void>;
11
+ releaseMigrationLock(): Promise<void>;
12
+ get supportsOutput(): boolean;
13
+ }
14
+ /**
15
+ * Config for the SQLite dialect.
16
+ */
17
+ export interface NodeSqliteDialectConfig {
18
+ /**
19
+ * A sqlite DatabaseSync instance or a function that returns one.
20
+ */
21
+ database: DatabaseSync;
22
+ /**
23
+ * Called once when the first query is executed.
24
+ */
25
+ onCreateConnection?: ((connection: DatabaseConnection) => Promise<void>) | undefined;
26
+ }
27
+ export declare class NodeSqliteDriver implements Driver {
28
+ #private;
29
+ constructor(config: NodeSqliteDialectConfig);
30
+ init(): Promise<void>;
31
+ acquireConnection(): Promise<DatabaseConnection>;
32
+ beginTransaction(connection: DatabaseConnection): Promise<void>;
33
+ commitTransaction(connection: DatabaseConnection): Promise<void>;
34
+ rollbackTransaction(connection: DatabaseConnection): Promise<void>;
35
+ releaseConnection(): Promise<void>;
36
+ destroy(): Promise<void>;
37
+ }
38
+ export declare class NodeSqliteIntrospector implements DatabaseIntrospector {
39
+ #private;
40
+ constructor(db: Kysely<unknown>);
41
+ getSchemas(): Promise<SchemaMetadata[]>;
42
+ getTables(options?: DatabaseMetadataOptions): Promise<TableMetadata[]>;
43
+ getMetadata(options?: DatabaseMetadataOptions | undefined): Promise<DatabaseMetadata>;
44
+ }
45
+ export declare class NodeSqliteQueryCompiler extends DefaultQueryCompiler {
46
+ protected getCurrentParameterPlaceholder(): string;
47
+ protected getLeftIdentifierWrapper(): string;
48
+ protected getRightIdentifierWrapper(): string;
49
+ protected getAutoIncrement(): string;
50
+ }
51
+ export declare class NodeSqliteDialect implements Dialect {
52
+ #private;
53
+ constructor(config: NodeSqliteDialectConfig);
54
+ createDriver(): Driver;
55
+ createQueryCompiler(): QueryCompiler;
56
+ createAdapter(): DialectAdapter;
57
+ createIntrospector(db: Kysely<any>): DatabaseIntrospector;
58
+ }
@@ -0,0 +1 @@
1
+ export type KyselyDatabaseType = "postgres" | "mysql" | "sqlite" | "mssql";
@@ -0,0 +1 @@
1
+ export * from "./memory-adapter";
@@ -0,0 +1,9 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ import type { DBAdapterDebugLogOption } from "@gatwech/core/db/adapter";
3
+ export interface MemoryDB {
4
+ [key: string]: any[];
5
+ }
6
+ export interface MemoryAdapterConfig {
7
+ debugLogs?: DBAdapterDebugLogOption | undefined;
8
+ }
9
+ export declare const memoryAdapter: (db: MemoryDB, config?: MemoryAdapterConfig | undefined) => (options: PayvoAuthOptions) => import("packages/core/dist/index-65G5U5DB.mjs").nt<PayvoAuthOptions>;
@@ -0,0 +1 @@
1
+ export * from "./mongodb-adapter";
@@ -0,0 +1,31 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ import type { DBAdapter, DBAdapterDebugLogOption } from "@gatwech/core/db/adapter";
3
+ import { type Db, type MongoClient } from "mongodb";
4
+ export interface MongoDBAdapterConfig {
5
+ /**
6
+ * MongoDB client instance
7
+ * If not provided, Database transactions won't be enabled.
8
+ */
9
+ client?: MongoClient | undefined;
10
+ /**
11
+ * Enable debug logs for the adapter
12
+ *
13
+ * @default false
14
+ */
15
+ debugLogs?: DBAdapterDebugLogOption | undefined;
16
+ /**
17
+ * Use plural table names
18
+ *
19
+ * @default false
20
+ */
21
+ usePlural?: boolean | undefined;
22
+ /**
23
+ * Whether to execute multiple operations in a transaction.
24
+ *
25
+ * If the database doesn't support transactions,
26
+ * set this to `false` and operations will be executed sequentially.
27
+ * @default false
28
+ */
29
+ transaction?: boolean | undefined;
30
+ }
31
+ export declare const mongodbAdapter: (db: Db, config?: MongoDBAdapterConfig | undefined) => (options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>;
@@ -0,0 +1 @@
1
+ export * from "./prisma-adapter";
@@ -0,0 +1,32 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ import type { DBAdapter, DBAdapterDebugLogOption } from "@gatwech/core/db/adapter";
3
+ export interface PrismaConfig {
4
+ /**
5
+ * Database provider.
6
+ */
7
+ provider: "sqlite" | "cockroachdb" | "mysql" | "postgresql" | "sqlserver" | "mongodb";
8
+ /**
9
+ * Enable debug logs for the adapter
10
+ *
11
+ * @default false
12
+ */
13
+ debugLogs?: DBAdapterDebugLogOption | undefined;
14
+ /**
15
+ * Use plural table names
16
+ *
17
+ * @default false
18
+ */
19
+ usePlural?: boolean | undefined;
20
+ /**
21
+ * Whether to execute multiple operations in a transaction.
22
+ *
23
+ * If the database doesn't support transactions,
24
+ * set this to `false` and operations will be executed sequentially.
25
+ * @default false
26
+ */
27
+ transaction?: boolean | undefined;
28
+ }
29
+ interface PrismaClient {
30
+ }
31
+ export declare const prismaAdapter: (prisma: PrismaClient, config: PrismaConfig) => (options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>;
32
+ export {};
@@ -0,0 +1,3 @@
1
+ export declare const auth: import("../../..").Auth<{
2
+ database: (options: import("packages/core/dist/index-65G5U5DB.mjs").g) => import("packages/core/dist/index-65G5U5DB.mjs").nt<import("packages/core/dist/index-65G5U5DB.mjs").g>;
3
+ }>;
@@ -0,0 +1,2 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ export declare const generateAuthConfigFile: (_options: PayvoAuthOptions) => Promise<void>;
@@ -0,0 +1,3 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ import type { PrismaClient } from "@prisma/client";
3
+ export declare function generatePrismaSchema(PayvoAuthOptions: PayvoAuthOptions, db: PrismaClient, iteration: number, dialect: "sqlite" | "postgresql" | "mysql"): Promise<void>;
@@ -0,0 +1,7 @@
1
+ import type { PrismaClient } from "@prisma/client";
2
+ export declare const getPrismaClient: (dialect: "sqlite" | "postgresql" | "mysql") => Promise<PrismaClient<import("@prisma/client").Prisma.PrismaClientOptions, unknown, import("@prisma/client/runtime/library").InternalArgs>>;
3
+ export declare const incrementMigrationCount: () => number;
4
+ export declare const destroyPrismaClient: ({ migrationCount, dialect, }: {
5
+ migrationCount: number;
6
+ dialect: "sqlite" | "postgresql" | "mysql";
7
+ }) => void;
@@ -0,0 +1 @@
1
+ export declare function pushPrismaSchema(dialect: "sqlite" | "postgresql" | "mysql"): Promise<void>;
@@ -0,0 +1,61 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ import type { DBAdapter } from "@gatwech/core/db/adapter";
3
+ import type { createTestSuite } from "./create-test-suite";
4
+ export type Logger = {
5
+ info: (...args: any[]) => void;
6
+ success: (...args: any[]) => void;
7
+ warn: (...args: any[]) => void;
8
+ error: (...args: any[]) => void;
9
+ debug: (...args: any[]) => void;
10
+ };
11
+ export declare const testAdapter: ({ adapter: getAdapter, runMigrations, overridePayvoAuthOptions, additionalCleanups, tests, prefixTests, onFinish, customIdGenerator, transformIdOutput, }: {
12
+ /**
13
+ * A function that will return the adapter instance to test with.
14
+ *
15
+ * @example
16
+ * ```ts
17
+ * testAdapter({
18
+ * adapter: (options) => drizzleAdapter(drizzle(db), {
19
+ * schema: generateSchema(options),
20
+ * }),
21
+ * })
22
+ */
23
+ adapter: (options: PayvoAuthOptions) => Promise<(options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>> | ((options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>);
24
+ /**
25
+ * A function that will run the database migrations.
26
+ */
27
+ runMigrations: (PayvoAuthOptions: PayvoAuthOptions) => Promise<void> | void;
28
+ /**
29
+ * Any potential payvo-auth options overrides.
30
+ */
31
+ overridePayvoAuthOptions?: <Passed extends PayvoAuthOptions, Returned extends PayvoAuthOptions>(PayvoAuthOptions: Passed) => Returned;
32
+ /**
33
+ * By default we will cleanup all tables automatically,
34
+ * but if you have additional cleanup logic, you can pass it here.
35
+ *
36
+ * Such as deleting a DB file that could had been created.
37
+ */
38
+ additionalCleanups?: () => Promise<void> | void;
39
+ /**
40
+ * A test suite to run.
41
+ */
42
+ tests: ReturnType<ReturnType<typeof createTestSuite>>[];
43
+ /**
44
+ * A prefix to add to the test suite name.
45
+ */
46
+ prefixTests?: string;
47
+ /**
48
+ * Upon finish of the tests, this function will be called.
49
+ */
50
+ onFinish?: () => Promise<void> | void;
51
+ /**
52
+ * Custom ID generator function to be used by the helper functions. (such as `insertRandom`)
53
+ */
54
+ customIdGenerator?: () => any;
55
+ /**
56
+ * A function that will transform the ID output.
57
+ */
58
+ transformIdOutput?: (id: any) => any;
59
+ }) => Promise<{
60
+ execute: () => void;
61
+ }>;
@@ -0,0 +1,78 @@
1
+ import type { PayvoAuthOptions } from "@gatwech/core";
2
+ import type { DBAdapter } from "@gatwech/core/db/adapter";
3
+ interface AdapterTestOptions {
4
+ getAdapter: (customOptions?: Omit<PayvoAuthOptions, "database">) => Promise<DBAdapter<PayvoAuthOptions>> | DBAdapter<PayvoAuthOptions>;
5
+ disableTests?: Partial<Record<keyof typeof adapterTests, boolean>>;
6
+ testPrefix?: string;
7
+ }
8
+ interface NumberIdAdapterTestOptions {
9
+ getAdapter: (customOptions?: Omit<PayvoAuthOptions, "database">) => Promise<DBAdapter<PayvoAuthOptions>>;
10
+ disableTests?: Partial<Record<keyof typeof numberIdAdapterTests, boolean>>;
11
+ testPrefix?: string;
12
+ }
13
+ declare const adapterTests: {
14
+ readonly CREATE_MODEL: "create model";
15
+ readonly CREATE_MODEL_SHOULD_ALWAYS_RETURN_AN_ID: "create model should always return an id";
16
+ readonly FIND_MODEL: "find model";
17
+ readonly FIND_MODEL_WITHOUT_ID: "find model without id";
18
+ readonly FIND_MODEL_WITH_SELECT: "find model with select";
19
+ readonly FIND_MODEL_WITH_MODIFIED_FIELD_NAME: "find model with modified field name";
20
+ readonly UPDATE_MODEL: "update model";
21
+ readonly SHOULD_FIND_MANY: "should find many";
22
+ readonly SHOULD_FIND_MANY_WITH_WHERE: "should find many with where";
23
+ readonly SHOULD_FIND_MANY_WITH_OPERATORS: "should find many with operators";
24
+ readonly SHOULD_WORK_WITH_REFERENCE_FIELDS: "should work with reference fields";
25
+ readonly SHOULD_FIND_MANY_WITH_NOT_IN_OPERATOR: "should find many with not in operator";
26
+ readonly SHOULD_FIND_MANY_WITH_SORT_BY: "should find many with sortBy";
27
+ readonly SHOULD_FIND_MANY_WITH_LIMIT: "should find many with limit";
28
+ readonly SHOULD_FIND_MANY_WITH_OFFSET: "should find many with offset";
29
+ readonly SHOULD_UPDATE_WITH_MULTIPLE_WHERE: "should update with multiple where";
30
+ readonly DELETE_MODEL: "delete model";
31
+ readonly SHOULD_DELETE_MANY: "should delete many";
32
+ readonly SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND: "shouldn't throw on delete record not found";
33
+ readonly SHOULD_NOT_THROW_ON_RECORD_NOT_FOUND: "shouldn't throw on record not found";
34
+ readonly SHOULD_FIND_MANY_WITH_CONTAINS_OPERATOR: "should find many with contains operator";
35
+ readonly SHOULD_SEARCH_USERS_WITH_STARTS_WITH: "should search users with startsWith";
36
+ readonly SHOULD_SEARCH_USERS_WITH_ENDS_WITH: "should search users with endsWith";
37
+ readonly SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: "should prefer generateId if provided";
38
+ readonly SHOULD_ROLLBACK_FAILING_TRANSACTION: "should rollback failing transaction";
39
+ readonly SHOULD_RETURN_TRANSACTION_RESULT: "should return transaction result";
40
+ readonly SHOULD_FIND_MANY_WITH_CONNECTORS: "should find many with connectors";
41
+ };
42
+ declare const numberIdAdapterTests: {
43
+ SHOULD_RETURN_A_NUMBER_ID_AS_A_RESULT: string;
44
+ SHOULD_INCREMENT_THE_ID_BY_1: string;
45
+ CREATE_MODEL: "create model";
46
+ CREATE_MODEL_SHOULD_ALWAYS_RETURN_AN_ID: "create model should always return an id";
47
+ FIND_MODEL: "find model";
48
+ FIND_MODEL_WITHOUT_ID: "find model without id";
49
+ FIND_MODEL_WITH_SELECT: "find model with select";
50
+ FIND_MODEL_WITH_MODIFIED_FIELD_NAME: "find model with modified field name";
51
+ UPDATE_MODEL: "update model";
52
+ SHOULD_FIND_MANY: "should find many";
53
+ SHOULD_FIND_MANY_WITH_WHERE: "should find many with where";
54
+ SHOULD_FIND_MANY_WITH_OPERATORS: "should find many with operators";
55
+ SHOULD_WORK_WITH_REFERENCE_FIELDS: "should work with reference fields";
56
+ SHOULD_FIND_MANY_WITH_NOT_IN_OPERATOR: "should find many with not in operator";
57
+ SHOULD_FIND_MANY_WITH_SORT_BY: "should find many with sortBy";
58
+ SHOULD_FIND_MANY_WITH_LIMIT: "should find many with limit";
59
+ SHOULD_FIND_MANY_WITH_OFFSET: "should find many with offset";
60
+ SHOULD_UPDATE_WITH_MULTIPLE_WHERE: "should update with multiple where";
61
+ DELETE_MODEL: "delete model";
62
+ SHOULD_DELETE_MANY: "should delete many";
63
+ SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND: "shouldn't throw on delete record not found";
64
+ SHOULD_NOT_THROW_ON_RECORD_NOT_FOUND: "shouldn't throw on record not found";
65
+ SHOULD_FIND_MANY_WITH_CONTAINS_OPERATOR: "should find many with contains operator";
66
+ SHOULD_SEARCH_USERS_WITH_STARTS_WITH: "should search users with startsWith";
67
+ SHOULD_SEARCH_USERS_WITH_ENDS_WITH: "should search users with endsWith";
68
+ SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: "should prefer generateId if provided";
69
+ SHOULD_ROLLBACK_FAILING_TRANSACTION: "should rollback failing transaction";
70
+ SHOULD_RETURN_TRANSACTION_RESULT: "should return transaction result";
71
+ SHOULD_FIND_MANY_WITH_CONNECTORS: "should find many with connectors";
72
+ };
73
+ export declare function runAdapterTest(opts: AdapterTestOptions): void;
74
+ export declare function runNumberIdAdapterTest(opts: NumberIdAdapterTestOptions): void;
75
+ export declare function recoverProcessTZ(): {
76
+ [Symbol.dispose]: () => void;
77
+ };
78
+ export {};
@@ -0,0 +1,22 @@
1
+ /**
2
+ * This test suite tests basic authentication flow using the adapter.
3
+ */
4
+ export declare const authFlowTestSuite: (options?: ({
5
+ disableTests?: Partial<Record<"should successfully sign up" | "should successfully sign in" | "should successfully get session" | "should not sign in with invalid email" | "should store and retrieve timestamps correctly across timezones" | "should sign up with additional fields", boolean> & {
6
+ ALL?: boolean;
7
+ }> | undefined;
8
+ } & {
9
+ showDB?: () => Promise<void>;
10
+ }) | undefined) => (helpers: {
11
+ adapter: () => Promise<import("packages/core/dist/index-65G5U5DB.mjs").nt<import("packages/core/dist/index-65G5U5DB.mjs").g>>;
12
+ log: import("../test-adapter").Logger;
13
+ adapterDisplayName: string;
14
+ getPayvoAuthOptions: () => import("packages/core/dist/index-65G5U5DB.mjs").g;
15
+ modifyPayvoAuthOptions: (options: import("packages/core/dist/index-65G5U5DB.mjs").g) => Promise<import("packages/core/dist/index-65G5U5DB.mjs").g>;
16
+ cleanup: () => Promise<void>;
17
+ runMigrations: () => Promise<void>;
18
+ prefixTests?: string | undefined;
19
+ onTestFinish: () => Promise<void>;
20
+ customIdGenerator?: (() => any | Promise<any> | undefined) | undefined;
21
+ transformIdOutput?: ((id: any) => string | undefined) | undefined;
22
+ }) => Promise<void>;
@@ -0,0 +1,5 @@
1
+ export * from "./auth-flow";
2
+ export * from "./normal";
3
+ export * from "./number-id";
4
+ export * from "./performance";
5
+ export * from "./transactions";
@@ -0,0 +1,87 @@
1
+ import { createTestSuite } from "../create-test-suite";
2
+ /**
3
+ * This test suite tests the basic CRUD operations of the adapter.
4
+ */
5
+ export declare const normalTestSuite: (options?: {
6
+ disableTests?: Partial<Record<"init - tests" | "create - should create a model" | "create - should always return an id" | "create - should use generateId if provided" | "create - should return null for nullable foreign keys" | "create - should apply default values to fields" | "findOne - should find a model" | "findOne - should not apply defaultValue if value not found" | "findOne - should find a model using a reference field" | "findOne - should not throw on record not found" | "findOne - should find a model without id" | "findOne - should find a model with modified field name" | "findOne - should find a model with modified model name" | "findOne - should find a model with additional fields" | "findOne - should select fields" | "findOne - should find model with date field" | "findMany - should find many models with date fields" | "findMany - should find many models" | "findMany - should return an empty array when no models are found" | "findMany - should find many models with starts_with operator" | "findMany - starts_with should not interpret regex patterns" | "findMany - ends_with should not interpret regex patterns" | "findMany - contains should not interpret regex patterns" | "findMany - should find many models with ends_with operator" | "findMany - should find many models with contains operator" | "findMany - should handle multiple where conditions with different operators" | "findMany - should find many models with contains operator (using symbol)" | "findMany - should find many models with eq operator" | "findMany - should find many models with ne operator" | "findMany - should find many models with ne operator on id field" | "findMany - should find many models with ne operator on _id field (MongoDB)" | "findMany - should handle ne operator with null value on id field" | "findMany - should handle in operator with null value in array" | "findMany - should find many models with gt operator" | "findMany - should find many models with gte operator" | "findMany - should find many models with lte operator" | "findMany - should find many models with lt operator" | "findMany - should find many models with in operator" | "findMany - should find many models with not_in operator" | "findMany - should find many models with sortBy" | "findMany - should find many models with limit" | "findMany - should find many models with offset" | "findMany - should find many models with limit and offset" | "findMany - should find many models with sortBy and offset" | "findMany - should find many models with sortBy and limit" | "findMany - should find many models with sortBy and limit and offset" | "findMany - should find many models with sortBy and limit and offset and where" | "update - should update a model" | "updateMany - should update all models when where is empty" | "updateMany - should update many models with a specific where" | "updateMany - should update many models with a multiple where" | "delete - should delete a model" | "delete - should not throw on record not found" | "deleteMany - should delete many models" | "deleteMany - starts_with should not interpret regex patterns" | "deleteMany - ends_with should not interpret regex patterns" | "deleteMany - contains should not interpret regex patterns" | "deleteMany - should delete many models with numeric values" | "deleteMany - should delete many models with boolean values" | "count - should count many models" | "count - should return 0 with no rows to count" | "count - should count with where clause" | "update - should correctly return record when updating a field used in where clause" | "update - should handle updating multiple fields including where clause field" | "update - should work when updated field is not in where clause", boolean> & {
7
+ ALL?: boolean;
8
+ }> | undefined;
9
+ } | undefined) => (helpers: {
10
+ adapter: () => Promise<import("packages/core/dist/index-65G5U5DB.mjs").nt<import("@gatwech/core").PayvoAuthOptions>>;
11
+ log: import("../test-adapter").Logger;
12
+ adapterDisplayName: string;
13
+ getPayvoAuthOptions: () => import("@gatwech/core").PayvoAuthOptions;
14
+ modifyPayvoAuthOptions: (options: import("@gatwech/core").PayvoAuthOptions) => Promise<import("@gatwech/core").PayvoAuthOptions>;
15
+ cleanup: () => Promise<void>;
16
+ runMigrations: () => Promise<void>;
17
+ prefixTests?: string | undefined;
18
+ onTestFinish: () => Promise<void>;
19
+ customIdGenerator?: (() => any | Promise<any> | undefined) | undefined;
20
+ transformIdOutput?: ((id: any) => string | undefined) | undefined;
21
+ }) => Promise<void>;
22
+ export declare const getNormalTestSuiteTests: ({ adapter, generate, insertRandom, modifyPayvoAuthOptions, sortModels, customIdGenerator, getPayvoAuthOptions, transformGeneratedModel, transformIdOutput, }: Parameters<Parameters<typeof createTestSuite>[2]>[0]) => {
23
+ "create - should create a model": () => Promise<void>;
24
+ "create - should always return an id": () => Promise<void>;
25
+ "create - should use generateId if provided": () => Promise<void>;
26
+ "create - should return null for nullable foreign keys": () => Promise<void>;
27
+ "create - should apply default values to fields": () => Promise<void>;
28
+ "findOne - should find a model": () => Promise<void>;
29
+ "findOne - should not apply defaultValue if value not found": () => Promise<void>;
30
+ "findOne - should find a model using a reference field": () => Promise<void>;
31
+ "findOne - should not throw on record not found": () => Promise<void>;
32
+ "findOne - should find a model without id": () => Promise<void>;
33
+ "findOne - should find a model with modified field name": () => Promise<void>;
34
+ "findOne - should find a model with modified model name": () => Promise<void>;
35
+ "findOne - should find a model with additional fields": () => Promise<void>;
36
+ "findOne - should select fields": () => Promise<void>;
37
+ "findOne - should find model with date field": () => Promise<void>;
38
+ "findMany - should find many models with date fields": () => Promise<void>;
39
+ "findMany - should find many models": () => Promise<void>;
40
+ "findMany - should return an empty array when no models are found": () => Promise<void>;
41
+ "findMany - should find many models with starts_with operator": () => Promise<void>;
42
+ "findMany - starts_with should not interpret regex patterns": () => Promise<void>;
43
+ "findMany - ends_with should not interpret regex patterns": () => Promise<void>;
44
+ "findMany - contains should not interpret regex patterns": () => Promise<void>;
45
+ "findMany - should find many models with ends_with operator": () => Promise<void>;
46
+ "findMany - should find many models with contains operator": () => Promise<void>;
47
+ "findMany - should handle multiple where conditions with different operators": () => Promise<void>;
48
+ "findMany - should find many models with contains operator (using symbol)": () => Promise<void>;
49
+ "findMany - should find many models with eq operator": () => Promise<void>;
50
+ "findMany - should find many models with ne operator": () => Promise<void>;
51
+ "findMany - should find many models with ne operator on id field": () => Promise<void>;
52
+ "findMany - should find many models with ne operator on _id field (MongoDB)": () => Promise<void>;
53
+ "findMany - should handle ne operator with null value on id field": () => Promise<void>;
54
+ "findMany - should handle in operator with null value in array": () => Promise<void>;
55
+ "findMany - should find many models with gt operator": () => Promise<void>;
56
+ "findMany - should find many models with gte operator": () => Promise<void>;
57
+ "findMany - should find many models with lte operator": () => Promise<void>;
58
+ "findMany - should find many models with lt operator": () => Promise<void>;
59
+ "findMany - should find many models with in operator": () => Promise<void>;
60
+ "findMany - should find many models with not_in operator": () => Promise<void>;
61
+ "findMany - should find many models with sortBy": () => Promise<void>;
62
+ "findMany - should find many models with limit": () => Promise<void>;
63
+ "findMany - should find many models with offset": () => Promise<void>;
64
+ "findMany - should find many models with limit and offset": () => Promise<void>;
65
+ "findMany - should find many models with sortBy and offset": () => Promise<void>;
66
+ "findMany - should find many models with sortBy and limit": () => Promise<void>;
67
+ "findMany - should find many models with sortBy and limit and offset": () => Promise<void>;
68
+ "findMany - should find many models with sortBy and limit and offset and where": () => Promise<void>;
69
+ "update - should update a model": () => Promise<void>;
70
+ "updateMany - should update all models when where is empty": () => Promise<void>;
71
+ "updateMany - should update many models with a specific where": () => Promise<void>;
72
+ "updateMany - should update many models with a multiple where": () => Promise<void>;
73
+ "delete - should delete a model": () => Promise<void>;
74
+ "delete - should not throw on record not found": () => Promise<void>;
75
+ "deleteMany - should delete many models": () => Promise<void>;
76
+ "deleteMany - starts_with should not interpret regex patterns": () => Promise<void>;
77
+ "deleteMany - ends_with should not interpret regex patterns": () => Promise<void>;
78
+ "deleteMany - contains should not interpret regex patterns": () => Promise<void>;
79
+ "deleteMany - should delete many models with numeric values": () => Promise<void>;
80
+ "deleteMany - should delete many models with boolean values": () => Promise<void>;
81
+ "count - should count many models": () => Promise<void>;
82
+ "count - should return 0 with no rows to count": () => Promise<void>;
83
+ "count - should count with where clause": () => Promise<void>;
84
+ "update - should correctly return record when updating a field used in where clause": () => Promise<void>;
85
+ "update - should handle updating multiple fields including where clause field": () => Promise<void>;
86
+ "update - should work when updated field is not in where clause": () => Promise<void>;
87
+ };