better-auth 1.2.6-beta.7 → 1.2.7-beta.1

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 (273) hide show
  1. package/dist/adapters/drizzle-adapter/index.cjs +186 -249
  2. package/dist/adapters/drizzle-adapter/index.d.cts +11 -49
  3. package/dist/adapters/drizzle-adapter/index.d.mts +11 -49
  4. package/dist/adapters/drizzle-adapter/index.d.ts +11 -49
  5. package/dist/adapters/drizzle-adapter/index.mjs +186 -249
  6. package/dist/adapters/index.cjs +26 -0
  7. package/dist/adapters/index.d.cts +17 -0
  8. package/dist/adapters/index.d.mts +17 -0
  9. package/dist/adapters/index.d.ts +17 -0
  10. package/dist/adapters/index.mjs +20 -0
  11. package/dist/adapters/kysely-adapter/index.cjs +7 -7
  12. package/dist/adapters/kysely-adapter/index.d.cts +17 -49
  13. package/dist/adapters/kysely-adapter/index.d.mts +17 -49
  14. package/dist/adapters/kysely-adapter/index.d.ts +17 -49
  15. package/dist/adapters/kysely-adapter/index.mjs +8 -8
  16. package/dist/adapters/memory-adapter/index.cjs +7 -8
  17. package/dist/adapters/memory-adapter/index.d.cts +9 -49
  18. package/dist/adapters/memory-adapter/index.d.mts +9 -49
  19. package/dist/adapters/memory-adapter/index.d.ts +9 -49
  20. package/dist/adapters/memory-adapter/index.mjs +8 -9
  21. package/dist/adapters/mongodb-adapter/index.cjs +2 -2
  22. package/dist/adapters/mongodb-adapter/index.d.cts +4 -4
  23. package/dist/adapters/mongodb-adapter/index.d.mts +4 -4
  24. package/dist/adapters/mongodb-adapter/index.d.ts +4 -4
  25. package/dist/adapters/mongodb-adapter/index.mjs +3 -3
  26. package/dist/adapters/prisma-adapter/index.cjs +130 -203
  27. package/dist/adapters/prisma-adapter/index.d.cts +17 -49
  28. package/dist/adapters/prisma-adapter/index.d.mts +17 -49
  29. package/dist/adapters/prisma-adapter/index.d.ts +17 -49
  30. package/dist/adapters/prisma-adapter/index.mjs +131 -204
  31. package/dist/adapters/test.cjs +710 -377
  32. package/dist/adapters/test.d.cts +64 -5
  33. package/dist/adapters/test.d.mts +64 -5
  34. package/dist/adapters/test.d.ts +64 -5
  35. package/dist/adapters/test.mjs +712 -380
  36. package/dist/api/index.cjs +61 -25
  37. package/dist/api/index.d.cts +3 -3
  38. package/dist/api/index.d.mts +3 -3
  39. package/dist/api/index.d.ts +3 -3
  40. package/dist/api/index.mjs +63 -27
  41. package/dist/client/index.d.cts +3 -3
  42. package/dist/client/index.d.mts +3 -3
  43. package/dist/client/index.d.ts +3 -3
  44. package/dist/client/plugins/index.cjs +13 -15
  45. package/dist/client/plugins/index.d.cts +80 -19
  46. package/dist/client/plugins/index.d.mts +80 -19
  47. package/dist/client/plugins/index.d.ts +80 -19
  48. package/dist/client/plugins/index.mjs +13 -16
  49. package/dist/client/react/index.cjs +4 -4
  50. package/dist/client/react/index.d.cts +3 -3
  51. package/dist/client/react/index.d.mts +3 -3
  52. package/dist/client/react/index.d.ts +3 -3
  53. package/dist/client/solid/index.d.cts +3 -3
  54. package/dist/client/solid/index.d.mts +3 -3
  55. package/dist/client/solid/index.d.ts +3 -3
  56. package/dist/client/svelte/index.d.cts +3 -3
  57. package/dist/client/svelte/index.d.mts +3 -3
  58. package/dist/client/svelte/index.d.ts +3 -3
  59. package/dist/client/vue/index.d.cts +3 -3
  60. package/dist/client/vue/index.d.mts +3 -3
  61. package/dist/client/vue/index.d.ts +3 -3
  62. package/dist/cookies/index.cjs +13 -2
  63. package/dist/cookies/index.d.cts +3 -3
  64. package/dist/cookies/index.d.mts +3 -3
  65. package/dist/cookies/index.d.ts +3 -3
  66. package/dist/cookies/index.mjs +13 -2
  67. package/dist/db/index.cjs +6 -5
  68. package/dist/db/index.d.cts +4 -4
  69. package/dist/db/index.d.mts +4 -4
  70. package/dist/db/index.d.ts +4 -4
  71. package/dist/db/index.mjs +7 -6
  72. package/dist/index.cjs +11 -7
  73. package/dist/index.d.cts +4 -4
  74. package/dist/index.d.mts +4 -4
  75. package/dist/index.d.ts +4 -4
  76. package/dist/index.mjs +14 -10
  77. package/dist/integrations/next-js.cjs +4 -5
  78. package/dist/integrations/next-js.d.cts +3 -3
  79. package/dist/integrations/next-js.d.mts +3 -3
  80. package/dist/integrations/next-js.d.ts +3 -3
  81. package/dist/integrations/next-js.mjs +5 -6
  82. package/dist/integrations/node.d.cts +3 -3
  83. package/dist/integrations/node.d.mts +3 -3
  84. package/dist/integrations/node.d.ts +3 -3
  85. package/dist/integrations/react-start.cjs +5 -6
  86. package/dist/integrations/react-start.d.cts +3 -3
  87. package/dist/integrations/react-start.d.mts +3 -3
  88. package/dist/integrations/react-start.d.ts +3 -3
  89. package/dist/integrations/react-start.mjs +6 -7
  90. package/dist/integrations/svelte-kit.d.cts +3 -3
  91. package/dist/integrations/svelte-kit.d.mts +3 -3
  92. package/dist/integrations/svelte-kit.d.ts +3 -3
  93. package/dist/oauth2/index.d.cts +5 -5
  94. package/dist/oauth2/index.d.mts +5 -5
  95. package/dist/oauth2/index.d.ts +5 -5
  96. package/dist/plugins/access/index.d.cts +1 -1
  97. package/dist/plugins/access/index.d.mts +1 -1
  98. package/dist/plugins/access/index.d.ts +1 -1
  99. package/dist/plugins/admin/access/index.d.cts +1 -1
  100. package/dist/plugins/admin/access/index.d.mts +1 -1
  101. package/dist/plugins/admin/access/index.d.ts +1 -1
  102. package/dist/plugins/admin/index.cjs +4 -4
  103. package/dist/plugins/admin/index.d.cts +74 -14
  104. package/dist/plugins/admin/index.d.mts +74 -14
  105. package/dist/plugins/admin/index.d.ts +74 -14
  106. package/dist/plugins/admin/index.mjs +5 -5
  107. package/dist/plugins/anonymous/index.cjs +4 -5
  108. package/dist/plugins/anonymous/index.d.cts +3 -3
  109. package/dist/plugins/anonymous/index.d.mts +3 -3
  110. package/dist/plugins/anonymous/index.d.ts +3 -3
  111. package/dist/plugins/anonymous/index.mjs +5 -6
  112. package/dist/plugins/bearer/index.cjs +2 -2
  113. package/dist/plugins/bearer/index.d.cts +3 -3
  114. package/dist/plugins/bearer/index.d.mts +3 -3
  115. package/dist/plugins/bearer/index.d.ts +3 -3
  116. package/dist/plugins/bearer/index.mjs +3 -3
  117. package/dist/plugins/captcha/index.cjs +110 -45
  118. package/dist/plugins/captcha/index.d.cts +26 -6
  119. package/dist/plugins/captcha/index.d.mts +26 -6
  120. package/dist/plugins/captcha/index.d.ts +26 -6
  121. package/dist/plugins/captcha/index.mjs +110 -45
  122. package/dist/plugins/custom-session/index.cjs +24 -5
  123. package/dist/plugins/custom-session/index.d.cts +25 -6
  124. package/dist/plugins/custom-session/index.d.mts +25 -6
  125. package/dist/plugins/custom-session/index.d.ts +25 -6
  126. package/dist/plugins/custom-session/index.mjs +25 -6
  127. package/dist/plugins/email-otp/index.cjs +96 -30
  128. package/dist/plugins/email-otp/index.d.cts +33 -10
  129. package/dist/plugins/email-otp/index.d.mts +33 -10
  130. package/dist/plugins/email-otp/index.d.ts +33 -10
  131. package/dist/plugins/email-otp/index.mjs +97 -31
  132. package/dist/plugins/generic-oauth/index.cjs +81 -20
  133. package/dist/plugins/generic-oauth/index.d.cts +46 -3
  134. package/dist/plugins/generic-oauth/index.d.mts +46 -3
  135. package/dist/plugins/generic-oauth/index.d.ts +46 -3
  136. package/dist/plugins/generic-oauth/index.mjs +82 -21
  137. package/dist/plugins/haveibeenpwned/index.cjs +98 -0
  138. package/dist/plugins/haveibeenpwned/index.d.cts +36 -0
  139. package/dist/plugins/haveibeenpwned/index.d.mts +36 -0
  140. package/dist/plugins/haveibeenpwned/index.d.ts +36 -0
  141. package/dist/plugins/haveibeenpwned/index.mjs +96 -0
  142. package/dist/plugins/index.cjs +583 -19
  143. package/dist/plugins/index.d.cts +7 -5
  144. package/dist/plugins/index.d.mts +7 -5
  145. package/dist/plugins/index.d.ts +7 -5
  146. package/dist/plugins/index.mjs +583 -21
  147. package/dist/plugins/jwt/index.cjs +45 -21
  148. package/dist/plugins/jwt/index.d.cts +52 -6
  149. package/dist/plugins/jwt/index.d.mts +52 -6
  150. package/dist/plugins/jwt/index.d.ts +52 -6
  151. package/dist/plugins/jwt/index.mjs +46 -22
  152. package/dist/plugins/magic-link/index.cjs +3 -3
  153. package/dist/plugins/magic-link/index.mjs +4 -4
  154. package/dist/plugins/multi-session/index.cjs +3 -3
  155. package/dist/plugins/multi-session/index.d.cts +3 -3
  156. package/dist/plugins/multi-session/index.d.mts +3 -3
  157. package/dist/plugins/multi-session/index.d.ts +3 -3
  158. package/dist/plugins/multi-session/index.mjs +4 -4
  159. package/dist/plugins/oauth-proxy/index.cjs +4 -4
  160. package/dist/plugins/oauth-proxy/index.d.cts +3 -3
  161. package/dist/plugins/oauth-proxy/index.d.mts +3 -3
  162. package/dist/plugins/oauth-proxy/index.d.ts +3 -3
  163. package/dist/plugins/oauth-proxy/index.mjs +5 -5
  164. package/dist/plugins/oidc-provider/index.cjs +227 -8
  165. package/dist/plugins/oidc-provider/index.d.cts +215 -3
  166. package/dist/plugins/oidc-provider/index.d.mts +215 -3
  167. package/dist/plugins/oidc-provider/index.d.ts +215 -3
  168. package/dist/plugins/oidc-provider/index.mjs +228 -9
  169. package/dist/plugins/one-tap/index.cjs +5 -5
  170. package/dist/plugins/one-tap/index.mjs +6 -6
  171. package/dist/plugins/one-time-token/index.cjs +119 -0
  172. package/dist/plugins/one-time-token/index.d.cts +134 -0
  173. package/dist/plugins/one-time-token/index.d.mts +134 -0
  174. package/dist/plugins/one-time-token/index.d.ts +134 -0
  175. package/dist/plugins/one-time-token/index.mjs +117 -0
  176. package/dist/plugins/open-api/index.cjs +3 -3
  177. package/dist/plugins/open-api/index.d.cts +3 -3
  178. package/dist/plugins/open-api/index.d.mts +3 -3
  179. package/dist/plugins/open-api/index.d.ts +3 -3
  180. package/dist/plugins/open-api/index.mjs +4 -4
  181. package/dist/plugins/organization/access/index.d.cts +1 -1
  182. package/dist/plugins/organization/access/index.d.mts +1 -1
  183. package/dist/plugins/organization/access/index.d.ts +1 -1
  184. package/dist/plugins/organization/index.cjs +4 -4
  185. package/dist/plugins/organization/index.d.cts +708 -55
  186. package/dist/plugins/organization/index.d.mts +708 -55
  187. package/dist/plugins/organization/index.d.ts +708 -55
  188. package/dist/plugins/organization/index.mjs +5 -5
  189. package/dist/plugins/passkey/index.cjs +82 -8
  190. package/dist/plugins/passkey/index.d.cts +72 -3
  191. package/dist/plugins/passkey/index.d.mts +72 -3
  192. package/dist/plugins/passkey/index.d.ts +72 -3
  193. package/dist/plugins/passkey/index.mjs +83 -9
  194. package/dist/plugins/phone-number/index.cjs +194 -26
  195. package/dist/plugins/phone-number/index.d.cts +132 -8
  196. package/dist/plugins/phone-number/index.d.mts +132 -8
  197. package/dist/plugins/phone-number/index.d.ts +132 -8
  198. package/dist/plugins/phone-number/index.mjs +195 -27
  199. package/dist/plugins/sso/index.cjs +190 -7
  200. package/dist/plugins/sso/index.d.cts +181 -15
  201. package/dist/plugins/sso/index.d.mts +181 -15
  202. package/dist/plugins/sso/index.d.ts +181 -15
  203. package/dist/plugins/sso/index.mjs +191 -8
  204. package/dist/plugins/two-factor/index.cjs +443 -92
  205. package/dist/plugins/two-factor/index.d.cts +230 -396
  206. package/dist/plugins/two-factor/index.d.mts +230 -396
  207. package/dist/plugins/two-factor/index.d.ts +230 -396
  208. package/dist/plugins/two-factor/index.mjs +431 -80
  209. package/dist/plugins/username/index.cjs +34 -31
  210. package/dist/plugins/username/index.d.cts +15 -12
  211. package/dist/plugins/username/index.d.mts +15 -12
  212. package/dist/plugins/username/index.d.ts +15 -12
  213. package/dist/plugins/username/index.mjs +35 -32
  214. package/dist/shared/better-auth.1DR6suCQ.mjs +307 -0
  215. package/dist/shared/{better-auth.BSsp73pg.cjs → better-auth.B7cZ2juS.cjs} +15 -14
  216. package/dist/shared/{better-auth.bKwabe3I.d.mts → better-auth.B88xucNq.d.mts} +529 -39
  217. package/dist/shared/{better-auth.CApEjVDP.cjs → better-auth.BW8BpneG.cjs} +4 -1
  218. package/dist/shared/{better-auth.BiQsvaIP.d.cts → better-auth.BcU1Kjyq.d.cts} +2051 -518
  219. package/dist/shared/better-auth.BfG24BjZ.cjs +118 -0
  220. package/dist/shared/{better-auth.A3TjrU8G.mjs → better-auth.Bk5IMdhM.mjs} +32 -12
  221. package/dist/shared/{better-auth.D9VnBkRI.mjs → better-auth.Bm9HxIzE.mjs} +47 -24
  222. package/dist/shared/{better-auth.BRf6Iynu.d.ts → better-auth.Bwc-6kOr.d.ts} +1 -1
  223. package/dist/shared/{better-auth.D-oLmHIj.d.mts → better-auth.CA2hFK4N.d.ts} +2051 -518
  224. package/dist/shared/{better-auth.Dmhe30iW.d.mts → better-auth.CGukGrxT.d.cts} +1 -1
  225. package/dist/shared/{better-auth.CsSpq0zL.cjs → better-auth.CHUzBidy.cjs} +46 -23
  226. package/dist/shared/{better-auth.DWRligF8.d.cts → better-auth.CT9J6rD-.d.cts} +539 -7
  227. package/dist/shared/better-auth.CVCo5Z2T.cjs +310 -0
  228. package/dist/shared/{better-auth.D4jH-sJA.mjs → better-auth.CWwVo_61.mjs} +458 -118
  229. package/dist/shared/{better-auth.Bi8FQwDD.d.cts → better-auth.CYegVoq1.d.cts} +1 -1
  230. package/dist/shared/{better-auth.Bi8FQwDD.d.mts → better-auth.CYegVoq1.d.mts} +1 -1
  231. package/dist/shared/{better-auth.Bi8FQwDD.d.ts → better-auth.CYegVoq1.d.ts} +1 -1
  232. package/dist/shared/{better-auth.CepcSj5H.mjs → better-auth.Cc72UxUH.mjs} +1 -2
  233. package/dist/shared/{better-auth.BWp5dztg.d.ts → better-auth.CmN4mlPh.d.ts} +539 -7
  234. package/dist/shared/{better-auth.DH3YjMQH.mjs → better-auth.Cqykj82J.mjs} +1 -1
  235. package/dist/shared/{better-auth.wcdMj2cT.d.mts → better-auth.DIt2e3lu.d.mts} +539 -7
  236. package/dist/shared/{better-auth.BANAxdkL.d.ts → better-auth.DNTAFSt1.d.ts} +529 -39
  237. package/dist/shared/{better-auth.DU2QNVc_.d.ts → better-auth.DQ7OSJbI.d.mts} +2051 -518
  238. package/dist/shared/{better-auth.DLTzKoOS.cjs → better-auth.DSVbLSt7.cjs} +4 -1
  239. package/dist/shared/{better-auth.B2Fw1vhH.d.cts → better-auth.DTiSPWEk.d.cts} +529 -39
  240. package/dist/shared/better-auth.DURsStt9.mjs +116 -0
  241. package/dist/shared/{better-auth.BIjcZ_vt.cjs → better-auth.DYoLD99C.cjs} +31 -11
  242. package/dist/shared/{better-auth.CV1L7TPV.cjs → better-auth.D_ZIX1O8.cjs} +317 -47
  243. package/dist/shared/{better-auth.C5H9XEzZ.cjs → better-auth.DcWKCjjf.cjs} +1 -2
  244. package/dist/shared/{better-auth.BDYXUcLv.cjs → better-auth.Dg0siV5C.cjs} +457 -117
  245. package/dist/shared/better-auth.DjryM8pE.cjs +760 -0
  246. package/dist/shared/{better-auth.DPBQN9Fs.mjs → better-auth.Dn_Ms1Uf.mjs} +318 -48
  247. package/dist/shared/{better-auth.DiG4KL2x.mjs → better-auth.OuYYTHC7.mjs} +4 -1
  248. package/dist/shared/{better-auth.DtC8i3pf.d.cts → better-auth.S1jimRbX.d.mts} +1 -1
  249. package/dist/shared/better-auth.SPmq4a4z.d.mts +344 -0
  250. package/dist/shared/{better-auth.cOCrlspr.mjs → better-auth.bkwPl2G4.mjs} +4 -1
  251. package/dist/shared/better-auth.cp2rC2iM.d.ts +344 -0
  252. package/dist/shared/better-auth.eVy4DZvP.d.cts +344 -0
  253. package/dist/shared/{better-auth.BrOpzmqo.mjs → better-auth.iKoUsdFE.mjs} +15 -14
  254. package/dist/shared/better-auth.rSYJCd3o.mjs +758 -0
  255. package/dist/social-providers/index.cjs +75 -3
  256. package/dist/social-providers/index.d.cts +2 -2
  257. package/dist/social-providers/index.d.mts +2 -2
  258. package/dist/social-providers/index.d.ts +2 -2
  259. package/dist/social-providers/index.mjs +77 -6
  260. package/dist/types/index.d.cts +4 -4
  261. package/dist/types/index.d.mts +4 -4
  262. package/dist/types/index.d.ts +4 -4
  263. package/package.json +42 -5
  264. package/dist/chunks/server.cjs +0 -905
  265. package/dist/chunks/server.mjs +0 -895
  266. package/dist/shared/better-auth.BcoSd9tC.mjs +0 -10
  267. package/dist/shared/better-auth.BnRFp-t0.mjs +0 -405
  268. package/dist/shared/better-auth.C1-vpKly.cjs +0 -12
  269. package/dist/shared/better-auth.ClTSOgiD.mjs +0 -140
  270. package/dist/shared/better-auth.DC8JQbiE.mjs +0 -173
  271. package/dist/shared/better-auth.DWHWPllD.cjs +0 -175
  272. package/dist/shared/better-auth.DqLjzBlO.cjs +0 -408
  273. package/dist/shared/better-auth.m575EIBC.cjs +0 -144
