@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,315 @@
1
+ import "../../utils-SOMB4Px5.mjs";
2
+ import "../../json-D0TBLy4q.mjs";
3
+ import "../../crypto-Bb42eMrH.mjs";
4
+ import "../../jwt-CmxZAGe2.mjs";
5
+ import "../../get-tables-BQP7YW9c.mjs";
6
+ import "../../misc-beA1w3XV.mjs";
7
+ import { t as createAdapterFactory } from "../../adapter-factory-BZ2Qiqpn.mjs";
8
+ import { createLogger } from "@gatwech/core/env";
9
+ import { ObjectId } from "mongodb";
10
+
11
+ //#region src/adapters/mongodb-adapter/mongodb-adapter.ts
12
+ const mongodbAdapter = (db, config) => {
13
+ let lazyOptions;
14
+ const getCustomIdGenerator = (options) => {
15
+ const generator = options.advanced?.database?.generateId || options.advanced?.generateId;
16
+ if (typeof generator === "function") return generator;
17
+ };
18
+ const createCustomAdapter = (db$1, session) => ({ options, getFieldName, schema, getDefaultModelName }) => {
19
+ const customIdGen = getCustomIdGenerator(options);
20
+ createLogger(options.logger);
21
+ function serializeID({ field, value, model }) {
22
+ if (customIdGen) return value;
23
+ model = getDefaultModelName(model);
24
+ if (field === "id" || field === "_id" || schema[model].fields[field]?.references?.field === "id") {
25
+ if (value === null || value === void 0) return value;
26
+ if (typeof value !== "string") {
27
+ if (value instanceof ObjectId) return value;
28
+ if (Array.isArray(value)) return value.map((v) => {
29
+ if (v === null || v === void 0) return v;
30
+ if (typeof v === "string") try {
31
+ return new ObjectId(v);
32
+ } catch (e) {
33
+ return v;
34
+ }
35
+ if (v instanceof ObjectId) return v;
36
+ throw new Error("Invalid id value");
37
+ });
38
+ throw new Error("Invalid id value");
39
+ }
40
+ try {
41
+ return new ObjectId(value);
42
+ } catch (e) {
43
+ return value;
44
+ }
45
+ }
46
+ return value;
47
+ }
48
+ function convertWhereClause({ where, model }) {
49
+ if (!where.length) return {};
50
+ const conditions = where.map((w) => {
51
+ const { field: field_, value, operator = "eq", connector = "AND" } = w;
52
+ let condition;
53
+ let field = getFieldName({
54
+ model,
55
+ field: field_
56
+ });
57
+ if (field === "id") field = "_id";
58
+ switch (operator.toLowerCase()) {
59
+ case "eq":
60
+ condition = { [field]: serializeID({
61
+ field,
62
+ value,
63
+ model
64
+ }) };
65
+ break;
66
+ case "in":
67
+ condition = { [field]: { $in: Array.isArray(value) ? value.map((v) => serializeID({
68
+ field,
69
+ value: v,
70
+ model
71
+ })) : [serializeID({
72
+ field,
73
+ value,
74
+ model
75
+ })] } };
76
+ break;
77
+ case "not_in":
78
+ condition = { [field]: { $nin: Array.isArray(value) ? value.map((v) => serializeID({
79
+ field,
80
+ value: v,
81
+ model
82
+ })) : [serializeID({
83
+ field,
84
+ value,
85
+ model
86
+ })] } };
87
+ break;
88
+ case "gt":
89
+ condition = { [field]: { $gt: serializeID({
90
+ field,
91
+ value,
92
+ model
93
+ }) } };
94
+ break;
95
+ case "gte":
96
+ condition = { [field]: { $gte: serializeID({
97
+ field,
98
+ value,
99
+ model
100
+ }) } };
101
+ break;
102
+ case "lt":
103
+ condition = { [field]: { $lt: serializeID({
104
+ field,
105
+ value,
106
+ model
107
+ }) } };
108
+ break;
109
+ case "lte":
110
+ condition = { [field]: { $lte: serializeID({
111
+ field,
112
+ value,
113
+ model
114
+ }) } };
115
+ break;
116
+ case "ne":
117
+ condition = { [field]: { $ne: serializeID({
118
+ field,
119
+ value,
120
+ model
121
+ }) } };
122
+ break;
123
+ case "contains":
124
+ condition = { [field]: { $regex: `.*${escapeForMongoRegex(value)}.*` } };
125
+ break;
126
+ case "starts_with":
127
+ condition = { [field]: { $regex: `^${escapeForMongoRegex(value)}` } };
128
+ break;
129
+ case "ends_with":
130
+ condition = { [field]: { $regex: `${escapeForMongoRegex(value)}$` } };
131
+ break;
132
+ default: throw new Error(`Unsupported operator: ${operator}`);
133
+ }
134
+ return {
135
+ condition,
136
+ connector
137
+ };
138
+ });
139
+ if (conditions.length === 1) return conditions[0].condition;
140
+ const andConditions = conditions.filter((c) => c.connector === "AND").map((c) => c.condition);
141
+ const orConditions = conditions.filter((c) => c.connector === "OR").map((c) => c.condition);
142
+ let clause = {};
143
+ if (andConditions.length) clause = {
144
+ ...clause,
145
+ $and: andConditions
146
+ };
147
+ if (orConditions.length) clause = {
148
+ ...clause,
149
+ $or: orConditions
150
+ };
151
+ return clause;
152
+ }
153
+ return {
154
+ async create({ model, data: values }) {
155
+ return {
156
+ _id: (await db$1.collection(model).insertOne(values, { session })).insertedId.toString(),
157
+ ...values
158
+ };
159
+ },
160
+ async findOne({ model, where, select }) {
161
+ const clause = convertWhereClause({
162
+ where,
163
+ model
164
+ });
165
+ const projection = select ? Object.fromEntries(select.map((field) => [getFieldName({
166
+ field,
167
+ model
168
+ }), 1])) : void 0;
169
+ const res = await db$1.collection(model).findOne(clause, {
170
+ session,
171
+ projection
172
+ });
173
+ if (!res) return null;
174
+ return res;
175
+ },
176
+ async findMany({ model, where, limit, offset, sortBy }) {
177
+ const clause = where ? convertWhereClause({
178
+ where,
179
+ model
180
+ }) : {};
181
+ const cursor = db$1.collection(model).find(clause, { session });
182
+ if (limit) cursor.limit(limit);
183
+ if (offset) cursor.skip(offset);
184
+ if (sortBy) cursor.sort(getFieldName({
185
+ field: sortBy.field,
186
+ model
187
+ }), sortBy.direction === "desc" ? -1 : 1);
188
+ return await cursor.toArray();
189
+ },
190
+ async count({ model, where }) {
191
+ const clause = where ? convertWhereClause({
192
+ where,
193
+ model
194
+ }) : {};
195
+ return await db$1.collection(model).countDocuments(clause, { session });
196
+ },
197
+ async update({ model, where, update: values }) {
198
+ const clause = convertWhereClause({
199
+ where,
200
+ model
201
+ });
202
+ const res = await db$1.collection(model).findOneAndUpdate(clause, { $set: values }, {
203
+ session,
204
+ returnDocument: "after"
205
+ });
206
+ if (!res) return null;
207
+ return res;
208
+ },
209
+ async updateMany({ model, where, update: values }) {
210
+ const clause = convertWhereClause({
211
+ where,
212
+ model
213
+ });
214
+ return (await db$1.collection(model).updateMany(clause, { $set: values }, { session })).modifiedCount;
215
+ },
216
+ async delete({ model, where }) {
217
+ const clause = convertWhereClause({
218
+ where,
219
+ model
220
+ });
221
+ await db$1.collection(model).deleteOne(clause, { session });
222
+ },
223
+ async deleteMany({ model, where }) {
224
+ const clause = convertWhereClause({
225
+ where,
226
+ model
227
+ });
228
+ return (await db$1.collection(model).deleteMany(clause, { session })).deletedCount;
229
+ }
230
+ };
231
+ };
232
+ let lazyAdapter = null;
233
+ let adapterOptions = null;
234
+ adapterOptions = {
235
+ config: {
236
+ adapterId: "mongodb-adapter",
237
+ adapterName: "MongoDB Adapter",
238
+ usePlural: config?.usePlural ?? false,
239
+ debugLogs: config?.debugLogs ?? false,
240
+ mapKeysTransformInput: { id: "_id" },
241
+ mapKeysTransformOutput: { _id: "id" },
242
+ supportsNumericIds: false,
243
+ transaction: config?.client && (config?.transaction ?? true) ? async (cb) => {
244
+ if (!config.client) return cb(lazyAdapter(lazyOptions));
245
+ const session = config.client.startSession();
246
+ try {
247
+ session.startTransaction();
248
+ const result = await cb(createAdapterFactory({
249
+ config: adapterOptions.config,
250
+ adapter: createCustomAdapter(db, session)
251
+ })(lazyOptions));
252
+ await session.commitTransaction();
253
+ return result;
254
+ } catch (err) {
255
+ await session.abortTransaction();
256
+ throw err;
257
+ } finally {
258
+ await session.endSession();
259
+ }
260
+ } : false,
261
+ customTransformInput({ action, data, field, fieldAttributes, schema, model, options }) {
262
+ const customIdGen = getCustomIdGenerator(options);
263
+ if (field === "_id" || fieldAttributes.references?.field === "id") {
264
+ if (customIdGen) return data;
265
+ if (action === "update") return data;
266
+ if (Array.isArray(data)) return data.map((v) => new ObjectId());
267
+ if (typeof data === "string") try {
268
+ return new ObjectId(data);
269
+ } catch (error) {
270
+ return new ObjectId();
271
+ }
272
+ if (fieldAttributes?.references?.field === "id" && !fieldAttributes?.required && data === null) return null;
273
+ return new ObjectId();
274
+ }
275
+ return data;
276
+ },
277
+ customTransformOutput({ data, field, fieldAttributes }) {
278
+ if (field === "id" || fieldAttributes.references?.field === "id") {
279
+ if (data instanceof ObjectId) return data.toHexString();
280
+ if (Array.isArray(data)) return data.map((v) => {
281
+ if (v instanceof ObjectId) return v.toHexString();
282
+ return v;
283
+ });
284
+ return data;
285
+ }
286
+ return data;
287
+ },
288
+ customIdGenerator() {
289
+ return new ObjectId().toString();
290
+ }
291
+ },
292
+ adapter: createCustomAdapter(db)
293
+ };
294
+ lazyAdapter = createAdapterFactory(adapterOptions);
295
+ return (options) => {
296
+ lazyOptions = options;
297
+ return lazyAdapter(options);
298
+ };
299
+ };
300
+ /**
301
+ * Safely escape user input for use in a MongoDB regex.
302
+ * This ensures the resulting pattern is treated as literal text,
303
+ * and not as a regex with special syntax.
304
+ *
305
+ * @param input - The input string to escape. Any type that isn't a string will be converted to an empty string.
306
+ * @param maxLength - The maximum length of the input string to escape. Defaults to 256. This is to prevent DOS attacks.
307
+ * @returns The escaped string.
308
+ */
309
+ function escapeForMongoRegex(input, maxLength = 256) {
310
+ if (typeof input !== "string") return "";
311
+ return input.slice(0, maxLength).replace(/[.*+?^${}()|[\]\\]/g, "\\$&");
312
+ }
313
+
314
+ //#endregion
315
+ export { mongodbAdapter };
@@ -0,0 +1,34 @@
1
+ import { PayvoAuthOptions } from "@gatwech/core";
2
+ import { DBAdapter, DBAdapterDebugLogOption } from "@gatwech/core/db/adapter";
3
+
4
+ //#region src/adapters/prisma-adapter/prisma-adapter.d.ts
5
+ interface PrismaConfig {
6
+ /**
7
+ * Database provider.
8
+ */
9
+ provider: "sqlite" | "cockroachdb" | "mysql" | "postgresql" | "sqlserver" | "mongodb";
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
+ interface PrismaClient {}
32
+ declare const prismaAdapter: (prisma: PrismaClient, config: PrismaConfig) => (options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>;
33
+ //#endregion
34
+ export { PrismaConfig, prismaAdapter };
@@ -0,0 +1,159 @@
1
+ import "../../utils-SOMB4Px5.mjs";
2
+ import "../../json-D0TBLy4q.mjs";
3
+ import "../../crypto-Bb42eMrH.mjs";
4
+ import "../../jwt-CmxZAGe2.mjs";
5
+ import "../../get-tables-BQP7YW9c.mjs";
6
+ import "../../misc-beA1w3XV.mjs";
7
+ import { t as createAdapterFactory } from "../../adapter-factory-BZ2Qiqpn.mjs";
8
+ import { PayvoAuthError } from "@gatwech/core/error";
9
+
10
+ //#region src/adapters/prisma-adapter/prisma-adapter.ts
11
+ const prismaAdapter = (prisma, config) => {
12
+ let lazyOptions = null;
13
+ const createCustomAdapter = (prisma$1) => ({ getFieldName }) => {
14
+ const db = prisma$1;
15
+ const convertSelect = (select, model) => {
16
+ if (!select || !model) return void 0;
17
+ return select.reduce((prev, cur) => {
18
+ return {
19
+ ...prev,
20
+ [getFieldName({
21
+ model,
22
+ field: cur
23
+ })]: true
24
+ };
25
+ }, {});
26
+ };
27
+ function operatorToPrismaOperator(operator) {
28
+ switch (operator) {
29
+ case "starts_with": return "startsWith";
30
+ case "ends_with": return "endsWith";
31
+ case "ne": return "not";
32
+ case "not_in": return "notIn";
33
+ default: return operator;
34
+ }
35
+ }
36
+ const convertWhereClause = (model, where) => {
37
+ if (!where || !where.length) return {};
38
+ const buildSingleCondition = (w) => {
39
+ const fieldName = getFieldName({
40
+ model,
41
+ field: w.field
42
+ });
43
+ if (w.operator === "ne" && w.value === null) return {};
44
+ if ((w.operator === "in" || w.operator === "not_in") && Array.isArray(w.value)) {
45
+ const filtered = w.value.filter((v) => v != null);
46
+ if (filtered.length === 0) if (w.operator === "in") return { AND: [{ [fieldName]: { equals: "__never__" } }, { [fieldName]: { not: "__never__" } }] };
47
+ else return {};
48
+ const prismaOp = operatorToPrismaOperator(w.operator);
49
+ return { [fieldName]: { [prismaOp]: filtered } };
50
+ }
51
+ if (w.operator === "eq" || !w.operator) return { [fieldName]: w.value };
52
+ return { [fieldName]: { [operatorToPrismaOperator(w.operator)]: w.value } };
53
+ };
54
+ if (where.length === 1) {
55
+ const w = where[0];
56
+ if (!w) return;
57
+ return buildSingleCondition(w);
58
+ }
59
+ const and = where.filter((w) => w.connector === "AND" || !w.connector);
60
+ const or = where.filter((w) => w.connector === "OR");
61
+ const andClause = and.map((w) => buildSingleCondition(w));
62
+ const orClause = or.map((w) => buildSingleCondition(w));
63
+ return {
64
+ ...andClause.length ? { AND: andClause } : {},
65
+ ...orClause.length ? { OR: orClause } : {}
66
+ };
67
+ };
68
+ return {
69
+ async create({ model, data: values, select }) {
70
+ if (!db[model]) throw new PayvoAuthError(`Model ${model} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);
71
+ return await db[model].create({
72
+ data: values,
73
+ select: convertSelect(select, model)
74
+ });
75
+ },
76
+ async findOne({ model, where, select }) {
77
+ const whereClause = convertWhereClause(model, where);
78
+ if (!db[model]) throw new PayvoAuthError(`Model ${model} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);
79
+ return await db[model].findFirst({
80
+ where: whereClause,
81
+ select: convertSelect(select, model)
82
+ });
83
+ },
84
+ async findMany({ model, where, limit, offset, sortBy }) {
85
+ const whereClause = convertWhereClause(model, where);
86
+ if (!db[model]) throw new PayvoAuthError(`Model ${model} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);
87
+ return await db[model].findMany({
88
+ where: whereClause,
89
+ take: limit || 100,
90
+ skip: offset || 0,
91
+ ...sortBy?.field ? { orderBy: { [getFieldName({
92
+ model,
93
+ field: sortBy.field
94
+ })]: sortBy.direction === "desc" ? "desc" : "asc" } } : {}
95
+ });
96
+ },
97
+ async count({ model, where }) {
98
+ const whereClause = convertWhereClause(model, where);
99
+ if (!db[model]) throw new PayvoAuthError(`Model ${model} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);
100
+ return await db[model].count({ where: whereClause });
101
+ },
102
+ async update({ model, where, update }) {
103
+ if (!db[model]) throw new PayvoAuthError(`Model ${model} does not exist in the database. If you haven't generated the Prisma client, you need to run 'npx prisma generate'`);
104
+ const whereClause = convertWhereClause(model, where);
105
+ return await db[model].update({
106
+ where: whereClause,
107
+ data: update
108
+ });
109
+ },
110
+ async updateMany({ model, where, update }) {
111
+ const whereClause = convertWhereClause(model, where);
112
+ const result = await db[model].updateMany({
113
+ where: whereClause,
114
+ data: update
115
+ });
116
+ return result ? result.count : 0;
117
+ },
118
+ async delete({ model, where }) {
119
+ const whereClause = convertWhereClause(model, where);
120
+ try {
121
+ await db[model].delete({ where: whereClause });
122
+ } catch (e) {
123
+ if (e?.meta?.cause === "Record to delete does not exist.") return;
124
+ console.log(e);
125
+ }
126
+ },
127
+ async deleteMany({ model, where }) {
128
+ const whereClause = convertWhereClause(model, where);
129
+ const result = await db[model].deleteMany({ where: whereClause });
130
+ return result ? result.count : 0;
131
+ },
132
+ options: config
133
+ };
134
+ };
135
+ let adapterOptions = null;
136
+ adapterOptions = {
137
+ config: {
138
+ adapterId: "prisma",
139
+ adapterName: "Prisma Adapter",
140
+ usePlural: config.usePlural ?? false,
141
+ debugLogs: config.debugLogs ?? false,
142
+ transaction: config.transaction ?? false ? (cb) => prisma.$transaction((tx) => {
143
+ return cb(createAdapterFactory({
144
+ config: adapterOptions.config,
145
+ adapter: createCustomAdapter(tx)
146
+ })(lazyOptions));
147
+ }) : false
148
+ },
149
+ adapter: createCustomAdapter(prisma)
150
+ };
151
+ const adapter = createAdapterFactory(adapterOptions);
152
+ return (options) => {
153
+ lazyOptions = options;
154
+ return adapter(options);
155
+ };
156
+ };
157
+
158
+ //#endregion
159
+ export { prismaAdapter };
@@ -0,0 +1,81 @@
1
+ import { PayvoAuthOptions } from "@gatwech/core";
2
+ import { DBAdapter } from "@gatwech/core/db/adapter";
3
+
4
+ //#region src/adapters/test.d.ts
5
+ interface AdapterTestOptions {
6
+ getAdapter: (customOptions?: Omit<PayvoAuthOptions, "database">) => Promise<DBAdapter<PayvoAuthOptions>> | DBAdapter<PayvoAuthOptions>;
7
+ disableTests?: Partial<Record<keyof typeof adapterTests, boolean>>;
8
+ testPrefix?: string;
9
+ }
10
+ interface NumberIdAdapterTestOptions {
11
+ getAdapter: (customOptions?: Omit<PayvoAuthOptions, "database">) => Promise<DBAdapter<PayvoAuthOptions>>;
12
+ disableTests?: Partial<Record<keyof typeof numberIdAdapterTests, boolean>>;
13
+ testPrefix?: string;
14
+ }
15
+ declare const adapterTests: {
16
+ readonly CREATE_MODEL: "create model";
17
+ readonly CREATE_MODEL_SHOULD_ALWAYS_RETURN_AN_ID: "create model should always return an id";
18
+ readonly FIND_MODEL: "find model";
19
+ readonly FIND_MODEL_WITHOUT_ID: "find model without id";
20
+ readonly FIND_MODEL_WITH_SELECT: "find model with select";
21
+ readonly FIND_MODEL_WITH_MODIFIED_FIELD_NAME: "find model with modified field name";
22
+ readonly UPDATE_MODEL: "update model";
23
+ readonly SHOULD_FIND_MANY: "should find many";
24
+ readonly SHOULD_FIND_MANY_WITH_WHERE: "should find many with where";
25
+ readonly SHOULD_FIND_MANY_WITH_OPERATORS: "should find many with operators";
26
+ readonly SHOULD_WORK_WITH_REFERENCE_FIELDS: "should work with reference fields";
27
+ readonly SHOULD_FIND_MANY_WITH_NOT_IN_OPERATOR: "should find many with not in operator";
28
+ readonly SHOULD_FIND_MANY_WITH_SORT_BY: "should find many with sortBy";
29
+ readonly SHOULD_FIND_MANY_WITH_LIMIT: "should find many with limit";
30
+ readonly SHOULD_FIND_MANY_WITH_OFFSET: "should find many with offset";
31
+ readonly SHOULD_UPDATE_WITH_MULTIPLE_WHERE: "should update with multiple where";
32
+ readonly DELETE_MODEL: "delete model";
33
+ readonly SHOULD_DELETE_MANY: "should delete many";
34
+ readonly SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND: "shouldn't throw on delete record not found";
35
+ readonly SHOULD_NOT_THROW_ON_RECORD_NOT_FOUND: "shouldn't throw on record not found";
36
+ readonly SHOULD_FIND_MANY_WITH_CONTAINS_OPERATOR: "should find many with contains operator";
37
+ readonly SHOULD_SEARCH_USERS_WITH_STARTS_WITH: "should search users with startsWith";
38
+ readonly SHOULD_SEARCH_USERS_WITH_ENDS_WITH: "should search users with endsWith";
39
+ readonly SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: "should prefer generateId if provided";
40
+ readonly SHOULD_ROLLBACK_FAILING_TRANSACTION: "should rollback failing transaction";
41
+ readonly SHOULD_RETURN_TRANSACTION_RESULT: "should return transaction result";
42
+ readonly SHOULD_FIND_MANY_WITH_CONNECTORS: "should find many with connectors";
43
+ };
44
+ declare const numberIdAdapterTests: {
45
+ SHOULD_RETURN_A_NUMBER_ID_AS_A_RESULT: string;
46
+ SHOULD_INCREMENT_THE_ID_BY_1: string;
47
+ CREATE_MODEL: "create model";
48
+ CREATE_MODEL_SHOULD_ALWAYS_RETURN_AN_ID: "create model should always return an id";
49
+ FIND_MODEL: "find model";
50
+ FIND_MODEL_WITHOUT_ID: "find model without id";
51
+ FIND_MODEL_WITH_SELECT: "find model with select";
52
+ FIND_MODEL_WITH_MODIFIED_FIELD_NAME: "find model with modified field name";
53
+ UPDATE_MODEL: "update model";
54
+ SHOULD_FIND_MANY: "should find many";
55
+ SHOULD_FIND_MANY_WITH_WHERE: "should find many with where";
56
+ SHOULD_FIND_MANY_WITH_OPERATORS: "should find many with operators";
57
+ SHOULD_WORK_WITH_REFERENCE_FIELDS: "should work with reference fields";
58
+ SHOULD_FIND_MANY_WITH_NOT_IN_OPERATOR: "should find many with not in operator";
59
+ SHOULD_FIND_MANY_WITH_SORT_BY: "should find many with sortBy";
60
+ SHOULD_FIND_MANY_WITH_LIMIT: "should find many with limit";
61
+ SHOULD_FIND_MANY_WITH_OFFSET: "should find many with offset";
62
+ SHOULD_UPDATE_WITH_MULTIPLE_WHERE: "should update with multiple where";
63
+ DELETE_MODEL: "delete model";
64
+ SHOULD_DELETE_MANY: "should delete many";
65
+ SHOULD_NOT_THROW_ON_DELETE_RECORD_NOT_FOUND: "shouldn't throw on delete record not found";
66
+ SHOULD_NOT_THROW_ON_RECORD_NOT_FOUND: "shouldn't throw on record not found";
67
+ SHOULD_FIND_MANY_WITH_CONTAINS_OPERATOR: "should find many with contains operator";
68
+ SHOULD_SEARCH_USERS_WITH_STARTS_WITH: "should search users with startsWith";
69
+ SHOULD_SEARCH_USERS_WITH_ENDS_WITH: "should search users with endsWith";
70
+ SHOULD_PREFER_GENERATE_ID_IF_PROVIDED: "should prefer generateId if provided";
71
+ SHOULD_ROLLBACK_FAILING_TRANSACTION: "should rollback failing transaction";
72
+ SHOULD_RETURN_TRANSACTION_RESULT: "should return transaction result";
73
+ SHOULD_FIND_MANY_WITH_CONNECTORS: "should find many with connectors";
74
+ };
75
+ declare function runAdapterTest(opts: AdapterTestOptions): void;
76
+ declare function runNumberIdAdapterTest(opts: NumberIdAdapterTestOptions): void;
77
+ declare function recoverProcessTZ(): {
78
+ [Symbol.dispose]: () => void;
79
+ };
80
+ //#endregion
81
+ export { recoverProcessTZ, runAdapterTest, runNumberIdAdapterTest };