@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,208 @@
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
+ import { and, asc, count, desc, eq, gt, gte, inArray, like, lt, lte, ne, notInArray, or, sql } from "drizzle-orm";
10
+
11
+ //#region src/adapters/drizzle-adapter/drizzle-adapter.ts
12
+ const drizzleAdapter = (db, config) => {
13
+ let lazyOptions = null;
14
+ const createCustomAdapter = (db$1) => ({ getFieldName, debugLog }) => {
15
+ function getSchema(model) {
16
+ const schema = config.schema || db$1._.fullSchema;
17
+ if (!schema) throw new PayvoAuthError("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");
18
+ const schemaModel = schema[model];
19
+ if (!schemaModel) throw new PayvoAuthError(`[# Drizzle Adapter]: The model "${model}" was not found in the schema object. Please pass the schema directly to the adapter options.`);
20
+ return schemaModel;
21
+ }
22
+ const withReturning = async (model, builder, data, where) => {
23
+ if (config.provider !== "mysql") return (await builder.returning())[0];
24
+ await builder.execute();
25
+ const schemaModel = getSchema(model);
26
+ const builderVal = builder.config?.values;
27
+ if (where?.length) {
28
+ const clause = convertWhereClause(where.map((w) => {
29
+ if (data[w.field] !== void 0) return {
30
+ ...w,
31
+ value: data[w.field]
32
+ };
33
+ return w;
34
+ }), model);
35
+ return (await db$1.select().from(schemaModel).where(...clause))[0];
36
+ } else if (builderVal && builderVal[0]?.id?.value) {
37
+ let tId = builderVal[0]?.id?.value;
38
+ if (!tId) tId = (await db$1.select({ id: sql`LAST_INSERT_ID()` }).from(schemaModel).orderBy(desc(schemaModel.id)).limit(1))[0].id;
39
+ return (await db$1.select().from(schemaModel).where(eq(schemaModel.id, tId)).limit(1).execute())[0];
40
+ } else if (data.id) return (await db$1.select().from(schemaModel).where(eq(schemaModel.id, data.id)).limit(1).execute())[0];
41
+ else {
42
+ if (!("id" in schemaModel)) throw new PayvoAuthError(`The model "${model}" does not have an "id" field. Please use the "id" field as your primary key.`);
43
+ return (await db$1.select().from(schemaModel).orderBy(desc(schemaModel.id)).limit(1).execute())[0];
44
+ }
45
+ };
46
+ function convertWhereClause(where, model) {
47
+ const schemaModel = getSchema(model);
48
+ if (!where) return [];
49
+ if (where.length === 1) {
50
+ const w = where[0];
51
+ if (!w) return [];
52
+ const field = getFieldName({
53
+ model,
54
+ field: w.field
55
+ });
56
+ if (!schemaModel[field]) throw new PayvoAuthError(`The field "${w.field}" does not exist in the schema for the model "${model}". Please update your schema.`);
57
+ if (w.operator === "in") {
58
+ if (!Array.isArray(w.value)) throw new PayvoAuthError(`The value for the field "${w.field}" must be an array when using the "in" operator.`);
59
+ return [inArray(schemaModel[field], w.value)];
60
+ }
61
+ if (w.operator === "not_in") {
62
+ if (!Array.isArray(w.value)) throw new PayvoAuthError(`The value for the field "${w.field}" must be an array when using the "not_in" operator.`);
63
+ return [notInArray(schemaModel[field], w.value)];
64
+ }
65
+ if (w.operator === "contains") return [like(schemaModel[field], `%${w.value}%`)];
66
+ if (w.operator === "starts_with") return [like(schemaModel[field], `${w.value}%`)];
67
+ if (w.operator === "ends_with") return [like(schemaModel[field], `%${w.value}`)];
68
+ if (w.operator === "lt") return [lt(schemaModel[field], w.value)];
69
+ if (w.operator === "lte") return [lte(schemaModel[field], w.value)];
70
+ if (w.operator === "ne") return [ne(schemaModel[field], w.value)];
71
+ if (w.operator === "gt") return [gt(schemaModel[field], w.value)];
72
+ if (w.operator === "gte") return [gte(schemaModel[field], w.value)];
73
+ return [eq(schemaModel[field], w.value)];
74
+ }
75
+ const andGroup = where.filter((w) => w.connector === "AND" || !w.connector);
76
+ const orGroup = where.filter((w) => w.connector === "OR");
77
+ const andClause = and(...andGroup.map((w) => {
78
+ const field = getFieldName({
79
+ model,
80
+ field: w.field
81
+ });
82
+ if (w.operator === "in") {
83
+ if (!Array.isArray(w.value)) throw new PayvoAuthError(`The value for the field "${w.field}" must be an array when using the "in" operator.`);
84
+ return inArray(schemaModel[field], w.value);
85
+ }
86
+ if (w.operator === "not_in") {
87
+ if (!Array.isArray(w.value)) throw new PayvoAuthError(`The value for the field "${w.field}" must be an array when using the "not_in" operator.`);
88
+ return notInArray(schemaModel[field], w.value);
89
+ }
90
+ if (w.operator === "contains") return like(schemaModel[field], `%${w.value}%`);
91
+ if (w.operator === "starts_with") return like(schemaModel[field], `${w.value}%`);
92
+ if (w.operator === "ends_with") return like(schemaModel[field], `%${w.value}`);
93
+ if (w.operator === "lt") return lt(schemaModel[field], w.value);
94
+ if (w.operator === "lte") return lte(schemaModel[field], w.value);
95
+ if (w.operator === "gt") return gt(schemaModel[field], w.value);
96
+ if (w.operator === "gte") return gte(schemaModel[field], w.value);
97
+ if (w.operator === "ne") return ne(schemaModel[field], w.value);
98
+ return eq(schemaModel[field], w.value);
99
+ }));
100
+ const orClause = or(...orGroup.map((w) => {
101
+ const field = getFieldName({
102
+ model,
103
+ field: w.field
104
+ });
105
+ if (w.operator === "in") {
106
+ if (!Array.isArray(w.value)) throw new PayvoAuthError(`The value for the field "${w.field}" must be an array when using the "in" operator.`);
107
+ return inArray(schemaModel[field], w.value);
108
+ }
109
+ if (w.operator === "not_in") {
110
+ if (!Array.isArray(w.value)) throw new PayvoAuthError(`The value for the field "${w.field}" must be an array when using the "not_in" operator.`);
111
+ return notInArray(schemaModel[field], w.value);
112
+ }
113
+ if (w.operator === "contains") return like(schemaModel[field], `%${w.value}%`);
114
+ if (w.operator === "starts_with") return like(schemaModel[field], `${w.value}%`);
115
+ if (w.operator === "ends_with") return like(schemaModel[field], `%${w.value}`);
116
+ if (w.operator === "lt") return lt(schemaModel[field], w.value);
117
+ if (w.operator === "lte") return lte(schemaModel[field], w.value);
118
+ if (w.operator === "gt") return gt(schemaModel[field], w.value);
119
+ if (w.operator === "gte") return gte(schemaModel[field], w.value);
120
+ if (w.operator === "ne") return ne(schemaModel[field], w.value);
121
+ return eq(schemaModel[field], w.value);
122
+ }));
123
+ const clause = [];
124
+ if (andGroup.length) clause.push(andClause);
125
+ if (orGroup.length) clause.push(orClause);
126
+ return clause;
127
+ }
128
+ function checkMissingFields(schema, model, values) {
129
+ if (!schema) throw new PayvoAuthError("Drizzle adapter failed to initialize. Schema not found. Please provide a schema object in the adapter options object.");
130
+ for (const key in values) if (!schema[key]) throw new PayvoAuthError(`The field "${key}" does not exist in the "${model}" schema. Please update your drizzle schema or re-generate using "npx @gatwech/cli generate".`);
131
+ }
132
+ return {
133
+ async create({ model, data: values }) {
134
+ const schemaModel = getSchema(model);
135
+ checkMissingFields(schemaModel, model, values);
136
+ return await withReturning(model, db$1.insert(schemaModel).values(values), values);
137
+ },
138
+ async findOne({ model, where }) {
139
+ const schemaModel = getSchema(model);
140
+ const clause = convertWhereClause(where, model);
141
+ const res = await db$1.select().from(schemaModel).where(...clause);
142
+ if (!res.length) return null;
143
+ return res[0];
144
+ },
145
+ async findMany({ model, where, sortBy, limit, offset }) {
146
+ const schemaModel = getSchema(model);
147
+ const clause = where ? convertWhereClause(where, model) : [];
148
+ const sortFn = sortBy?.direction === "desc" ? desc : asc;
149
+ const builder = db$1.select().from(schemaModel).limit(limit || 100).offset(offset || 0);
150
+ if (sortBy?.field) builder.orderBy(sortFn(schemaModel[getFieldName({
151
+ model,
152
+ field: sortBy?.field
153
+ })]));
154
+ return await builder.where(...clause);
155
+ },
156
+ async count({ model, where }) {
157
+ const schemaModel = getSchema(model);
158
+ const clause = where ? convertWhereClause(where, model) : [];
159
+ return (await db$1.select({ count: count() }).from(schemaModel).where(...clause))[0].count;
160
+ },
161
+ async update({ model, where, update: values }) {
162
+ const schemaModel = getSchema(model);
163
+ const clause = convertWhereClause(where, model);
164
+ return await withReturning(model, db$1.update(schemaModel).set(values).where(...clause), values, where);
165
+ },
166
+ async updateMany({ model, where, update: values }) {
167
+ const schemaModel = getSchema(model);
168
+ const clause = convertWhereClause(where, model);
169
+ return await db$1.update(schemaModel).set(values).where(...clause);
170
+ },
171
+ async delete({ model, where }) {
172
+ const schemaModel = getSchema(model);
173
+ const clause = convertWhereClause(where, model);
174
+ return await db$1.delete(schemaModel).where(...clause);
175
+ },
176
+ async deleteMany({ model, where }) {
177
+ const schemaModel = getSchema(model);
178
+ const clause = convertWhereClause(where, model);
179
+ return await db$1.delete(schemaModel).where(...clause);
180
+ },
181
+ options: config
182
+ };
183
+ };
184
+ let adapterOptions = null;
185
+ adapterOptions = {
186
+ config: {
187
+ adapterId: "drizzle",
188
+ adapterName: "Drizzle Adapter",
189
+ usePlural: config.usePlural ?? false,
190
+ debugLogs: config.debugLogs ?? false,
191
+ transaction: config.transaction ?? false ? (cb) => db.transaction((tx) => {
192
+ return cb(createAdapterFactory({
193
+ config: adapterOptions.config,
194
+ adapter: createCustomAdapter(tx)
195
+ })(lazyOptions));
196
+ }) : false
197
+ },
198
+ adapter: createCustomAdapter(db)
199
+ };
200
+ const adapter = createAdapterFactory(adapterOptions);
201
+ return (options) => {
202
+ lazyOptions = options;
203
+ return adapter(options);
204
+ };
205
+ };
206
+
207
+ //#endregion
208
+ export { drizzleAdapter };
@@ -0,0 +1,132 @@
1
+ import { u as Prettify } from "../helper-tmxW3BHj.mjs";
2
+ import { A as Where$1 } from "../index-Cxi7TbLE.mjs";
3
+ import "../types-B1OL7hyf.mjs";
4
+ import "../index-65G5U5DB-DSdjzreF.mjs";
5
+ import "../plugins-hFZT3hmK.mjs";
6
+ import { PayvoAuthOptions } from "@gatwech/core";
7
+ import { DBFieldAttribute, PayvoAuthDBSchema } from "@gatwech/core/db";
8
+ import { CustomAdapter, CustomAdapter as CustomAdapter$1, DBAdapter, DBAdapterFactoryConfig, DBAdapterFactoryConfig as DBAdapterFactoryConfig$1, DBAdapterSchemaCreation, DBTransactionAdapter } from "@gatwech/core/db/adapter";
9
+ export * from "@gatwech/core/db/adapter";
10
+
11
+ //#region src/adapters/adapter-factory/types.d.ts
12
+ type AdapterFactoryOptions = {
13
+ config: DBAdapterFactoryConfig$1;
14
+ adapter: AdapterFactoryCustomizeAdapterCreator;
15
+ };
16
+ type AdapterFactoryCustomizeAdapterCreator = (config: {
17
+ options: PayvoAuthOptions;
18
+ /**
19
+ * The schema of the user's Payvo-Auth instance.
20
+ */
21
+ schema: PayvoAuthDBSchema;
22
+ /**
23
+ * The debug log function.
24
+ *
25
+ * If the config has defined `debugLogs` as `false`, no logs will be shown.
26
+ */
27
+ debugLog: (...args: any[]) => void;
28
+ /**
29
+ * Get the model name which is expected to be saved in the database based on the user's schema.
30
+ */
31
+ getModelName: (model: string) => string;
32
+ /**
33
+ * Get the field name which is expected to be saved in the database based on the user's schema.
34
+ */
35
+ getFieldName: ({
36
+ model,
37
+ field
38
+ }: {
39
+ model: string;
40
+ field: string;
41
+ }) => string;
42
+ /**
43
+ * This function helps us get the default model name from the schema defined by devs.
44
+ * Often times, the user will be using the `modelName` which could had been customized by the users.
45
+ * This function helps us get the actual model name useful to match against the schema. (eg: schema[model])
46
+ *
47
+ * If it's still unclear what this does:
48
+ *
49
+ * 1. User can define a custom modelName.
50
+ * 2. When using a custom modelName, doing something like `schema[model]` will not work.
51
+ * 3. Using this function helps us get the actual model name based on the user's defined custom modelName.
52
+ * 4. Thus allowing us to use `schema[model]`.
53
+ */
54
+ getDefaultModelName: (model: string) => string;
55
+ /**
56
+ * This function helps us get the default field name from the schema defined by devs.
57
+ * Often times, the user will be using the `fieldName` which could had been customized by the users.
58
+ * This function helps us get the actual field name useful to match against the schema. (eg: schema[model].fields[field])
59
+ *
60
+ * If it's still unclear what this does:
61
+ *
62
+ * 1. User can define a custom fieldName.
63
+ * 2. When using a custom fieldName, doing something like `schema[model].fields[field]` will not work.
64
+ *
65
+ */
66
+ getDefaultFieldName: ({
67
+ model,
68
+ field
69
+ }: {
70
+ model: string;
71
+ field: string;
72
+ }) => string;
73
+ /**
74
+ * Get the field attributes for a given model and field.
75
+ *
76
+ * Note: any model name or field name is allowed, whether default to schema or not.
77
+ */
78
+ getFieldAttributes: ({
79
+ model,
80
+ field
81
+ }: {
82
+ model: string;
83
+ field: string;
84
+ }) => DBFieldAttribute;
85
+ transformInput: (data: Record<string, any>, defaultModelName: string, action: "create" | "update", forceAllowId?: boolean | undefined) => Promise<Record<string, any>>;
86
+ transformOutput: (data: Record<string, any>, defaultModelName: string, select?: string[] | undefined) => Promise<Record<string, any>>;
87
+ transformWhereClause: <W extends Where$1[] | undefined>({
88
+ model,
89
+ where
90
+ }: {
91
+ where: W;
92
+ model: string;
93
+ }) => W extends undefined ? undefined : CleanedWhere[];
94
+ }) => CustomAdapter$1;
95
+ /**
96
+ * @deprecated Use `CleanedWhere` from `@gatwech/core/db/adapter` instead.
97
+ */
98
+ type CleanedWhere = Prettify<Required<Where$1>>;
99
+ type AdapterTestDebugLogs = {
100
+ resetDebugLogs: () => void;
101
+ printDebugLogs: () => void;
102
+ };
103
+ //#endregion
104
+ //#region src/adapters/adapter-factory/index.d.ts
105
+ type AdapterFactory = (options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>;
106
+ declare const createAdapterFactory: ({
107
+ adapter: customAdapter,
108
+ config: cfg
109
+ }: AdapterFactoryOptions) => AdapterFactory;
110
+ //#endregion
111
+ //#region src/adapters/index.d.ts
112
+ /**
113
+ * @deprecated Use `createAdapterFactory` instead. This export will be removed in the next major version.
114
+ */
115
+ declare const createAdapter: ({
116
+ adapter: customAdapter,
117
+ config: cfg
118
+ }: AdapterFactoryOptions) => AdapterFactory;
119
+ /**
120
+ * @deprecated Use `AdapterFactoryOptions` instead. This export will be removed in the next major version.
121
+ */
122
+ type CreateAdapterOptions = AdapterFactoryOptions;
123
+ /**
124
+ * @deprecated Use `AdapterFactoryConfig` instead. This export will be removed in the next major version.
125
+ */
126
+ type AdapterConfig = DBAdapterFactoryConfig;
127
+ /**
128
+ * @deprecated Use `AdapterFactoryCustomizeAdapterCreator` instead. This export will be removed in the next major version.
129
+ */
130
+ type CreateCustomAdapter = AdapterFactoryCustomizeAdapterCreator;
131
+ //#endregion
132
+ export { AdapterConfig, type AdapterFactory, type AdapterFactoryCustomizeAdapterCreator, type AdapterFactoryOptions, type AdapterTestDebugLogs, CreateAdapterOptions, CreateCustomAdapter, type CustomAdapter, type DBAdapterFactoryConfig, createAdapter, createAdapterFactory };
@@ -0,0 +1,18 @@
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
+
9
+ export * from "@gatwech/core/db/adapter"
10
+
11
+ //#region src/adapters/index.ts
12
+ /**
13
+ * @deprecated Use `createAdapterFactory` instead. This export will be removed in the next major version.
14
+ */
15
+ const createAdapter = createAdapterFactory;
16
+
17
+ //#endregion
18
+ export { createAdapter, createAdapterFactory };
@@ -0,0 +1,47 @@
1
+ import { t as KyselyDatabaseType } from "../../types-B1OL7hyf.mjs";
2
+ import { PayvoAuthOptions } from "@gatwech/core";
3
+ import { Kysely } from "kysely";
4
+ import { DBAdapter, DBAdapterDebugLogOption } from "@gatwech/core/db/adapter";
5
+
6
+ //#region src/adapters/kysely-adapter/dialect.d.ts
7
+ declare function getKyselyDatabaseType(db: PayvoAuthOptions["database"]): KyselyDatabaseType | null;
8
+ declare const createKyselyAdapter: (config: PayvoAuthOptions) => Promise<{
9
+ kysely: Kysely<any>;
10
+ databaseType: "postgres" | "mysql" | "sqlite" | "mssql";
11
+ transaction: boolean | undefined;
12
+ } | {
13
+ kysely: Kysely<any> | null;
14
+ databaseType: KyselyDatabaseType | null;
15
+ transaction: undefined;
16
+ }>;
17
+ //#endregion
18
+ //#region src/adapters/kysely-adapter/kysely-adapter.d.ts
19
+ interface KyselyAdapterConfig {
20
+ /**
21
+ * Database type.
22
+ */
23
+ type?: KyselyDatabaseType | undefined;
24
+ /**
25
+ * Enable debug logs for the adapter
26
+ *
27
+ * @default false
28
+ */
29
+ debugLogs?: DBAdapterDebugLogOption | undefined;
30
+ /**
31
+ * Use plural for table names.
32
+ *
33
+ * @default false
34
+ */
35
+ usePlural?: boolean | undefined;
36
+ /**
37
+ * Whether to execute multiple operations in a transaction.
38
+ *
39
+ * If the database doesn't support transactions,
40
+ * set this to `false` and operations will be executed sequentially.
41
+ * @default false
42
+ */
43
+ transaction?: boolean | undefined;
44
+ }
45
+ declare const kyselyAdapter: (db: Kysely<any>, config?: KyselyAdapterConfig | undefined) => (options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>;
46
+ //#endregion
47
+ export { KyselyDatabaseType, createKyselyAdapter, getKyselyDatabaseType, kyselyAdapter };
@@ -0,0 +1,11 @@
1
+ import "../../utils-SOMB4Px5.mjs";
2
+ import "../../json-D0TBLy4q.mjs";
3
+ import "../../crypto-Bb42eMrH.mjs";
4
+ import "../../jwt-CmxZAGe2.mjs";
5
+ import { n as getKyselyDatabaseType, t as createKyselyAdapter } from "../../dialect-CeddeGHf.mjs";
6
+ import "../../get-tables-BQP7YW9c.mjs";
7
+ import "../../misc-beA1w3XV.mjs";
8
+ import "../../adapter-factory-BZ2Qiqpn.mjs";
9
+ import { t as kyselyAdapter } from "../../kysely-adapter-DpzYO8Yf.mjs";
10
+
11
+ export { createKyselyAdapter, getKyselyDatabaseType, kyselyAdapter };
@@ -0,0 +1,14 @@
1
+ import { t as DBAdapter$1 } from "../../index-65G5U5DB-DSdjzreF.mjs";
2
+ import { PayvoAuthOptions } from "@gatwech/core";
3
+ import { DBAdapterDebugLogOption } from "@gatwech/core/db/adapter";
4
+
5
+ //#region src/adapters/memory-adapter/memory-adapter.d.ts
6
+ interface MemoryDB {
7
+ [key: string]: any[];
8
+ }
9
+ interface MemoryAdapterConfig {
10
+ debugLogs?: DBAdapterDebugLogOption | undefined;
11
+ }
12
+ declare const memoryAdapter: (db: MemoryDB, config?: MemoryAdapterConfig | undefined) => (options: PayvoAuthOptions) => DBAdapter$1<PayvoAuthOptions>;
13
+ //#endregion
14
+ export { MemoryAdapterConfig, MemoryDB, memoryAdapter };
@@ -0,0 +1,154 @@
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 { logger } from "@gatwech/core/env";
9
+
10
+ //#region src/adapters/memory-adapter/memory-adapter.ts
11
+ const memoryAdapter = (db, config) => {
12
+ let lazyOptions = null;
13
+ let adapterCreator = createAdapterFactory({
14
+ config: {
15
+ adapterId: "memory",
16
+ adapterName: "Memory Adapter",
17
+ usePlural: false,
18
+ debugLogs: config?.debugLogs || false,
19
+ customTransformInput(props) {
20
+ if (props.options.advanced?.database?.useNumberId && props.field === "id" && props.action === "create") return db[props.model].length + 1;
21
+ return props.data;
22
+ },
23
+ transaction: async (cb) => {
24
+ let clone = structuredClone(db);
25
+ try {
26
+ return await cb(adapterCreator(lazyOptions));
27
+ } catch (error) {
28
+ Object.keys(db).forEach((key) => {
29
+ db[key] = clone[key];
30
+ });
31
+ throw error;
32
+ }
33
+ }
34
+ },
35
+ adapter: ({ getFieldName, options, debugLog }) => {
36
+ function convertWhereClause(where, model) {
37
+ const table = db[model];
38
+ if (!table) {
39
+ logger.error(`[MemoryAdapter] Model ${model} not found in the DB`, Object.keys(db));
40
+ throw new Error(`Model ${model} not found`);
41
+ }
42
+ const evalClause = (record, clause) => {
43
+ const { field, value, operator } = clause;
44
+ switch (operator) {
45
+ case "in":
46
+ if (!Array.isArray(value)) throw new Error("Value must be an array");
47
+ return value.includes(record[field]);
48
+ case "not_in":
49
+ if (!Array.isArray(value)) throw new Error("Value must be an array");
50
+ return !value.includes(record[field]);
51
+ case "contains": return record[field].includes(value);
52
+ case "starts_with": return record[field].startsWith(value);
53
+ case "ends_with": return record[field].endsWith(value);
54
+ case "ne": return record[field] !== value;
55
+ case "gt": return value != null && Boolean(record[field] > value);
56
+ case "gte": return value != null && Boolean(record[field] >= value);
57
+ case "lt": return value != null && Boolean(record[field] < value);
58
+ case "lte": return value != null && Boolean(record[field] <= value);
59
+ default: return record[field] === value;
60
+ }
61
+ };
62
+ return table.filter((record) => {
63
+ if (!where.length || where.length === 0) return true;
64
+ let result = evalClause(record, where[0]);
65
+ for (const clause of where) {
66
+ const clauseResult = evalClause(record, clause);
67
+ if (clause.connector === "OR") result = result || clauseResult;
68
+ else result = result && clauseResult;
69
+ }
70
+ return result;
71
+ });
72
+ }
73
+ return {
74
+ create: async ({ model, data }) => {
75
+ if (options.advanced?.database?.useNumberId) data.id = db[model].length + 1;
76
+ if (!db[model]) db[model] = [];
77
+ db[model].push(data);
78
+ return data;
79
+ },
80
+ findOne: async ({ model, where }) => {
81
+ return convertWhereClause(where, model)[0] || null;
82
+ },
83
+ findMany: async ({ model, where, sortBy, limit, offset }) => {
84
+ let table = db[model];
85
+ if (where) table = convertWhereClause(where, model);
86
+ if (sortBy) table = table.sort((a, b) => {
87
+ const field = getFieldName({
88
+ model,
89
+ field: sortBy.field
90
+ });
91
+ const aValue = a[field];
92
+ const bValue = b[field];
93
+ let comparison = 0;
94
+ if (aValue == null && bValue == null) comparison = 0;
95
+ else if (aValue == null) comparison = -1;
96
+ else if (bValue == null) comparison = 1;
97
+ else if (typeof aValue === "string" && typeof bValue === "string") comparison = aValue.localeCompare(bValue);
98
+ else if (aValue instanceof Date && bValue instanceof Date) comparison = aValue.getTime() - bValue.getTime();
99
+ else if (typeof aValue === "number" && typeof bValue === "number") comparison = aValue - bValue;
100
+ else if (typeof aValue === "boolean" && typeof bValue === "boolean") comparison = aValue === bValue ? 0 : aValue ? 1 : -1;
101
+ else comparison = String(aValue).localeCompare(String(bValue));
102
+ return sortBy.direction === "asc" ? comparison : -comparison;
103
+ });
104
+ if (offset !== void 0) table = table.slice(offset);
105
+ if (limit !== void 0) table = table.slice(0, limit);
106
+ return table || [];
107
+ },
108
+ count: async ({ model, where }) => {
109
+ if (where) return convertWhereClause(where, model).length;
110
+ return db[model].length;
111
+ },
112
+ update: async ({ model, where, update }) => {
113
+ const res = convertWhereClause(where, model);
114
+ res.forEach((record) => {
115
+ Object.assign(record, update);
116
+ });
117
+ return res[0] || null;
118
+ },
119
+ delete: async ({ model, where }) => {
120
+ const table = db[model];
121
+ const res = convertWhereClause(where, model);
122
+ db[model] = table.filter((record) => !res.includes(record));
123
+ },
124
+ deleteMany: async ({ model, where }) => {
125
+ const table = db[model];
126
+ const res = convertWhereClause(where, model);
127
+ let count = 0;
128
+ db[model] = table.filter((record) => {
129
+ if (res.includes(record)) {
130
+ count++;
131
+ return false;
132
+ }
133
+ return !res.includes(record);
134
+ });
135
+ return count;
136
+ },
137
+ updateMany({ model, where, update }) {
138
+ const res = convertWhereClause(where, model);
139
+ res.forEach((record) => {
140
+ Object.assign(record, update);
141
+ });
142
+ return res[0] || null;
143
+ }
144
+ };
145
+ }
146
+ });
147
+ return (options) => {
148
+ lazyOptions = options;
149
+ return adapterCreator(options);
150
+ };
151
+ };
152
+
153
+ //#endregion
154
+ export { memoryAdapter };
@@ -0,0 +1,35 @@
1
+ import { PayvoAuthOptions } from "@gatwech/core";
2
+ import { DBAdapter, DBAdapterDebugLogOption } from "@gatwech/core/db/adapter";
3
+ import { Db, MongoClient } from "mongodb";
4
+
5
+ //#region src/adapters/mongodb-adapter/mongodb-adapter.d.ts
6
+ interface MongoDBAdapterConfig {
7
+ /**
8
+ * MongoDB client instance
9
+ * If not provided, Database transactions won't be enabled.
10
+ */
11
+ client?: MongoClient | undefined;
12
+ /**
13
+ * Enable debug logs for the adapter
14
+ *
15
+ * @default false
16
+ */
17
+ debugLogs?: DBAdapterDebugLogOption | undefined;
18
+ /**
19
+ * Use plural table names
20
+ *
21
+ * @default false
22
+ */
23
+ usePlural?: boolean | undefined;
24
+ /**
25
+ * Whether to execute multiple operations in a transaction.
26
+ *
27
+ * If the database doesn't support transactions,
28
+ * set this to `false` and operations will be executed sequentially.
29
+ * @default false
30
+ */
31
+ transaction?: boolean | undefined;
32
+ }
33
+ declare const mongodbAdapter: (db: Db, config?: MongoDBAdapterConfig | undefined) => (options: PayvoAuthOptions) => DBAdapter<PayvoAuthOptions>;
34
+ //#endregion
35
+ export { MongoDBAdapterConfig, mongodbAdapter };