@@ -0,0 +1,118 @@
1
+ 'use strict';
2
+
3
+ const index = require('./better-auth.DjryM8pE.cjs');
4
+
5
+ const memoryAdapter = (db, config) => index.createAdapter({
6
+ config: {
7
+ adapterId: "memory",
8
+ adapterName: "Memory Adapter",
9
+ usePlural: false,
10
+ debugLogs: config?.debugLogs || false,
11
+ customTransformInput(props) {
12
+ if (props.options.advanced?.database?.useNumberId && props.field === "id" && props.action === "create") {
13
+ return db[props.model].length + 1;
14
+ }
15
+ return props.data;
16
+ }
17
+ },
18
+ adapter: ({ getFieldName, options }) => {
19
+ function convertWhereClause(where, table) {
20
+ return table.filter((record) => {
21
+ return where.every((clause) => {
22
+ let { field, value, operator } = clause;
23
+ if (operator === "in") {
24
+ if (!Array.isArray(value)) {
25
+ throw new Error("Value must be an array");
26
+ }
27
+ return value.includes(record[field]);
28
+ } else if (operator === "contains") {
29
+ return record[field].includes(value);
30
+ } else if (operator === "starts_with") {
31
+ return record[field].startsWith(value);
32
+ } else if (operator === "ends_with") {
33
+ return record[field].endsWith(value);
34
+ } else {
35
+ return record[field] === value;
36
+ }
37
+ });
38
+ });
39
+ }
40
+ return {
41
+ create: async ({ model, data }) => {
42
+ if (options.advanced?.database?.useNumberId) {
43
+ data.id = db[model].length + 1;
44
+ }
45
+ db[model].push(data);
46
+ return data;
47
+ },
48
+ findOne: async ({ model, where }) => {
49
+ const table = db[model];
50
+ const res = convertWhereClause(where, table);
51
+ const record = res[0] || null;
52
+ return record;
53
+ },
54
+ findMany: async ({ model, where, sortBy, limit, offset }) => {
55
+ let table = db[model];
56
+ if (where) {
57
+ table = convertWhereClause(where, table);
58
+ }
59
+ if (sortBy) {
60
+ table = table.sort((a, b) => {
61
+ const field = getFieldName({ model, field: sortBy.field });
62
+ if (sortBy.direction === "asc") {
63
+ return a[field] > b[field] ? 1 : -1;
64
+ } else {
65
+ return a[field] < b[field] ? 1 : -1;
66
+ }
67
+ });
68
+ }
69
+ if (offset !== void 0) {
70
+ table = table.slice(offset);
71
+ }
72
+ if (limit !== void 0) {
73
+ table = table.slice(0, limit);
74
+ }
75
+ return table;
76
+ },
77
+ count: async ({ model }) => {
78
+ return db[model].length;
79
+ },
80
+ update: async ({ model, where, update }) => {
81
+ const table = db[model];
82
+ const res = convertWhereClause(where, table);
83
+ res.forEach((record) => {
84
+ Object.assign(record, update);
85
+ });
86
+ return res[0] || null;
87
+ },
88
+ delete: async ({ model, where }) => {
89
+ const table = db[model];
90
+ const res = convertWhereClause(where, table);
91
+ db[model] = table.filter((record) => !res.includes(record));
92
+ },
93
+ deleteMany: async ({ model, where }) => {
94
+ const table = db[model];
95
+ const res = convertWhereClause(where, table);
96
+ let count = 0;
97
+ db[model] = table.filter((record) => {
98
+ if (res.includes(record)) {
99
+ count++;
100
+ return false;
101
+ }
102
+ return !res.includes(record);
103
+ });
104
+ return count;
105
+ },
106
+ updateMany({ model, where, update }) {
107
+ const table = db[model];
108
+ const res = convertWhereClause(where, table);
109
+ res.forEach((record) => {
110
+ Object.assign(record, update);
111
+ });
112
+ return res[0] || null;
113
+ }
114
+ };
115
+ }
116
+ });
117
+
118
+ exports.memoryAdapter = memoryAdapter;
@@ -1,6 +1,6 @@
1
1
  import { g as getDate } from './better-auth.CW6D9eSx.mjs';
