@convex-dev/better-auth 0.9.7 → 0.9.9

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 (251) hide show
  1. package/dist/auth.d.ts.map +1 -0
  2. package/dist/{commonjs/auth.js → auth.js} +2 -2
  3. package/dist/auth.js.map +1 -0
  4. package/dist/client/adapter.d.ts +15 -0
  5. package/dist/client/adapter.d.ts.map +1 -0
  6. package/dist/{esm/client → client}/adapter.js +11 -2
  7. package/dist/client/adapter.js.map +1 -0
  8. package/dist/{commonjs/client → client}/adapterUtils.d.ts +15 -15
  9. package/dist/client/adapterUtils.d.ts.map +1 -0
  10. package/dist/{esm/client → client}/adapterUtils.js +1 -0
  11. package/dist/client/adapterUtils.js.map +1 -0
  12. package/dist/client/createSchema.d.ts.map +1 -0
  13. package/dist/client/createSchema.js.map +1 -0
  14. package/dist/{esm/client → client}/index.d.ts +23 -27
  15. package/dist/client/index.d.ts.map +1 -0
  16. package/dist/{esm/client → client}/index.js +23 -4
  17. package/dist/client/index.js.map +1 -0
  18. package/dist/client/plugins/index.d.ts.map +1 -0
  19. package/dist/client/plugins/index.js.map +1 -0
  20. package/dist/component/_generated/api.d.ts +36 -0
  21. package/dist/component/_generated/api.d.ts.map +1 -0
  22. package/{src → dist}/component/_generated/api.js +11 -3
  23. package/dist/component/_generated/api.js.map +1 -0
  24. package/dist/component/_generated/component.d.ts +794 -0
  25. package/dist/component/_generated/component.d.ts.map +1 -0
  26. package/dist/component/_generated/component.js +11 -0
  27. package/dist/component/_generated/component.js.map +1 -0
  28. package/dist/component/_generated/dataModel.d.ts +46 -0
  29. package/dist/component/_generated/dataModel.d.ts.map +1 -0
  30. package/dist/component/_generated/dataModel.js +11 -0
  31. package/dist/component/_generated/dataModel.js.map +1 -0
  32. package/{src → dist}/component/_generated/server.d.ts +10 -38
  33. package/dist/component/_generated/server.d.ts.map +1 -0
  34. package/dist/{commonjs/component → component}/_generated/server.js +9 -5
  35. package/dist/component/_generated/server.js.map +1 -0
  36. package/dist/{commonjs/component → component}/adapter.d.ts +11 -11
  37. package/dist/component/adapter.d.ts.map +1 -0
  38. package/dist/component/adapter.js.map +1 -0
  39. package/dist/{commonjs/component → component}/adapterTest.d.ts +2 -2
  40. package/dist/component/adapterTest.d.ts.map +1 -0
  41. package/dist/{commonjs/component → component}/adapterTest.js.map +1 -1
  42. package/dist/component/convex.config.d.ts.map +1 -0
  43. package/dist/component/convex.config.js.map +1 -0
  44. package/dist/{commonjs/component → component}/schema.d.ts +6 -28
  45. package/dist/component/schema.d.ts.map +1 -0
  46. package/dist/{esm/component → component}/schema.js +2 -10
  47. package/dist/component/schema.js.map +1 -0
  48. package/dist/{esm/nextjs → nextjs}/index.d.ts +2 -2
  49. package/dist/nextjs/index.d.ts.map +1 -0
  50. package/dist/{esm/nextjs → nextjs}/index.js +2 -1
  51. package/dist/nextjs/index.js.map +1 -0
  52. package/dist/plugins/convex/client.d.ts.map +1 -0
  53. package/dist/{commonjs/plugins → plugins}/convex/client.js +1 -0
  54. package/dist/plugins/convex/client.js.map +1 -0
  55. package/dist/{commonjs/plugins → plugins}/convex/index.d.ts +22 -4
  56. package/dist/plugins/convex/index.d.ts.map +1 -0
  57. package/dist/{esm/plugins → plugins}/convex/index.js +2 -0
  58. package/dist/plugins/convex/index.js.map +1 -0
  59. package/dist/{esm/plugins → plugins}/cross-domain/client.d.ts +3 -3
  60. package/dist/plugins/cross-domain/client.d.ts.map +1 -0
  61. package/dist/{esm/plugins → plugins}/cross-domain/client.js +1 -0
  62. package/dist/plugins/cross-domain/client.js.map +1 -0
  63. package/dist/{commonjs/plugins → plugins}/cross-domain/index.d.ts +22 -5
  64. package/dist/plugins/cross-domain/index.d.ts.map +1 -0
  65. package/dist/{esm/plugins → plugins}/cross-domain/index.js +1 -0
  66. package/dist/plugins/cross-domain/index.js.map +1 -0
  67. package/dist/plugins/index.d.ts.map +1 -0
  68. package/dist/plugins/index.js.map +1 -0
  69. package/dist/{esm/react → react}/index.d.ts +4 -4
  70. package/dist/react/index.d.ts.map +1 -0
  71. package/dist/{commonjs/react → react}/index.js +9 -3
  72. package/dist/react/index.js.map +1 -0
  73. package/dist/{esm/react-start → react-start}/index.d.ts +2 -2
  74. package/dist/react-start/index.d.ts.map +1 -0
  75. package/dist/{esm/react-start → react-start}/index.js +3 -0
  76. package/dist/react-start/index.js.map +1 -0
  77. package/dist/{commonjs/utils → utils}/index.d.ts +2 -2
  78. package/dist/utils/index.d.ts.map +1 -0
  79. package/dist/{commonjs/utils → utils}/index.js +2 -0
  80. package/dist/utils/index.js.map +1 -0
  81. package/package.json +74 -124
  82. package/src/auth.ts +3 -3
  83. package/src/client/adapter.test.ts +5 -5
  84. package/src/client/adapter.ts +33 -25
  85. package/src/client/adapterUtils.ts +14 -14
  86. package/src/client/index.ts +42 -56
  87. package/src/client/plugins/index.ts +2 -2
  88. package/src/component/_generated/api.ts +52 -0
  89. package/src/component/_generated/component.ts +2019 -0
  90. package/src/component/_generated/server.ts +161 -0
  91. package/src/component/adapter.ts +3 -3
  92. package/src/component/adapterTest.ts +4 -4
  93. package/src/component/schema.ts +7 -15
  94. package/src/nextjs/index.ts +5 -4
  95. package/src/plugins/convex/client.ts +2 -2
  96. package/src/plugins/convex/index.ts +2 -1
  97. package/src/plugins/cross-domain/client.ts +4 -4
  98. package/src/plugins/cross-domain/index.ts +1 -2
  99. package/src/plugins/index.ts +2 -2
  100. package/src/react/index.tsx +8 -7
  101. package/src/react-start/index.ts +7 -6
  102. package/src/test.ts +18 -0
  103. package/src/utils/index.ts +5 -5
  104. package/dist/commonjs/auth.d.ts.map +0 -1
  105. package/dist/commonjs/auth.js.map +0 -1
  106. package/dist/commonjs/client/adapter.d.ts +0 -15
  107. package/dist/commonjs/client/adapter.d.ts.map +0 -1
  108. package/dist/commonjs/client/adapter.js +0 -264
  109. package/dist/commonjs/client/adapter.js.map +0 -1
  110. package/dist/commonjs/client/adapterUtils.d.ts.map +0 -1
  111. package/dist/commonjs/client/adapterUtils.js +0 -437
  112. package/dist/commonjs/client/adapterUtils.js.map +0 -1
  113. package/dist/commonjs/client/createSchema.d.ts.map +0 -1
  114. package/dist/commonjs/client/createSchema.js.map +0 -1
  115. package/dist/commonjs/client/index.d.ts +0 -279
  116. package/dist/commonjs/client/index.d.ts.map +0 -1
  117. package/dist/commonjs/client/index.js +0 -462
  118. package/dist/commonjs/client/index.js.map +0 -1
  119. package/dist/commonjs/client/plugins/index.d.ts +0 -3
  120. package/dist/commonjs/client/plugins/index.d.ts.map +0 -1
  121. package/dist/commonjs/client/plugins/index.js +0 -3
  122. package/dist/commonjs/client/plugins/index.js.map +0 -1
  123. package/dist/commonjs/component/_generated/api.d.ts +0 -12
  124. package/dist/commonjs/component/_generated/api.d.ts.map +0 -1
  125. package/dist/commonjs/component/_generated/api.js +0 -22
  126. package/dist/commonjs/component/_generated/api.js.map +0 -1
  127. package/dist/commonjs/component/_generated/server.d.ts +0 -64
  128. package/dist/commonjs/component/_generated/server.d.ts.map +0 -1
  129. package/dist/commonjs/component/_generated/server.js.map +0 -1
  130. package/dist/commonjs/component/adapter.d.ts.map +0 -1
  131. package/dist/commonjs/component/adapter.js +0 -5
  132. package/dist/commonjs/component/adapter.js.map +0 -1
  133. package/dist/commonjs/component/adapterTest.d.ts.map +0 -1
  134. package/dist/commonjs/component/adapterTest.js +0 -68
  135. package/dist/commonjs/component/convex.config.d.ts.map +0 -1
  136. package/dist/commonjs/component/convex.config.js.map +0 -1
  137. package/dist/commonjs/component/schema.d.ts.map +0 -1
  138. package/dist/commonjs/component/schema.js +0 -147
  139. package/dist/commonjs/component/schema.js.map +0 -1
  140. package/dist/commonjs/nextjs/index.d.ts +0 -10
  141. package/dist/commonjs/nextjs/index.d.ts.map +0 -1
  142. package/dist/commonjs/nextjs/index.js +0 -44
  143. package/dist/commonjs/nextjs/index.js.map +0 -1
  144. package/dist/commonjs/package.json +0 -3
  145. package/dist/commonjs/plugins/convex/client.d.ts +0 -6
  146. package/dist/commonjs/plugins/convex/client.d.ts.map +0 -1
  147. package/dist/commonjs/plugins/convex/client.js.map +0 -1
  148. package/dist/commonjs/plugins/convex/index.d.ts.map +0 -1
  149. package/dist/commonjs/plugins/convex/index.js +0 -261
  150. package/dist/commonjs/plugins/convex/index.js.map +0 -1
  151. package/dist/commonjs/plugins/cross-domain/client.d.ts +0 -132
  152. package/dist/commonjs/plugins/cross-domain/client.d.ts.map +0 -1
  153. package/dist/commonjs/plugins/cross-domain/client.js +0 -176
  154. package/dist/commonjs/plugins/cross-domain/client.js.map +0 -1
  155. package/dist/commonjs/plugins/cross-domain/index.d.ts.map +0 -1
  156. package/dist/commonjs/plugins/cross-domain/index.js +0 -165
  157. package/dist/commonjs/plugins/cross-domain/index.js.map +0 -1
  158. package/dist/commonjs/plugins/index.d.ts +0 -3
  159. package/dist/commonjs/plugins/index.d.ts.map +0 -1
  160. package/dist/commonjs/plugins/index.js +0 -3
  161. package/dist/commonjs/plugins/index.js.map +0 -1
  162. package/dist/commonjs/react/index.d.ts +0 -30
  163. package/dist/commonjs/react/index.d.ts.map +0 -1
  164. package/dist/commonjs/react/index.js.map +0 -1
  165. package/dist/commonjs/react-start/index.d.ts +0 -43
  166. package/dist/commonjs/react-start/index.d.ts.map +0 -1
  167. package/dist/commonjs/react-start/index.js +0 -122
  168. package/dist/commonjs/react-start/index.js.map +0 -1
  169. package/dist/commonjs/utils/index.d.ts.map +0 -1
  170. package/dist/commonjs/utils/index.js.map +0 -1
  171. package/dist/esm/auth.d.ts +0 -4
  172. package/dist/esm/auth.d.ts.map +0 -1
  173. package/dist/esm/auth.js +0 -44
  174. package/dist/esm/auth.js.map +0 -1
  175. package/dist/esm/client/adapter.d.ts +0 -15
  176. package/dist/esm/client/adapter.d.ts.map +0 -1
  177. package/dist/esm/client/adapter.js.map +0 -1
  178. package/dist/esm/client/adapterUtils.d.ts +0 -66
  179. package/dist/esm/client/adapterUtils.d.ts.map +0 -1
  180. package/dist/esm/client/adapterUtils.js.map +0 -1
  181. package/dist/esm/client/createSchema.d.ts +0 -19
  182. package/dist/esm/client/createSchema.d.ts.map +0 -1
  183. package/dist/esm/client/createSchema.js +0 -108
  184. package/dist/esm/client/createSchema.js.map +0 -1
  185. package/dist/esm/client/index.d.ts.map +0 -1
  186. package/dist/esm/client/index.js.map +0 -1
  187. package/dist/esm/client/plugins/index.d.ts.map +0 -1
  188. package/dist/esm/client/plugins/index.js.map +0 -1
  189. package/dist/esm/component/_generated/api.d.ts +0 -12
  190. package/dist/esm/component/_generated/api.d.ts.map +0 -1
  191. package/dist/esm/component/_generated/api.js +0 -22
  192. package/dist/esm/component/_generated/api.js.map +0 -1
  193. package/dist/esm/component/_generated/server.d.ts +0 -64
  194. package/dist/esm/component/_generated/server.d.ts.map +0 -1
  195. package/dist/esm/component/_generated/server.js +0 -74
  196. package/dist/esm/component/_generated/server.js.map +0 -1
  197. package/dist/esm/component/adapter.d.ts +0 -130
  198. package/dist/esm/component/adapter.d.ts.map +0 -1
  199. package/dist/esm/component/adapter.js.map +0 -1
  200. package/dist/esm/component/adapterTest.d.ts +0 -17
  201. package/dist/esm/component/adapterTest.d.ts.map +0 -1
  202. package/dist/esm/component/adapterTest.js.map +0 -1
  203. package/dist/esm/component/convex.config.d.ts +0 -3
  204. package/dist/esm/component/convex.config.d.ts.map +0 -1
  205. package/dist/esm/component/convex.config.js +0 -4
  206. package/dist/esm/component/convex.config.js.map +0 -1
  207. package/dist/esm/component/schema.d.ts +0 -496
  208. package/dist/esm/component/schema.d.ts.map +0 -1
  209. package/dist/esm/component/schema.js.map +0 -1
  210. package/dist/esm/nextjs/index.d.ts.map +0 -1
  211. package/dist/esm/nextjs/index.js.map +0 -1
  212. package/dist/esm/package.json +0 -3
  213. package/dist/esm/plugins/convex/client.d.ts.map +0 -1
  214. package/dist/esm/plugins/convex/client.js +0 -7
  215. package/dist/esm/plugins/convex/client.js.map +0 -1
  216. package/dist/esm/plugins/convex/index.d.ts +0 -291
  217. package/dist/esm/plugins/convex/index.d.ts.map +0 -1
  218. package/dist/esm/plugins/convex/index.js.map +0 -1
  219. package/dist/esm/plugins/cross-domain/client.d.ts.map +0 -1
  220. package/dist/esm/plugins/cross-domain/client.js.map +0 -1
  221. package/dist/esm/plugins/cross-domain/index.d.ts +0 -89
  222. package/dist/esm/plugins/cross-domain/index.d.ts.map +0 -1
  223. package/dist/esm/plugins/cross-domain/index.js.map +0 -1
  224. package/dist/esm/plugins/index.d.ts.map +0 -1
  225. package/dist/esm/plugins/index.js.map +0 -1
  226. package/dist/esm/react/index.d.ts.map +0 -1
  227. package/dist/esm/react/index.js +0 -64
  228. package/dist/esm/react/index.js.map +0 -1
  229. package/dist/esm/react-start/index.d.ts.map +0 -1
  230. package/dist/esm/react-start/index.js.map +0 -1
  231. package/dist/esm/utils/index.d.ts +0 -14
  232. package/dist/esm/utils/index.d.ts.map +0 -1
  233. package/dist/esm/utils/index.js +0 -37
  234. package/dist/esm/utils/index.js.map +0 -1
  235. package/plugins/package.json +0 -5
  236. package/react/package.json +0 -5
  237. package/src/component/_generated/api.d.ts +0 -2145
  238. package/src/component/_generated/server.js +0 -90
  239. /package/dist/{commonjs/auth.d.ts → auth.d.ts} +0 -0
  240. /package/dist/{commonjs/client → client}/createSchema.d.ts +0 -0
  241. /package/dist/{commonjs/client → client}/createSchema.js +0 -0
  242. /package/dist/{esm/client → client}/plugins/index.d.ts +0 -0
  243. /package/dist/{esm/client → client}/plugins/index.js +0 -0
  244. /package/dist/{esm/component → component}/adapter.js +0 -0
  245. /package/dist/{esm/component → component}/adapterTest.js +0 -0
  246. /package/dist/{commonjs/component → component}/convex.config.d.ts +0 -0
  247. /package/dist/{commonjs/component → component}/convex.config.js +0 -0
  248. /package/dist/{esm/plugins → plugins}/convex/client.d.ts +0 -0
  249. /package/dist/{esm/plugins → plugins}/index.d.ts +0 -0
  250. /package/dist/{esm/plugins → plugins}/index.js +0 -0
  251. /package/src/component/_generated/{dataModel.d.ts → dataModel.ts} +0 -0
