@convex-dev/better-auth 0.8.0-alpha.9 → 0.8.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 (301) hide show
  1. package/dist/commonjs/auth.d.ts +4 -0
  2. package/dist/commonjs/auth.d.ts.map +1 -0
  3. package/dist/commonjs/auth.js +44 -0
  4. package/dist/commonjs/auth.js.map +1 -0
  5. package/dist/commonjs/client/adapter.d.ts +8 -10
  6. package/dist/commonjs/client/adapter.d.ts.map +1 -1
  7. package/dist/commonjs/client/adapter.js +48 -32
  8. package/dist/commonjs/client/adapter.js.map +1 -1
  9. package/dist/commonjs/client/adapterUtils.d.ts +66 -0
  10. package/dist/commonjs/client/adapterUtils.d.ts.map +1 -0
  11. package/dist/commonjs/client/adapterUtils.js +429 -0
  12. package/dist/commonjs/client/adapterUtils.js.map +1 -0
  13. package/dist/commonjs/client/createSchema.d.ts +24 -0
  14. package/dist/commonjs/client/createSchema.d.ts.map +1 -0
  15. package/dist/commonjs/client/createSchema.js +101 -0
  16. package/dist/commonjs/client/createSchema.js.map +1 -0
  17. package/dist/commonjs/client/index.d.ts +449 -601
  18. package/dist/commonjs/client/index.d.ts.map +1 -1
  19. package/dist/commonjs/client/index.js +337 -212
  20. package/dist/commonjs/client/index.js.map +1 -1
  21. package/dist/commonjs/component/adapter.d.ts +128 -0
  22. package/dist/commonjs/component/adapter.d.ts.map +1 -0
  23. package/dist/commonjs/component/adapter.js +5 -0
  24. package/dist/commonjs/component/adapter.js.map +1 -0
  25. package/dist/commonjs/component/adapterTest.d.ts +3 -5
  26. package/dist/commonjs/component/adapterTest.d.ts.map +1 -1
  27. package/dist/commonjs/component/adapterTest.js +3 -17
  28. package/dist/commonjs/component/adapterTest.js.map +1 -1
  29. package/dist/commonjs/component/schema.d.ts +451 -207
  30. package/dist/commonjs/component/schema.d.ts.map +1 -1
  31. package/dist/commonjs/component/schema.js +50 -177
  32. package/dist/commonjs/component/schema.js.map +1 -1
  33. package/dist/commonjs/component/util.d.ts.map +1 -1
  34. package/dist/commonjs/nextjs/index.d.ts +1 -2
  35. package/dist/commonjs/nextjs/index.d.ts.map +1 -1
  36. package/dist/commonjs/nextjs/index.js +3 -2
  37. package/dist/commonjs/nextjs/index.js.map +1 -1
  38. package/dist/commonjs/plugins/convex/client.d.ts +2 -5
  39. package/dist/commonjs/plugins/convex/client.d.ts.map +1 -1
  40. package/dist/commonjs/plugins/convex/client.js.map +1 -1
  41. package/dist/commonjs/plugins/convex/index.d.ts +7 -134
  42. package/dist/commonjs/plugins/convex/index.d.ts.map +1 -1
  43. package/dist/commonjs/plugins/convex/index.js +10 -125
  44. package/dist/commonjs/plugins/convex/index.js.map +1 -1
  45. package/dist/commonjs/plugins/cross-domain/index.js +2 -2
  46. package/dist/commonjs/plugins/cross-domain/index.js.map +1 -1
  47. package/dist/commonjs/react-start/index.d.ts +17 -36
  48. package/dist/commonjs/react-start/index.d.ts.map +1 -1
  49. package/dist/commonjs/react-start/index.js +42 -31
  50. package/dist/commonjs/react-start/index.js.map +1 -1
  51. package/dist/commonjs/src/auth.d.ts +3085 -0
  52. package/dist/commonjs/src/auth.d.ts.map +1 -0
  53. package/dist/commonjs/src/auth.js +72 -0
  54. package/dist/commonjs/src/auth.js.map +1 -0
  55. package/dist/commonjs/src/client/adapter.d.ts +18 -0
  56. package/dist/commonjs/src/client/adapter.d.ts.map +1 -0
  57. package/dist/commonjs/src/client/adapter.js +211 -0
  58. package/dist/commonjs/src/client/adapter.js.map +1 -0
  59. package/dist/commonjs/src/client/createSchema.d.ts +25 -0
  60. package/dist/commonjs/src/client/createSchema.d.ts.map +1 -0
  61. package/dist/commonjs/src/client/createSchema.js +103 -0
  62. package/dist/commonjs/src/client/createSchema.js.map +1 -0
  63. package/dist/commonjs/src/client/index.d.ts +3310 -0
  64. package/dist/commonjs/src/client/index.d.ts.map +1 -0
  65. package/dist/commonjs/src/client/index.js +377 -0
  66. package/dist/commonjs/src/client/index.js.map +1 -0
  67. package/dist/commonjs/src/client/plugins/index.d.ts +3 -0
  68. package/dist/commonjs/src/client/plugins/index.d.ts.map +1 -0
  69. package/dist/commonjs/src/client/plugins/index.js +3 -0
  70. package/dist/commonjs/src/client/plugins/index.js.map +1 -0
  71. package/dist/commonjs/src/component/_generated/api.d.ts +12 -0
  72. package/dist/commonjs/src/component/_generated/api.d.ts.map +1 -0
  73. package/dist/commonjs/src/component/_generated/api.js +22 -0
  74. package/dist/commonjs/src/component/_generated/api.js.map +1 -0
  75. package/dist/commonjs/src/component/_generated/server.d.ts +64 -0
  76. package/dist/commonjs/src/component/_generated/server.d.ts.map +1 -0
  77. package/dist/commonjs/src/component/_generated/server.js +74 -0
  78. package/dist/commonjs/src/component/_generated/server.js.map +1 -0
  79. package/dist/commonjs/src/component/adapter.d.ts +355 -0
  80. package/dist/commonjs/src/component/adapter.d.ts.map +1 -0
  81. package/dist/commonjs/src/component/adapter.js +573 -0
  82. package/dist/commonjs/src/component/adapter.js.map +1 -0
  83. package/dist/commonjs/src/component/adapterTest.d.ts +18 -0
  84. package/dist/commonjs/src/component/adapterTest.d.ts.map +1 -0
  85. package/dist/commonjs/src/component/adapterTest.js +75 -0
  86. package/dist/commonjs/src/component/adapterTest.js.map +1 -0
  87. package/dist/commonjs/src/component/convex.config.d.ts +3 -0
  88. package/dist/commonjs/src/component/convex.config.d.ts.map +1 -0
  89. package/dist/commonjs/src/component/convex.config.js +4 -0
  90. package/dist/commonjs/src/component/convex.config.js.map +1 -0
  91. package/dist/commonjs/src/component/schema.d.ts +562 -0
  92. package/dist/commonjs/src/component/schema.d.ts.map +1 -0
  93. package/dist/commonjs/src/component/schema.js +217 -0
  94. package/dist/commonjs/src/component/schema.js.map +1 -0
  95. package/dist/commonjs/src/nextjs/index.d.ts +10 -0
  96. package/dist/commonjs/src/nextjs/index.d.ts.map +1 -0
  97. package/dist/commonjs/src/nextjs/index.js +43 -0
  98. package/dist/commonjs/src/nextjs/index.js.map +1 -0
  99. package/dist/commonjs/src/plugins/convex/client.d.ts +9 -0
  100. package/dist/commonjs/src/plugins/convex/client.d.ts.map +1 -0
  101. package/dist/commonjs/src/plugins/convex/client.js +7 -0
  102. package/dist/commonjs/src/plugins/convex/client.js.map +1 -0
  103. package/dist/commonjs/src/plugins/convex/index.d.ts +415 -0
  104. package/dist/commonjs/src/plugins/convex/index.d.ts.map +1 -0
  105. package/dist/commonjs/src/plugins/convex/index.js +354 -0
  106. package/dist/commonjs/src/plugins/convex/index.js.map +1 -0
  107. package/dist/commonjs/src/plugins/cross-domain/client.d.ts +132 -0
  108. package/dist/commonjs/src/plugins/cross-domain/client.d.ts.map +1 -0
  109. package/dist/commonjs/src/plugins/cross-domain/client.js +176 -0
  110. package/dist/commonjs/src/plugins/cross-domain/client.js.map +1 -0
  111. package/dist/commonjs/src/plugins/cross-domain/index.d.ts +83 -0
  112. package/dist/commonjs/src/plugins/cross-domain/index.d.ts.map +1 -0
  113. package/dist/commonjs/src/plugins/cross-domain/index.js +153 -0
  114. package/dist/commonjs/src/plugins/cross-domain/index.js.map +1 -0
  115. package/dist/commonjs/src/plugins/index.d.ts +3 -0
  116. package/dist/commonjs/src/plugins/index.d.ts.map +1 -0
  117. package/dist/commonjs/src/plugins/index.js +3 -0
  118. package/dist/commonjs/src/plugins/index.js.map +1 -0
  119. package/dist/commonjs/src/react/client.d.ts +31 -0
  120. package/dist/commonjs/src/react/client.d.ts.map +1 -0
  121. package/dist/commonjs/src/react/client.js +96 -0
  122. package/dist/commonjs/src/react/client.js.map +1 -0
  123. package/dist/commonjs/src/react/index.d.ts +9 -0
  124. package/dist/commonjs/src/react/index.d.ts.map +1 -0
  125. package/dist/commonjs/src/react/index.js +15 -0
  126. package/dist/commonjs/src/react/index.js.map +1 -0
  127. package/dist/commonjs/src/react-start/index.d.ts +45 -0
  128. package/dist/commonjs/src/react-start/index.d.ts.map +1 -0
  129. package/dist/commonjs/src/react-start/index.js +60 -0
  130. package/dist/commonjs/src/react-start/index.js.map +1 -0
  131. package/dist/commonjs/src/utils/index.d.ts +9 -0
  132. package/dist/commonjs/src/utils/index.d.ts.map +1 -0
  133. package/dist/commonjs/src/utils/index.js +35 -0
  134. package/dist/commonjs/src/utils/index.js.map +1 -0
  135. package/dist/esm/auth.d.ts +4 -0
  136. package/dist/esm/auth.d.ts.map +1 -0
  137. package/dist/esm/auth.js +44 -0
  138. package/dist/esm/auth.js.map +1 -0
  139. package/dist/esm/client/adapter.d.ts +8 -10
  140. package/dist/esm/client/adapter.d.ts.map +1 -1
  141. package/dist/esm/client/adapter.js +48 -32
  142. package/dist/esm/client/adapter.js.map +1 -1
  143. package/dist/esm/client/adapterUtils.d.ts +66 -0
  144. package/dist/esm/client/adapterUtils.d.ts.map +1 -0
  145. package/dist/esm/client/adapterUtils.js +429 -0
  146. package/dist/esm/client/adapterUtils.js.map +1 -0
  147. package/dist/esm/client/createSchema.d.ts +24 -0
  148. package/dist/esm/client/createSchema.d.ts.map +1 -0
  149. package/dist/esm/client/createSchema.js +101 -0
  150. package/dist/esm/client/createSchema.js.map +1 -0
  151. package/dist/esm/client/index.d.ts +449 -601
  152. package/dist/esm/client/index.d.ts.map +1 -1
  153. package/dist/esm/client/index.js +337 -212
  154. package/dist/esm/client/index.js.map +1 -1
  155. package/dist/esm/component/adapter.d.ts +128 -0
  156. package/dist/esm/component/adapter.d.ts.map +1 -0
  157. package/dist/esm/component/adapter.js +5 -0
  158. package/dist/esm/component/adapter.js.map +1 -0
  159. package/dist/esm/component/adapterTest.d.ts +3 -5
  160. package/dist/esm/component/adapterTest.d.ts.map +1 -1
  161. package/dist/esm/component/adapterTest.js +3 -17
  162. package/dist/esm/component/adapterTest.js.map +1 -1
  163. package/dist/esm/component/schema.d.ts +451 -207
  164. package/dist/esm/component/schema.d.ts.map +1 -1
  165. package/dist/esm/component/schema.js +50 -177
  166. package/dist/esm/component/schema.js.map +1 -1
  167. package/dist/esm/component/util.d.ts.map +1 -1
  168. package/dist/esm/nextjs/index.d.ts +1 -2
  169. package/dist/esm/nextjs/index.d.ts.map +1 -1
  170. package/dist/esm/nextjs/index.js +3 -2
  171. package/dist/esm/nextjs/index.js.map +1 -1
  172. package/dist/esm/plugins/convex/client.d.ts +2 -5
  173. package/dist/esm/plugins/convex/client.d.ts.map +1 -1
  174. package/dist/esm/plugins/convex/client.js.map +1 -1
  175. package/dist/esm/plugins/convex/index.d.ts +7 -134
  176. package/dist/esm/plugins/convex/index.d.ts.map +1 -1
  177. package/dist/esm/plugins/convex/index.js +10 -125
  178. package/dist/esm/plugins/convex/index.js.map +1 -1
  179. package/dist/esm/plugins/cross-domain/index.js +2 -2
  180. package/dist/esm/plugins/cross-domain/index.js.map +1 -1
  181. package/dist/esm/react-start/index.d.ts +17 -36
  182. package/dist/esm/react-start/index.d.ts.map +1 -1
  183. package/dist/esm/react-start/index.js +42 -31
  184. package/dist/esm/react-start/index.js.map +1 -1
  185. package/dist/esm/src/auth.d.ts +3085 -0
  186. package/dist/esm/src/auth.d.ts.map +1 -0
  187. package/dist/esm/src/auth.js +72 -0
  188. package/dist/esm/src/auth.js.map +1 -0
  189. package/dist/esm/src/client/adapter.d.ts +18 -0
  190. package/dist/esm/src/client/adapter.d.ts.map +1 -0
  191. package/dist/esm/src/client/adapter.js +211 -0
  192. package/dist/esm/src/client/adapter.js.map +1 -0
  193. package/dist/esm/src/client/createSchema.d.ts +25 -0
  194. package/dist/esm/src/client/createSchema.d.ts.map +1 -0
  195. package/dist/esm/src/client/createSchema.js +103 -0
  196. package/dist/esm/src/client/createSchema.js.map +1 -0
  197. package/dist/esm/src/client/index.d.ts +3310 -0
  198. package/dist/esm/src/client/index.d.ts.map +1 -0
  199. package/dist/esm/src/client/index.js +377 -0
  200. package/dist/esm/src/client/index.js.map +1 -0
  201. package/dist/esm/src/client/plugins/index.d.ts +3 -0
  202. package/dist/esm/src/client/plugins/index.d.ts.map +1 -0
  203. package/dist/esm/src/client/plugins/index.js +3 -0
  204. package/dist/esm/src/client/plugins/index.js.map +1 -0
  205. package/dist/esm/src/component/_generated/api.d.ts +12 -0
  206. package/dist/esm/src/component/_generated/api.d.ts.map +1 -0
  207. package/dist/esm/src/component/_generated/api.js +22 -0
  208. package/dist/esm/src/component/_generated/api.js.map +1 -0
  209. package/dist/esm/src/component/_generated/server.d.ts +64 -0
  210. package/dist/esm/src/component/_generated/server.d.ts.map +1 -0
  211. package/dist/esm/src/component/_generated/server.js +74 -0
  212. package/dist/esm/src/component/_generated/server.js.map +1 -0
  213. package/dist/esm/src/component/adapter.d.ts +355 -0
  214. package/dist/esm/src/component/adapter.d.ts.map +1 -0
  215. package/dist/esm/src/component/adapter.js +573 -0
  216. package/dist/esm/src/component/adapter.js.map +1 -0
  217. package/dist/esm/src/component/adapterTest.d.ts +18 -0
  218. package/dist/esm/src/component/adapterTest.d.ts.map +1 -0
  219. package/dist/esm/src/component/adapterTest.js +75 -0
  220. package/dist/esm/src/component/adapterTest.js.map +1 -0
  221. package/dist/esm/src/component/convex.config.d.ts +3 -0
  222. package/dist/esm/src/component/convex.config.d.ts.map +1 -0
  223. package/dist/esm/src/component/convex.config.js +4 -0
  224. package/dist/esm/src/component/convex.config.js.map +1 -0
  225. package/dist/esm/src/component/schema.d.ts +562 -0
  226. package/dist/esm/src/component/schema.d.ts.map +1 -0
  227. package/dist/esm/src/component/schema.js +217 -0
  228. package/dist/esm/src/component/schema.js.map +1 -0
  229. package/dist/esm/src/nextjs/index.d.ts +10 -0
  230. package/dist/esm/src/nextjs/index.d.ts.map +1 -0
  231. package/dist/esm/src/nextjs/index.js +43 -0
  232. package/dist/esm/src/nextjs/index.js.map +1 -0
  233. package/dist/esm/src/plugins/convex/client.d.ts +9 -0
  234. package/dist/esm/src/plugins/convex/client.d.ts.map +1 -0
  235. package/dist/esm/src/plugins/convex/client.js +7 -0
  236. package/dist/esm/src/plugins/convex/client.js.map +1 -0
  237. package/dist/esm/src/plugins/convex/index.d.ts +415 -0
  238. package/dist/esm/src/plugins/convex/index.d.ts.map +1 -0
  239. package/dist/esm/src/plugins/convex/index.js +354 -0
  240. package/dist/esm/src/plugins/convex/index.js.map +1 -0
  241. package/dist/esm/src/plugins/cross-domain/client.d.ts +132 -0
  242. package/dist/esm/src/plugins/cross-domain/client.d.ts.map +1 -0
  243. package/dist/esm/src/plugins/cross-domain/client.js +176 -0
  244. package/dist/esm/src/plugins/cross-domain/client.js.map +1 -0
  245. package/dist/esm/src/plugins/cross-domain/index.d.ts +83 -0
  246. package/dist/esm/src/plugins/cross-domain/index.d.ts.map +1 -0
  247. package/dist/esm/src/plugins/cross-domain/index.js +153 -0
  248. package/dist/esm/src/plugins/cross-domain/index.js.map +1 -0
  249. package/dist/esm/src/plugins/index.d.ts +3 -0
  250. package/dist/esm/src/plugins/index.d.ts.map +1 -0
  251. package/dist/esm/src/plugins/index.js +3 -0
  252. package/dist/esm/src/plugins/index.js.map +1 -0
  253. package/dist/esm/src/react/client.d.ts +31 -0
  254. package/dist/esm/src/react/client.d.ts.map +1 -0
  255. package/dist/esm/src/react/client.js +96 -0
  256. package/dist/esm/src/react/client.js.map +1 -0
  257. package/dist/esm/src/react/index.d.ts +9 -0
  258. package/dist/esm/src/react/index.d.ts.map +1 -0
  259. package/dist/esm/src/react/index.js +15 -0
  260. package/dist/esm/src/react/index.js.map +1 -0
  261. package/dist/esm/src/react-start/index.d.ts +45 -0
  262. package/dist/esm/src/react-start/index.d.ts.map +1 -0
  263. package/dist/esm/src/react-start/index.js +60 -0
  264. package/dist/esm/src/react-start/index.js.map +1 -0
  265. package/dist/esm/src/utils/index.d.ts +9 -0
  266. package/dist/esm/src/utils/index.d.ts.map +1 -0
  267. package/dist/esm/src/utils/index.js +35 -0
  268. package/dist/esm/src/utils/index.js.map +1 -0
  269. package/package.json +21 -4
  270. package/src/auth.ts +57 -0
  271. package/src/client/adapter.test.ts +15 -0
  272. package/src/client/adapter.ts +83 -58
  273. package/src/{component/lib.ts → client/adapterUtils.ts} +106 -256
  274. package/src/client/createSchema.ts +149 -0
  275. package/src/client/index.ts +558 -317
  276. package/src/component/_generated/api.d.ts +1711 -547
  277. package/src/component/adapter.ts +13 -0
  278. package/src/component/adapterTest.ts +8 -34
  279. package/src/component/schema.ts +58 -192
  280. package/src/nextjs/index.ts +5 -5
  281. package/src/plugins/convex/client.ts +2 -3
  282. package/src/plugins/convex/index.ts +15 -147
  283. package/src/plugins/cross-domain/index.ts +2 -2
  284. package/src/react-start/index.ts +76 -44
  285. package/dist/commonjs/client/cors.d.ts +0 -77
  286. package/dist/commonjs/client/cors.d.ts.map +0 -1
  287. package/dist/commonjs/client/cors.js +0 -297
  288. package/dist/commonjs/client/cors.js.map +0 -1
  289. package/dist/commonjs/util.d.ts +0 -2
  290. package/dist/commonjs/util.d.ts.map +0 -1
  291. package/dist/commonjs/util.js +0 -8
  292. package/dist/commonjs/util.js.map +0 -1
  293. package/dist/esm/client/cors.d.ts +0 -77
  294. package/dist/esm/client/cors.d.ts.map +0 -1
  295. package/dist/esm/client/cors.js +0 -297
  296. package/dist/esm/client/cors.js.map +0 -1
  297. package/dist/esm/util.d.ts +0 -2
  298. package/dist/esm/util.d.ts.map +0 -1
  299. package/dist/esm/util.js +0 -8
  300. package/dist/esm/util.js.map +0 -1
  301. package/src/component/util.ts +0 -4