2
- import { d as parseSessionOutput, b as parseUserOutput } from './better-auth.CepcSj5H.mjs';
3
- import { g as getIp } from './better-auth.BrOpzmqo.mjs';
2
+ import { d as parseSessionOutput, b as parseUserOutput } from './better-auth.Cc72UxUH.mjs';
3
+ import { g as getIp } from './better-auth.iKoUsdFE.mjs';
4
4
  import { s as safeJSONParse } from './better-auth.tB5eU6EY.mjs';
5
5
  import { g as generateId } from './better-auth.BUPPRXfK.mjs';
6
6
  import 'zod';
@@ -16,13 +16,13 @@ import '@better-auth/utils';
16
16
  import '@better-auth/utils/hex';
17
17
  import '@noble/hashes/utils';
18
18
  import './better-auth.B4Qoxdgc.mjs';
19
- import { a as logger, c as createLogger } from './better-auth.DH3YjMQH.mjs';
19
+ import { l as logger, c as createLogger } from './better-auth.Cqykj82J.mjs';
20
20
  import './better-auth.8zoxzg-F.mjs';
21
21
  import '@better-auth/utils/random';
22
22
  import { g as getAuthTables } from './better-auth.DORkW_Ge.mjs';
23
23
  import { B as BetterAuthError } from './better-auth.DdzSJf-n.mjs';