@@ -1,68 +0,0 @@
1
- import { convexAdapter } from "../client";
2
- import { api } from "./_generated/api";
3
- import { mutation, query } from "./_generated/server";
4
- export const createAdapter = (ctx) => convexAdapter(ctx, api, {
5
- debugLogs: {
6
- isRunningAdapterTests: true,
7
- },
8
- });
9
- export const deserialize = (data) => {
10
- const dateStringRegex = /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/;
11
- return Object.fromEntries(Object.entries(data).map(([key, value]) => [
12
- key,
13
- dateStringRegex.test(value) ? new Date(value) : value,
14
- ]));
15
- };
16
- export const serialize = (data) => {
17
- if (!data) {
18
- return data;
19
- }
20
- return Object.fromEntries(Object.entries(data).map(([key, value]) => [
21
- key,
22
- value instanceof Date ? value.toISOString() : value,
23
- ]));
24
- };
25
- export const create = mutation(async (ctx, args) => {
26
- const adapter = createAdapter(ctx);
27
- const result = await adapter({}).create({
28
- ...args,
29
- data: deserialize(args.data),
30
- });
31
- return serialize(result);
32
- });
33
- export const findOne = query(async (ctx, args) => {
34
- const adapter = createAdapter(ctx);
35
- const result = await adapter({}).findOne(args);
36
- return serialize(result);
37
- });
38
- export const findMany = query(async (ctx, args) => {
39
- const adapter = createAdapter(ctx);
40
- const result = await adapter({}).findMany(args);
41
- return result.map(serialize);
42
- });
43
- export const count = query(async (ctx, args) => {
44
- const adapter = createAdapter(ctx);
45
- return adapter({}).count(args);
46
- });
47
- export const update = mutation(async (ctx, args) => {
48
- const adapter = createAdapter(ctx);
49
- const result = await adapter({}).update({
50
- ...args,
51
- update: deserialize(args.update),
52
- });
53
- return serialize(result);
54
- });
55
- export const updateMany = mutation(async (ctx, args) => {
56
- const adapter = createAdapter(ctx);
57
- return adapter({}).updateMany(args);
58
- });
59
- const deleteMutation = mutation(async (ctx, args) => {
60
- const adapter = createAdapter(ctx);
61
- await adapter({}).delete(args);
62
- });
63
- export { deleteMutation as delete };
64
- export const deleteMany = mutation(async (ctx, args) => {
65
- const adapter = createAdapter(ctx);
66
- return adapter({}).deleteMany(args);
67
- });
68
- //# sourceMappingURL=adapterTest.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"convex.config.d.ts","sourceRoot":"","sources":["../../../src/component/convex.config.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,SAAS,kDAAgC,CAAC;AAEhD,eAAe,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"convex.config.js","sourceRoot":"","sources":["../../../src/component/convex.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAEhD,MAAM,SAAS,GAAG,eAAe,CAAC,YAAY,CAAC,CAAC;AAEhD,eAAe,SAAS,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0IlB,CAAC;AAEF,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAAuB,CAAC;AAEpC,eAAe,MAAM,CAAC"}
@@ -1,147 +0,0 @@
1
- // This file is auto-generated. Do not edit this file manually.
2
- // To regenerate the schema, run:
3
- // `npx @better-auth/cli generate --output src/component/schema.ts -y`
4
- import { defineSchema, defineTable } from "convex/server";
5
- import { v } from "convex/values";
6
- export const tables = {
7
- user: defineTable({
8
- name: v.string(),
9
- email: v.string(),
10
- emailVerified: v.boolean(),
11
- image: v.optional(v.union(v.null(), v.string())),
12
- createdAt: v.number(),
13
- updatedAt: v.number(),
14
- twoFactorEnabled: v.optional(v.union(v.null(), v.boolean())),
15
- isAnonymous: v.optional(v.union(v.null(), v.boolean())),
16
- username: v.optional(v.union(v.null(), v.string())),
17
- displayUsername: v.optional(v.union(v.null(), v.string())),
18
- phoneNumber: v.optional(v.union(v.null(), v.string())),
19
- phoneNumberVerified: v.optional(v.union(v.null(), v.boolean())),
20
- userId: v.optional(v.union(v.null(), v.string())),
21
- })
22
- .index("email_name", ["email", "name"])
23
- .index("name", ["name"])
24
- .index("userId", ["userId"])
25
- .index("username", ["username"])
26
- .index("phoneNumber", ["phoneNumber"]),
27
- session: defineTable({
28
- expiresAt: v.number(),
29
- token: v.string(),
30
- createdAt: v.number(),
31
- updatedAt: v.number(),
32
- ipAddress: v.optional(v.union(v.null(), v.string())),
33
- userAgent: v.optional(v.union(v.null(), v.string())),
34
- userId: v.string(),
35
- })
36
- .index("expiresAt", ["expiresAt"])
37
- .index("expiresAt_userId", ["expiresAt", "userId"])
38
- .index("token", ["token"])
39
- .index("userId", ["userId"]),
40
- account: defineTable({
41
- accountId: v.string(),
42
- providerId: v.string(),
43
- userId: v.string(),
44
- accessToken: v.optional(v.union(v.null(), v.string())),
45
- refreshToken: v.optional(v.union(v.null(), v.string())),
46
- idToken: v.optional(v.union(v.null(), v.string())),
47
- accessTokenExpiresAt: v.optional(v.union(v.null(), v.number())),
48
- refreshTokenExpiresAt: v.optional(v.union(v.null(), v.number())),
49
- scope: v.optional(v.union(v.null(), v.string())),
50
- password: v.optional(v.union(v.null(), v.string())),
51
- createdAt: v.number(),
52
- updatedAt: v.number(),
53
- })
54
- .index("accountId", ["accountId"])
55
- .index("accountId_providerId", ["accountId", "providerId"])
56
- .index("providerId_userId", ["providerId", "userId"])
57
- .index("userId", ["userId"]),
58
- verification: defineTable({
59
- identifier: v.string(),
60
- value: v.string(),
61
- expiresAt: v.number(),
62
- createdAt: v.number(),
63
- updatedAt: v.number(),
64
- })
65
- .index("expiresAt", ["expiresAt"])
66
- .index("identifier", ["identifier"]),
67
- twoFactor: defineTable({
68
- secret: v.string(),
69
- backupCodes: v.string(),
70
- userId: v.string(),
71
- })
72
- .index("userId", ["userId"]),
73
- passkey: defineTable({
74
- name: v.optional(v.union(v.null(), v.string())),
75
- publicKey: v.string(),
76
- userId: v.string(),
77
- credentialID: v.string(),
78
- counter: v.number(),
79
- deviceType: v.string(),
80
- backedUp: v.boolean(),
81
- transports: v.optional(v.union(v.null(), v.string())),
82
- createdAt: v.optional(v.union(v.null(), v.number())),
83
- aaguid: v.optional(v.union(v.null(), v.string())),
84
- })
85
- .index("credentialID", ["credentialID"])
86
- .index("userId", ["userId"]),
87
- oauthApplication: defineTable({
88
- name: v.optional(v.union(v.null(), v.string())),
89
- icon: v.optional(v.union(v.null(), v.string())),
90
- metadata: v.optional(v.union(v.null(), v.string())),
91
- clientId: v.optional(v.union(v.null(), v.string())),
92
- clientSecret: v.optional(v.union(v.null(), v.string())),
93
- redirectURLs: v.optional(v.union(v.null(), v.string())),
94
- type: v.optional(v.union(v.null(), v.string())),
95
- disabled: v.optional(v.union(v.null(), v.boolean())),
96
- userId: v.optional(v.union(v.null(), v.string())),
97
- createdAt: v.optional(v.union(v.null(), v.number())),
98
- updatedAt: v.optional(v.union(v.null(), v.number())),
99
- })
100
- .index("clientId", ["clientId"])
101
- .index("userId", ["userId"]),
102
- oauthAccessToken: defineTable({
103
- accessToken: v.optional(v.union(v.null(), v.string())),
104
- refreshToken: v.optional(v.union(v.null(), v.string())),
105
- accessTokenExpiresAt: v.optional(v.union(v.null(), v.number())),
106
- refreshTokenExpiresAt: v.optional(v.union(v.null(), v.number())),
107
- clientId: v.optional(v.union(v.null(), v.string())),
108
- userId: v.optional(v.union(v.null(), v.string())),
109
- scopes: v.optional(v.union(v.null(), v.string())),
110
- createdAt: v.optional(v.union(v.null(), v.number())),
111
- updatedAt: v.optional(v.union(v.null(), v.number())),
112
- })
113
- .index("accessToken", ["accessToken"])
114
- .index("refreshToken", ["refreshToken"])
115
- .index("clientId", ["clientId"])
116
- .index("userId", ["userId"]),
117
- oauthConsent: defineTable({
118
- clientId: v.optional(v.union(v.null(), v.string())),
119
- userId: v.optional(v.union(v.null(), v.string())),
120
- scopes: v.optional(v.union(v.null(), v.string())),
121
- createdAt: v.optional(v.union(v.null(), v.number())),
122
- updatedAt: v.optional(v.union(v.null(), v.number())),
123
- consentGiven: v.optional(v.union(v.null(), v.boolean())),
124
- })
125
- .index("clientId_userId", ["clientId", "userId"])
126
- .index("userId", ["userId"]),
127
- jwks: defineTable({
128
- publicKey: v.string(),
129
- privateKey: v.string(),
130
- createdAt: v.number(),
131
- }),
132
- rateLimit: defineTable({
133
- key: v.optional(v.union(v.null(), v.string())),
134
- count: v.optional(v.union(v.null(), v.number())),
135
- lastRequest: v.optional(v.union(v.null(), v.number())),
136
- })
137
- .index("key", ["key"]),
138
- ratelimit: defineTable({
139
- key: v.string(),
140
- count: v.number(),
141
- lastRequest: v.number(),
142
- })
143
- .index("key", ["key"]),
144
- };
145
- const schema = defineSchema(tables);
146
- export default schema;
147
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../src/component/schema.ts"],"names":[],"mappings":"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"}
@@ -1,10 +0,0 @@
1
- import { CreateAuth } from "../client";
2
- import { GenericDataModel } from "convex/server";
3
- export declare const getToken: <DataModel extends GenericDataModel>(createAuth: CreateAuth<DataModel>) => Promise<string | undefined>;
4
- export declare const nextJsHandler: (opts?: {
5
- convexSiteUrl?: string;
6
- }) => {
7
- GET: (request: Request) => Promise<Response>;
8
- POST: (request: Request) => Promise<Response>;
9
- };
10
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/nextjs/index.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAiB,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AAEjD,eAAO,MAAM,QAAQ,GAAU,SAAS,SAAS,gBAAgB,EAC/D,YAAY,UAAU,CAAC,SAAS,CAAC,gCA8BlC,CAAC;AAeF,eAAO,MAAM,aAAa,GAAI,OAAO;IAAE,aAAa,CAAC,EAAE,MAAM,CAAA;CAAE;mBAC9C,OAAO;oBACN,OAAO;CACvB,CAAC"}
@@ -1,44 +0,0 @@
1
- import { createCookieGetter } from "better-auth/cookies";
2
- import { JWT_COOKIE_NAME } from "../plugins/convex";
3
- import { getStaticAuth } from "../client";
4
- export const getToken = async (createAuth) => {
5
- const options = getStaticAuth(createAuth).options;
6
- const { cookies } = await import("next/headers");
7
- const cookieStore = await cookies();
8
- const createCookie = createCookieGetter(options);
9
- const cookie = createCookie(JWT_COOKIE_NAME);
10
- const tokenCookie = cookieStore.get(cookie.name);
11
- // Warn if there's a secure cookie mismatch between Convex and Next.js
12
- if (!tokenCookie?.value) {
13
- const isSecure = cookie.name.startsWith("__Secure-");
14
- const insecureCookieName = cookie.name.replace("__Secure-", "");
15
- const insecureCookie = cookieStore.get(insecureCookieName);
16
- const secureCookieName = isSecure
17
- ? cookie.name
18
- : `__Secure-${insecureCookieName}`;
19
- const secureCookie = cookieStore.get(secureCookieName);
20
- if (isSecure && insecureCookie) {
21
- console.warn(`Looking for secure cookie ${cookie.name} but found insecure cookie ${insecureCookie.name}`);
22
- }
23
- if (!isSecure && secureCookie) {
24
- console.warn(`Looking for insecure cookie ${cookie.name} but found secure cookie ${secureCookie.name}`);
25
- }
26
- }
27
- return tokenCookie?.value;
28
- };
29
- const handler = (request, opts) => {
30
- const requestUrl = new URL(request.url);
31
- const convexSiteUrl = opts?.convexSiteUrl ?? process.env.NEXT_PUBLIC_CONVEX_SITE_URL;
32
- if (!convexSiteUrl) {
33
- throw new Error("NEXT_PUBLIC_CONVEX_SITE_URL is not set");
34
- }
35
- const nextUrl = `${convexSiteUrl}${requestUrl.pathname}${requestUrl.search}`;
36
- const newRequest = new Request(nextUrl, request);
37
- newRequest.headers.set("accept-encoding", "application/json");
38
- return fetch(newRequest, { method: request.method, redirect: "manual" });
39
- };
40
- export const nextJsHandler = (opts) => ({
41
- GET: (request) => handler(request, opts),
42
- POST: (request) => handler(request, opts),
43
- });
44
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/nextjs/index.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- {
2
- "type": "commonjs"
3
- }
@@ -1,6 +0,0 @@
1
- import { convex } from ".";
2
- export declare const convexClient: () => {
3
- id: "convex";
4
- $InferServerPlugin: ReturnType<typeof convex>;
5
- };
6
- //# sourceMappingURL=client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../../../src/plugins/convex/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,MAAM,GAAG,CAAC;AAE3B,eAAO,MAAM,YAAY;;wBAGK,UAAU,CAAC,OAAO,MAAM,CAAC;CAEtD,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../../../../src/plugins/convex/client.ts"],"names":[],"mappings":"AAGA,MAAM,CAAC,MAAM,YAAY,GAAG,GAAG,EAAE;IAC/B,OAAO;QACL,EAAE,EAAE,QAAQ;QACZ,kBAAkB,EAAE,EAA+B;KACnB,CAAC;AACrC,CAAC,CAAC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/plugins/convex/index.ts"],"names":[],"mappings":"AASA,eAAO,MAAM,eAAe,eAAe,CAAC;AAE5C,eAAO,MAAM,MAAM,GACjB,OAAM;IACJ,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,OAAO,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAC5B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qCAoSmxlF,CAAC;qCAAkD,CAAC;;;;;;;;;iCAA0Q,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CADzlmF,CAAC"}
@@ -1,261 +0,0 @@
1
- import { createAuthMiddleware, sessionMiddleware } from "better-auth/api";
2
- import { createAuthEndpoint, jwt as jwtPlugin, bearer as bearerPlugin, oidcProvider as oidcProviderPlugin, } from "better-auth/plugins";
3
- export const JWT_COOKIE_NAME = "convex_jwt";
4
- export const convex = (opts = {}) => {
5
- const { jwtExpirationSeconds = 60 * 15 } = opts;
6
- const oidcProvider = oidcProviderPlugin({
7
- loginPage: "/not-used",
8
- metadata: {
9
- issuer: `${process.env.CONVEX_SITE_URL}`,
10
- jwks_uri: `${process.env.CONVEX_SITE_URL}${opts.options?.basePath ?? "/api/auth"}/convex/jwks`,
11
- },
12
- });
13
- const jwt = jwtPlugin({
14
- jwt: {
15
- issuer: `${process.env.CONVEX_SITE_URL}`,
16
- audience: "convex",
17
- expirationTime: `${jwtExpirationSeconds}s`,
18
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
19
- definePayload: ({ user: { id, image, ...user }, session }) => ({
20
- ...user,
21
- sessionId: session.id,
22
- iat: Math.floor(new Date().getTime() / 1000),
23
- }),
24
- },
25
- });
26
- // Bearer plugin converts the session token to a cookie
27
- // for cross domain social login after code verification,
28
- // and is required for the headers() helper to work.
29
- const bearer = bearerPlugin();
30
- const schema = {
31
- user: {
32
- fields: { userId: { type: "string", required: false, input: false } },
33
- },
34
- ...jwt.schema,
35
- };
36
- const parseSetCookie = (setCookieHeader) => {
37
- return setCookieHeader
38
- .split(", ")
39
- .map((cookie) => {
40
- const semiIdx = cookie.indexOf(";");
41
- const endIdx = semiIdx === -1 ? cookie.length + 1 : semiIdx;
42
- return cookie.slice(0, endIdx);
43
- })
44
- .join("; ");
45
- };
46
- return {
47
- id: "convex",
48
- init: ({ logger, options }) => {
49
- if (options.plugins?.every((p) => p.id !== "cross-domain") &&
50
- !options.baseURL) {
51
- logger.warn("Better Auth baseURL is undefined. This is probably a mistake.");
52
- }
53
- },
54
- hooks: {
55
- before: [
56
- ...bearer.hooks.before,
57
- // Don't attempt to refresh the session with a query ctx
58
- {
59
- matcher: (ctx) => {
60
- return (!ctx.context.adapter.options?.isRunMutationCtx &&
61
- ctx.path === "/get-session");
62
- },
63
- handler: createAuthMiddleware(async (ctx) => {
64
- ctx.query = { ...ctx.query, disableRefresh: true };
65
- ctx.context.internalAdapter.deleteSession = async (..._args) => {
66
- //skip
67
- };
68
- return { context: ctx };
69
- }),
70
- },
71
- ],
72
- after: [
73
- ...oidcProvider.hooks.after,
74
- {
75
- matcher: (ctx) => {
76
- return (ctx.path.startsWith("/sign-in") ||
77
- ctx.path.startsWith("/sign-up") ||
78
- ctx.path.startsWith("/callback") ||
79
- ctx.path.startsWith("/oauth2/callback") ||
80
- ctx.path.startsWith("/magic-link/verify") ||
81
- ctx.path.startsWith("/email-otp/verify-email") ||
82
- ctx.path.startsWith("/phone-number/verify") ||
83
- ctx.path.startsWith("/siwe/verify"));
84
- },
85
- handler: createAuthMiddleware(async (ctx) => {
86
- // Set jwt cookie at login for ssa using set-cookie header
87
- const setCookie = ctx.context.responseHeaders?.get("set-cookie") ?? "";
88
- if (!setCookie) {
89
- return;
90
- }
91
- try {
92
- const { token } = await jwt.endpoints.getToken({
93
- ...ctx,
94
- method: "GET",
95
- headers: {
96
- cookie: parseSetCookie(setCookie),
97
- },
98
- returnHeaders: false,
99
- });
100
- const jwtCookie = ctx.context.createAuthCookie(JWT_COOKIE_NAME, {
101
- maxAge: jwtExpirationSeconds,
102
- });
103
- ctx.setCookie(jwtCookie.name, token, jwtCookie.attributes);
104
- }
105
- catch (_err) {
106
- // no-op, some sign-in calls (eg., when redirecting to 2fa)
107
- // 401 here
108
- }
109
- }),
110
- },
111
- {
112
- matcher: (ctx) => {
113
- return (ctx.path?.startsWith("/sign-out") ||
114
- ctx.path?.startsWith("/delete-user"));
115
- },
116
- handler: createAuthMiddleware(async (ctx) => {
117
- const jwtCookie = ctx.context.createAuthCookie(JWT_COOKIE_NAME, {
118
- maxAge: 0,
119
- });
120
- ctx.setCookie(jwtCookie.name, "", jwtCookie.attributes);
121
- }),
122
- },
123
- ],
124
- },
125
- endpoints: {
126
- getOpenIdConfig: createAuthEndpoint("/convex/.well-known/openid-configuration", {
127
- method: "GET",
128
- metadata: {
129
- isAction: false,
130
- },
131
- }, async (ctx) => {
132
- const response = await oidcProvider.endpoints.getOpenIdConfig({
133
- ...ctx,
134
- returnHeaders: false,
135
- });
136
- return response;
137
- }),
138
- getJwks: createAuthEndpoint("/convex/jwks", {
139
- method: "GET",
140
- metadata: {
141
- openapi: {
142
- description: "Get the JSON Web Key Set",
143
- responses: {
144
- "200": {
145
- description: "JSON Web Key Set retrieved successfully",
146
- content: {
147
- "application/json": {
148
- schema: {
149
- type: "object",
150
- properties: {
151
- keys: {
152
- type: "array",
153
- description: "Array of public JSON Web Keys",
154
- items: {
155
- type: "object",
156
- properties: {
157
- kid: {
158
- type: "string",
159
- description: "Key ID uniquely identifying the key, corresponds to the 'id' from the stored Jwk",
160
- },
161
- kty: {
162
- type: "string",
163
- description: "Key type (e.g., 'RSA', 'EC', 'OKP')",
164
- },
165
- alg: {
166
- type: "string",
167
- description: "Algorithm intended for use with the key (e.g., 'EdDSA', 'RS256')",
168
- },
169
- use: {
170
- type: "string",
171
- description: "Intended use of the public key (e.g., 'sig' for signature)",
172
- enum: ["sig"],
173
- nullable: true,
174
- },
175
- n: {
176
- type: "string",
177
- description: "Modulus for RSA keys (base64url-encoded)",
178
- nullable: true,
179
- },
180
- e: {
181
- type: "string",
182
- description: "Exponent for RSA keys (base64url-encoded)",
183
- nullable: true,
184
- },
185
- crv: {
186
- type: "string",
187
- description: "Curve name for elliptic curve keys (e.g., 'Ed25519', 'P-256')",
188
- nullable: true,
189
- },
190
- x: {
191
- type: "string",
192
- description: "X coordinate for elliptic curve keys (base64url-encoded)",
193
- nullable: true,
194
- },
195
- y: {
196
- type: "string",
197
- description: "Y coordinate for elliptic curve keys (base64url-encoded)",
198
- nullable: true,
199
- },
200
- },
201
- required: ["kid", "kty", "alg"],
202
- },
203
- },
204
- },
205
- required: ["keys"],
206
- },
207
- },
208
- },
209
- },
210
- },
211
- },
212
- },
213
- }, async (ctx) => {
214
- const response = await jwt.endpoints.getJwks({
215
- ...ctx,
216
- returnHeaders: false,
217
- });
218
- return response;
219
- }),
220
- getToken: createAuthEndpoint("/convex/token", {
221
- method: "GET",
222
- requireHeaders: true,
223
- use: [sessionMiddleware],
224
- metadata: {
225
- openapi: {
226
- description: "Get a JWT token",
227
- responses: {
228
- 200: {
229
- description: "Success",
230
- content: {
231
- "application/json": {
232
- schema: {
233
- type: "object",
234
- properties: {
235
- token: {
236
- type: "string",
237
- },
238
- },
239
- },
240
- },
241
- },
242
- },
243
- },
244
- },
245
- },
246
- }, async (ctx) => {
247
- const response = await jwt.endpoints.getToken({
248
- ...ctx,
249
- returnHeaders: false,
250
- });
251
- const jwtCookie = ctx.context.createAuthCookie(JWT_COOKIE_NAME, {
252
- maxAge: jwtExpirationSeconds,
253
- });
254
- ctx.setCookie(jwtCookie.name, response.token, jwtCookie.attributes);
255
- return response;
256
- }),
257
- },
258
- schema,
259
- };
260
- };
261
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/plugins/convex/index.ts"],"names":[],"mappings":"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"}