@@ -0,0 +1,13 @@
1
+ import { createApi } from "../client";
2
+ import { auth } from "../auth";
3
+ import schema from "./schema";
4
+
5
+ export const {
6
+ create,
7
+ findOne,
8
+ findMany,
9
+ updateOne,
10
+ updateMany,
11
+ deleteOne,
12
+ deleteMany,
13
+ } = createApi(schema, () => auth);
@@ -1,49 +1,23 @@
1
+ import { convexAdapter, GenericCtx } from "../client";
2
+ import { api } from "./_generated/api";
3
+ import { mutation, query } from "./_generated/server";
1
4
  import {
2
- convexAdapter,
3
- AuthFunctions,
4
- BetterAuth,
5
- PublicAuthFunctions,
6
- } from "../client";
7
- import { api, internal } from "./_generated/api";
8
- import { GenericCtx, mutation, query } from "./_generated/server";
9
- import {
5
+ GenericDataModel,
10
6
  GenericMutationCtx,
11
7
  GenericQueryCtx,
12
8
  RegisteredMutation,
13
9
  RegisteredQuery,
14
10
  } from "convex/server";
15
11
 
16
- // @ts-expect-error - this is a test
17
- const authFunctions: AuthFunctions = internal.adapterTest as any;
18
-
19
- const publicAuthFunctions: PublicAuthFunctions = api.adapterTest as any;
20
-
21
- export const betterAuthComponent = new BetterAuth(api as any, {
22
- authFunctions,
23
- publicAuthFunctions,
24
- verbose: false,
25
- }) as any;
26
-
27
- export const createAdapter = (ctx: GenericCtx) =>
28
- convexAdapter(ctx, betterAuthComponent, {
12
+ export const createAdapter = <DataModel extends GenericDataModel>(
13
+ ctx: GenericCtx<DataModel>
14
+ ) =>
15
+ convexAdapter(ctx as any, api as any, {
29
16
  debugLogs: {
30
17
  isRunningAdapterTests: true,
31
18
  },
32
19
  });
33
20
 
34
- export const {
35
- createUser,
36
- deleteUser,
37
- updateUser,
38
- createSession,
39
- isAuthenticated,
40
- } = betterAuthComponent.createAuthFunctions({
41
- onCreateUser: async () => {
42
- // return a random string as a userId
43
- return Math.random().toString(36).substring(2, 15);
44
- },
45
- });
46
-
47
21
  export const deserialize = (data: any) => {
48
22
  const dateStringRegex =
49
23
  /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/;
@@ -1,11 +1,11 @@
1
- // This file is auto-generated from auth.ts by generate-schema.ts. Do not edit this file manually.
1
+ // This file is auto-generated. Do not edit this file manually.
2
2
  // To regenerate the schema, run:
3
- // npx tsx generate-schema.ts
3
+ // `npx @better-auth/cli generate --output src/component/schema.ts -y`
4
4
 
5
5
  import { defineSchema, defineTable } from "convex/server";
6
6
  import { v } from "convex/values";
7
7
 
8
- const schema = defineSchema({
8
+ export const tables = {
9
9
  user: defineTable({
10
10
  name: v.string(),
11
11
  email: v.string(),
@@ -19,20 +19,13 @@ const schema = defineSchema({
19
19
  displayUsername: v.optional(v.union(v.null(), v.string())),
20
20
  phoneNumber: v.optional(v.union(v.null(), v.string())),
21
21
  phoneNumberVerified: v.optional(v.union(v.null(), v.boolean())),
22
- role: v.optional(v.union(v.null(), v.string())),
23
- banned: v.optional(v.union(v.null(), v.boolean())),
24
- banReason: v.optional(v.union(v.null(), v.string())),
25
- banExpires: v.optional(v.union(v.null(), v.number())),
26
- stripeCustomerId: v.optional(v.union(v.null(), v.string())),
27
22
  userId: v.optional(v.union(v.null(), v.string())),
28
- teamId: v.optional(v.union(v.null(), v.string())),
29
23
  })
30
- .index("email_name", ["email","name"])
24
+ .index("email_name", ["email", "name"])
31
25
  .index("name", ["name"])
32
26
  .index("userId", ["userId"])
33
27
  .index("username", ["username"])
34
28
  .index("phoneNumber", ["phoneNumber"]),
35
-
36
29
  session: defineTable({
37
30
  expiresAt: v.number(),
38
31
  token: v.string(),
@@ -41,15 +34,11 @@ const schema = defineSchema({
41
34
  ipAddress: v.optional(v.union(v.null(), v.string())),
42
35
  userAgent: v.optional(v.union(v.null(), v.string())),
43
36
  userId: v.string(),
44
- impersonatedBy: v.optional(v.union(v.null(), v.string())),
45
- activeOrganizationId: v.optional(v.union(v.null(), v.string())),
46
- activeTeamId: v.optional(v.union(v.null(), v.string())),
47
37
  })
48
38
  .index("expiresAt", ["expiresAt"])
49
- .index("expiresAt_userId", ["expiresAt","userId"])
39
+ .index("expiresAt_userId", ["expiresAt", "userId"])
50
40
  .index("token", ["token"])
51
41
  .index("userId", ["userId"]),
52
-
53
42
  account: defineTable({
54
43
  accountId: v.string(),
55
44
  providerId: v.string(),
@@ -65,10 +54,9 @@ const schema = defineSchema({
65
54
  updatedAt: v.number(),
66
55
  })
67
56
  .index("accountId", ["accountId"])
68
- .index("accountId_providerId", ["accountId","providerId"])
69
- .index("providerId_userId", ["providerId","userId"])
57
+ .index("accountId_providerId", ["accountId", "providerId"])
58
+ .index("providerId_userId", ["providerId", "userId"])
70
59
  .index("userId", ["userId"]),
71
-
72
60
  verification: defineTable({
73
61
  identifier: v.string(),
74
62
  value: v.string(),
@@ -78,14 +66,11 @@ const schema = defineSchema({
78
66
  })
79
67
  .index("expiresAt", ["expiresAt"])
80
68
  .index("identifier", ["identifier"]),
81
-
82
69
  twoFactor: defineTable({
83
70
  secret: v.string(),
84
71
  backupCodes: v.string(),
85
72
  userId: v.string(),
86
- })
87
- .index("userId", ["userId"]),
88
-
73
+ }).index("userId", ["userId"]),
89
74
  passkey: defineTable({
90
75
  name: v.optional(v.union(v.null(), v.string())),
91
76
  publicKey: v.string(),
@@ -100,32 +85,6 @@ const schema = defineSchema({
100
85
  })
101
86
  .index("credentialID", ["credentialID"])
102
87
  .index("userId", ["userId"]),
103
-
104
- apikey: defineTable({
105
- name: v.optional(v.union(v.null(), v.string())),
106
- start: v.optional(v.union(v.null(), v.string())),
107
- prefix: v.optional(v.union(v.null(), v.string())),
108
- key: v.string(),
109
- userId: v.string(),
110
- refillInterval: v.optional(v.union(v.null(), v.number())),
111
- refillAmount: v.optional(v.union(v.null(), v.number())),
112
- lastRefillAt: v.optional(v.union(v.null(), v.number())),
113
- enabled: v.optional(v.union(v.null(), v.boolean())),
114
- rateLimitEnabled: v.optional(v.union(v.null(), v.boolean())),
115
- rateLimitTimeWindow: v.optional(v.union(v.null(), v.number())),
116
- rateLimitMax: v.optional(v.union(v.null(), v.number())),
117
- requestCount: v.optional(v.union(v.null(), v.number())),
118
- remaining: v.optional(v.union(v.null(), v.number())),
119
- lastRequest: v.optional(v.union(v.null(), v.number())),
120
- expiresAt: v.optional(v.union(v.null(), v.number())),
121
- createdAt: v.number(),
122
- updatedAt: v.number(),
123
- permissions: v.optional(v.union(v.null(), v.string())),
124
- metadata: v.optional(v.union(v.null(), v.string())),
125
- })
126
- .index("key", ["key"])
127
- .index("userId", ["userId"]),
128
-
129
88
  oauthApplication: defineTable({
130
89
  name: v.optional(v.union(v.null(), v.string())),
131
90
  icon: v.optional(v.union(v.null(), v.string())),
@@ -166,7 +125,7 @@ const schema = defineSchema({
166
125
  updatedAt: v.optional(v.union(v.null(), v.number())),
167
126
  consentGiven: v.optional(v.union(v.null(), v.boolean())),
168
127
  })
169
- .index("clientId_userId", ["clientId","userId"])
128
+ .index("clientId_userId", ["clientId", "userId"])
170
129
  .index("userId", ["userId"]),
171
130
 
172
131
  team: defineTable({
@@ -174,8 +133,7 @@ const schema = defineSchema({
174
133
  organizationId: v.string(),
175
134
  createdAt: v.number(),
176
135
  updatedAt: v.optional(v.union(v.null(), v.number())),
177
- })
178
- .index("organizationId", ["organizationId"]),
136
+ }).index("organizationId", ["organizationId"]),
179
137
 
180
138
  teamMember: defineTable({
181
139
  teamId: v.string(),
@@ -201,7 +159,7 @@ const schema = defineSchema({
201
159
  role: v.string(),
202
160
  createdAt: v.number(),
203
161
  })
204
- .index("organizationId_userId", ["organizationId","userId"])
162
+ .index("organizationId_userId", ["organizationId", "userId"])
205
163
  .index("userId", ["userId"])
206
164
  .index("role", ["role"]),
207
165
 
@@ -214,8 +172,8 @@ const schema = defineSchema({
214
172
  expiresAt: v.number(),
215
173
  inviterId: v.string(),
216
174
  })
217
- .index("email_organizationId_status", ["email","organizationId","status"])
218
- .index("organizationId_status", ["organizationId","status"])
175
+ .index("email_organizationId_status", ["email", "organizationId", "status"])
176
+ .index("organizationId_status", ["organizationId", "status"])
219
177
  .index("role", ["role"])
220
178
  .index("teamId", ["teamId"])
221
179
  .index("status", ["status"])
@@ -264,224 +222,132 @@ const schema = defineSchema({
264
222
  chainId: v.number(),
265
223
  isPrimary: v.optional(v.union(v.null(), v.boolean())),
266
224
  createdAt: v.number(),
267
- })
268
- .index("userId", ["userId"]),
225
+ }).index("userId", ["userId"]),
269
226
 
270
227
  rateLimit: defineTable({
271
228
  key: v.optional(v.union(v.null(), v.string())),
272
229
  count: v.optional(v.union(v.null(), v.number())),
273
230
  lastRequest: v.optional(v.union(v.null(), v.number())),
274
- })
275
- .index("key", ["key"]),
231
+ }).index("key", ["key"]),
232
+ ratelimit: defineTable({
233
+ key: v.string(),
234
+ count: v.number(),
235
+ lastRequest: v.number(),
236
+ }).index("key", ["key"]),
237
+ };
276
238
 
277
- });
239
+ const schema = defineSchema(tables);
278
240
 
279
241
  export default schema;
280
242
 
281
243
  export const specialFields = {
282
244
  user: {
283
245
  name: {
284
- sortable: true
246
+ sortable: true,
285
247
  },
286
248
  email: {
287
249
  sortable: true,
288
- unique: true
250
+ unique: true,
289
251
  },
290
252
  username: {
291
253
  sortable: true,
292
- unique: true
254
+ unique: true,
293
255
  },
294
256
  phoneNumber: {
295
257
  sortable: true,
296
- unique: true
297
- }
258
+ unique: true,
259
+ },
298
260
  },
299
261
  session: {
300
262
  token: {
301
- unique: true
263
+ unique: true,
302
264
  },
303
265
  userId: {
304
266
  references: {
305
267
  model: "user",
306
268
  field: "id",
307
- onDelete: "cascade"
308
- }
309
- }
269
+ onDelete: "cascade",
270
+ },
271
+ },
310
272
  },
311
273
  account: {
312
274
  userId: {
313
275
  references: {
314
276
  model: "user",
315
277
  field: "id",
316
- onDelete: "cascade"
317
- }
318
- }
278
+ onDelete: "cascade",
279
+ },
280
+ },
319
281
  },
320
282
  twoFactor: {
321
283
  userId: {
322
284
  references: {
323
285
  model: "user",
324
- field: "id"
325
- }
326
- }
286
+ field: "id",
287
+ },
288
+ },
327
289
  },
328
290
  passkey: {
329
291
  userId: {
330
292
  references: {
331
293
  model: "user",
332
- field: "id"
333
- }
334
- }
335
- },
336
- apikey: {
337
- userId: {
338
- references: {
339
- model: "user",
340
- field: "id"
341
- }
342
- }
294
+ field: "id",
295
+ },
296
+ },
343
297
  },
344
298
  oauthApplication: {
345
299
  clientId: {
346
- unique: true
300
+ unique: true,
347
301
  },
348
302
  userId: {
349
303
  references: {
350
304
  model: "user",
351
305
  field: "id",
352
- onDelete: "cascade"
353
- }
354
- }
306
+ onDelete: "cascade",
307
+ },
308
+ },
355
309
  },
356
310
  oauthAccessToken: {
357
311
  accessToken: {
358
- unique: true
312
+ unique: true,
359
313
  },
360
314
  refreshToken: {
361
- unique: true
315
+ unique: true,
362
316
  },
363
317
  clientId: {
364
318
  references: {
365
319
  model: "oauthApplication",
366
320
  field: "clientId",
367
- onDelete: "cascade"
368
- }
321
+ onDelete: "cascade",
322
+ },
369
323
  },
370
324
  userId: {
371
325
  references: {
372
326
  model: "user",
373
327
  field: "id",
374
- onDelete: "cascade"
375
- }
376
- }
328
+ onDelete: "cascade",
329
+ },
330
+ },
377
331
  },