24
- import { c as createKyselyAdapter, k as kyselyAdapter } from './better-auth.BnRFp-t0.mjs';
25
- import { m as memoryAdapter } from './better-auth.DC8JQbiE.mjs';
24
+ import { c as createKyselyAdapter, k as kyselyAdapter } from './better-auth.1DR6suCQ.mjs';
25
+ import { m as memoryAdapter } from './better-auth.DURsStt9.mjs';
26
26
  import 'kysely';
27
27
 
28
28
  function getWithHooks(adapter, ctx) {
@@ -229,6 +229,9 @@ const createInternalAdapter = (adapter, ctx) => {
229
229
  model: "user",
230
230
  where
231
231
  });
232
+ if (typeof total === "string") {
233
+ return parseInt(total);
234
+ }
232
235
  return total;
233
236
  },
234
237
  deleteUser: async (userId) => {
@@ -729,10 +732,10 @@ const createInternalAdapter = (adapter, ctx) => {
729
732
  });
730
733
  return account;
731
734
  },
732
- updateAccount: async (accountId, data, context) => {
735
+ updateAccount: async (id, data, context) => {
733
736
  const account = await updateWithHooks(
734
737
  data,
735
- [{ field: "id", value: accountId }],
738
+ [{ field: "id", value: id }],
736
739
  "account",
737
740
  void 0,
738
741
  context
@@ -1026,7 +1029,7 @@ async function getMigrations(config) {
1026
1029
  }
1027
1030
  }
1028
1031
  const migrations = [];
1029
- function getType(field) {
1032
+ function getType(field, fieldName) {
1030
1033
  const type = field.type;
1031
1034
  const typeMap = {
1032
1035
  string: {
@@ -1052,8 +1055,17 @@ async function getMigrations(config) {
1052
1055
  postgres: "timestamp",
1053
1056
  mysql: "datetime",
1054
1057
  mssql: "datetime"
1058
+ },
1059
+ id: {
1060
+ postgres: config.advanced?.database?.useNumberId ? "serial" : "text",
1061
+ mysql: config.advanced?.database?.useNumberId ? "integer" : "varchar(36)",
1062
+ mssql: config.advanced?.database?.useNumberId ? "integer" : "varchar(36)",
1063
+ sqlite: config.advanced?.database?.useNumberId ? "integer" : "text"
1055
1064
  }
1056
1065
  };
1066
+ if (fieldName === "id" || field.references?.field === "id") {
1067
+ return typeMap.id[dbType];
1068
+ }
1057
1069
  if (dbType === "sqlite" && (type === "string[]" || type === "number[]")) {
1058
1070
  return "text";
1059
1071
  }
@@ -1068,7 +1080,7 @@ async function getMigrations(config) {
1068
1080
  if (toBeAdded.length) {
1069
1081
  for (const table of toBeAdded) {
1070
1082
  for (const [fieldName, field] of Object.entries(table.fields)) {
1071
- const type = getType(field);
1083
+ const type = getType(field, fieldName);
1072
1084
  const exec = db.schema.alterTable(table.table).addColumn(fieldName, type, (col) => {
1073
1085
  col = field.required !== false ? col.notNull() : col;
1074
1086
  if (field.references) {
@@ -1089,11 +1101,19 @@ async function getMigrations(config) {
1089
1101
  for (const table of toBeCreated) {
1090
1102
  let dbT = db.schema.createTable(table.table).addColumn(
1091
1103
  "id",
1092
- dbType === "mysql" || dbType === "mssql" ? "varchar(36)" : "text",
1093
- (col) => col.primaryKey().notNull()
1104
+ config.advanced?.database?.useNumberId ? dbType === "postgres" ? "serial" : "integer" : dbType === "mysql" || dbType === "mssql" ? "varchar(36)" : "text",
1105
+ (col) => {
1106
+ if (config.advanced?.database?.useNumberId) {
1107
+ if (dbType === "postgres") {
1108
+ return col.primaryKey().notNull();
1109
+ }
1110
+ return col.autoIncrement().primaryKey().notNull();
1111
+ }
1112
+ return col.primaryKey().notNull();
1113
+ }
1094
1114
  );
1095
1115
  for (const [fieldName, field] of Object.entries(table.fields)) {
1096
- const type = getType(field);
1116
+ const type = getType(field, fieldName);
1097
1117
  dbT = dbT.addColumn(fieldName, type, (col) => {
1098
1118
  col = field.required !== false ? col.notNull() : col;
1099
1119
  if (field.references) {
@@ -1,14 +1,14 @@
1
1
  import { z } from 'zod';
2
2
  import { APIError } from 'better-call';
3
- import { c as createAuthMiddleware, g as getSessionFromCtx, a as createAuthEndpoint } from './better-auth.D4jH-sJA.mjs';
3
+ import { c as createAuthMiddleware, g as getSessionFromCtx, a as createAuthEndpoint } from './better-auth.CWwVo_61.mjs';
4
4
  import { setSessionCookie, deleteSessionCookie } from '../cookies/index.mjs';
5
- import { m as mergeSchema } from './better-auth.CepcSj5H.mjs';
5
+ import { m as mergeSchema } from './better-auth.Cc72UxUH.mjs';
6
6
  import './better-auth.8zoxzg-F.mjs';
7
- import './better-auth.DH3YjMQH.mjs';
7
+ import './better-auth.Cqykj82J.mjs';
8
8
  import 'defu';
9
9
  import { g as getDate } from './better-auth.CW6D9eSx.mjs';
10
10
  import { g as getEndpointResponse } from './better-auth.DQI8AD7d.mjs';
11
- import { h as hasPermission } from './better-auth.cOCrlspr.mjs';
11
+ import { h as hasPermission } from './better-auth.bkwPl2G4.mjs';
12
12
 
13
13
  const ADMIN_ERROR_CODES = {
14
14
  FAILED_TO_CREATE_USER: "Failed to create user",
@@ -163,7 +163,7 @@ const admin = (options) => {
163
163
  userId: ctx.context.session.user.id,
164
164
  role: ctx.context.session.user.role,
165
165
  options: opts,
166
- permission: {
166
+ permissions: {
167
167
  user: ["set-role"]
168
168
  }
169
169
  });
@@ -255,7 +255,7 @@ const admin = (options) => {
255
255
  userId: session.user.id,
256
256
  role: session.user.role,
257
257
  options: opts,
258
- permission: {
258
+ permissions: {
259
259
  user: ["create"]
260
260
  }
261
261
  });
@@ -382,7 +382,7 @@ const admin = (options) => {
382
382
  userId: ctx.context.session.user.id,
383
383
  role: session.user.role,
384
384
  options: opts,
385
- permission: {
385
+ permissions: {
386
386
  user: ["list"]
387
387
  }
388
388
  });
@@ -477,7 +477,7 @@ const admin = (options) => {
477
477
  userId: ctx.context.session.user.id,
478
478
  role: session.user.role,
479
479
  options: opts,
480
- permission: {
480
+ permissions: {
481
481
  session: ["list"]
482
482
  }
483
483
  });
@@ -535,7 +535,7 @@ const admin = (options) => {
535
535
  userId: ctx.context.session.user.id,
536
536
  role: session.user.role,
537
537
  options: opts,
538
- permission: {
538
+ permissions: {
539
539
  user: ["ban"]
540
540
  }
541
541
  });
@@ -610,7 +610,7 @@ const admin = (options) => {
610
610
  userId: ctx.context.session.user.id,
611
611
  role: session.user.role,
612
612
  options: opts,
613
- permission: {
613
+ permissions: {
614
614
  user: ["ban"]
615
615
  }
616
616
  });
@@ -682,7 +682,7 @@ const admin = (options) => {
682
682
  userId: ctx.context.session.user.id,
683
683
  role: ctx.context.session.user.role,
684
684
  options: opts,
685
- permission: {
685
+ permissions: {
686
686
  user: ["impersonate"]
687
687
  }
688
688
  });
@@ -718,9 +718,13 @@ const admin = (options) => {
718
718
  }
719
719
  const authCookies = ctx.context.authCookies;
720
720
  deleteSessionCookie(ctx);
721
+ const dontRememberMeCookie = await ctx.getSignedCookie(
722
+ ctx.context.authCookies.dontRememberToken.name,
723
+ ctx.context.secret
724
+ );
721
725
  await ctx.setSignedCookie(
722
726
  "admin_session",
723
- ctx.context.session.session.token,
727
+ `${ctx.context.session.session.token}:${dontRememberMeCookie || ""}`,
724
728
  ctx.context.secret,
725
729
  authCookies.sessionToken.options
726
730
  );
@@ -770,13 +774,17 @@ const admin = (options) => {
770
774
  message: "Failed to find admin session"
771
775
  });
772
776
  }
773
- const adminSession = await ctx.context.internalAdapter.findSession(adminCookie);
777
+ const [adminSessionToken, dontRememberMeCookie] = adminCookie?.split(":");
778
+ const adminSession = await ctx.context.internalAdapter.findSession(adminSessionToken);
774
779
  if (!adminSession || adminSession.session.userId !== user.id) {
775
780
  throw new APIError("INTERNAL_SERVER_ERROR", {
776
781
  message: "Failed to find admin session"
777
782
  });
778
783
  }
779
- await setSessionCookie(ctx, adminSession);
784
+ await ctx.context.internalAdapter.deleteSession(
785
+ session.session.token
786
+ );
787
+ await setSessionCookie(ctx, adminSession, !!dontRememberMeCookie);
780
788
  return ctx.json(adminSession);
781
789
  }
782
790
  ),
@@ -821,7 +829,7 @@ const admin = (options) => {
821
829
  userId: ctx.context.session.user.id,
822
830
  role: session.user.role,
823
831
  options: opts,
824
- permission: {
832
+ permissions: {
825
833
  session: ["revoke"]
826
834
  }
827
835
  });
@@ -879,7 +887,7 @@ const admin = (options) => {
879
887
  userId: ctx.context.session.user.id,
880
888
  role: session.user.role,
881
889
  options: opts,
882
- permission: {
890
+ permissions: {
883
891
  session: ["revoke"]
884
892
  }
885
893
  });
@@ -935,7 +943,7 @@ const admin = (options) => {
935
943
  userId: ctx.context.session.user.id,
936
944
  role: session.user.role,
937
945
  options: opts,
938
- permission: {
946
+ permissions: {
939
947
  user: ["delete"]
940
948
  }
941
949
  });
@@ -993,7 +1001,7 @@ const admin = (options) => {
993
1001
  userId: ctx.context.session.user.id,
994
1002
  role: ctx.context.session.user.role,
995
1003
  options: opts,
996
- permission: {
1004
+ permissions: {
997
1005
  user: ["set-password"]
998
1006
  }
999
1007
  });
@@ -1019,10 +1027,20 @@ const admin = (options) => {
1019
1027
  {
1020
1028
  method: "POST",
1021
1029
  body: z.object({
1022
- permission: z.record(z.string(), z.array(z.string())),
1023
1030
  userId: z.coerce.string().optional(),
1024
1031
  role: z.string().optional()
1025
- }),
1032
+ }).and(
1033
+ z.union([
1034
+ z.object({
1035
+ permission: z.record(z.string(), z.array(z.string())),
1036
+ permissions: z.undefined()
1037
+ }),
1038
+ z.object({
1039
+ permission: z.undefined(),
1040
+ permissions: z.record(z.string(), z.array(z.string()))
1041
+ })
1042
+ ])
1043
+ ),
1026
1044
  metadata: {
1027
1045
  openapi: {
1028
1046
  description: "Check if the user has permission",
@@ -1033,11 +1051,16 @@ const admin = (options) => {
1033
1051
  type: "object",
1034
1052
  properties: {
1035
1053
  permission: {
1054
+ type: "object",
1055
+ description: "The permission to check",
1056
+ deprecated: true
1057
+ },
1058
+ permissions: {
1036
1059
  type: "object",
1037
1060
  description: "The permission to check"
1038
1061
  }
1039
1062
  },
1040
- required: ["permission"]
1063
+ required: ["permissions"]
1041
1064
  }
1042
1065
  }
1043
1066
  }
@@ -1070,9 +1093,9 @@ const admin = (options) => {
1070
1093
  }
1071
1094
  },
1072
1095
  async (ctx) => {
1073
- if (!ctx.body.permission || Object.keys(ctx.body.permission).length > 1) {
1096
+ if (!ctx.body?.permission && !ctx.body?.permissions) {
1074
1097
  throw new APIError("BAD_REQUEST", {
1075
- message: "invalid permission check. you can only check one resource permission at a time."
1098
+ message: "invalid permission check. no permission(s) were passed."
1076
1099
  });
1077
1100
  }
1078
1101
  const session = await getSessionFromCtx(ctx);
@@ -1091,7 +1114,7 @@ const admin = (options) => {
1091
1114
  userId: user.id,
1092
1115
  role: user.role,
1093
1116
  options,
1094
- permission: ctx.body.permission
1117
+ permissions: ctx.body.permissions ?? ctx.body.permission
1095
1118
  });
1096
1119
  return ctx.json({
1097
1120
  error: null,
@@ -1,4 +1,4 @@
1
- import { G as GenericEndpointContext } from './better-auth.DU2QNVc_.js';
1
+ import { G as GenericEndpointContext } from './better-auth.CA2hFK4N.js';
2
2
 
3
3
  declare function generateState(c: GenericEndpointContext, link?: {
4
4
  email: string;