378
332
  oauthConsent: {
379
333
  clientId: {
380
334
  references: {
381
335
  model: "oauthApplication",
382
336
  field: "clientId",
383
- onDelete: "cascade"
384
- }
337
+ onDelete: "cascade",
338
+ },
385
339
  },
386
340
  userId: {
387
341
  references: {
388
342
  model: "user",
389
343
  field: "id",
390
- onDelete: "cascade"
391
- }
392
- }
393
- },
394
- team: {
395
- organizationId: {
396
- references: {
397
- model: "organization",
398
- field: "id"
399
- }
400
- }
401
- },
402
- teamMember: {
403
- teamId: {
404
- references: {
405
- model: "team",
406
- field: "id"
407
- }
344
+ onDelete: "cascade",
345
+ },
408
346
  },
409
- userId: {
410
- references: {
411
- model: "user",
412
- field: "id"
413
- }
414
- }
415
347
  },
416
- organization: {
417
- name: {
418
- sortable: true
419
- },
420
- slug: {
421
- sortable: true,
422
- unique: true
423
- }
424
- },
425
- member: {
426
- organizationId: {
427
- references: {
428
- model: "organization",
429
- field: "id"
430
- }
431
- },
432
- userId: {
433
- references: {
434
- model: "user",
435
- field: "id"
436
- }
348
+ ratelimit: {
349
+ key: {
350
+ unique: true,
437
351
  },
438
- role: {
439
- sortable: true
440
- }
441
352
  },
442
- invitation: {
443
- organizationId: {
444
- references: {
445
- model: "organization",
446
- field: "id"
447
- }
448
- },
449
- email: {
450
- sortable: true
451
- },
452
- role: {
453
- sortable: true
454
- },
455
- teamId: {
456
- sortable: true
457
- },
458
- status: {
459
- sortable: true
460
- },
461
- inviterId: {
462
- references: {
463
- model: "user",
464
- field: "id"
465
- }
466
- }
467
- },
468
- ssoProvider: {
469
- userId: {
470
- references: {
471
- model: "user",
472
- field: "id"
473
- }
474
- },
475
- providerId: {
476
- unique: true
477
- }
478
- },
479
- walletAddress: {
480
- userId: {
481
- references: {
482
- model: "user",
483
- field: "id"
484
- }
485
- }
486
- }
487
353
  };
@@ -1,15 +1,15 @@
1
- import { betterAuth } from "better-auth";
2
1
  import { createCookieGetter } from "better-auth/cookies";
3
- import { GenericActionCtx } from "convex/server";
4
2
  import { JWT_COOKIE_NAME } from "../plugins/convex";
3
+ import { betterAuth } from "better-auth";
5
4
 
6
5
  export const getToken = async (
7
- createAuth: (ctx: GenericActionCtx<any>) => ReturnType<typeof betterAuth>
6
+ createAuth: (ctx: any) => ReturnType<typeof betterAuth>
8
7
  ) => {
8
+ const options = createAuth({} as any).options;
9
9
  const { cookies } = await import("next/headers");
10
10
  const cookieStore = await cookies();
11
- const auth = createAuth({} as any);
12
- const createCookie = createCookieGetter(auth.options);
11
+ console.log("options", options);
12
+ const createCookie = createCookieGetter(options);
13
13
  const cookie = createCookie(JWT_COOKIE_NAME);
14
14
  const tokenCookie = cookieStore.get(cookie.name);
15
15
 
@@ -1,10 +1,9 @@
1
1
  import { BetterAuthClientPlugin } from "better-auth/client";
2
2
  import { convex } from ".";
3
- import { BetterAuthOptions } from "better-auth";
4
3
 
5
- export const convexClient = <O extends { options: BetterAuthOptions }>() => {
4
+ export const convexClient = () => {
6
5
  return {
7
6
  id: "convex",
8
- $InferServerPlugin: {} as ReturnType<typeof convex<O["options"]>>,
7
+ $InferServerPlugin: {} as ReturnType<typeof convex>,
9
8
  } satisfies BetterAuthClientPlugin;
10
9
  };