@convex-dev/better-auth 0.8.6 → 0.8.7

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 (228) hide show
  1. package/dist/commonjs/client/adapterUtils.js +1 -1
  2. package/dist/commonjs/client/adapterUtils.js.map +1 -1
  3. package/dist/commonjs/client/index.d.ts.map +1 -1
  4. package/dist/commonjs/client/index.js +2 -2
  5. package/dist/commonjs/client/index.js.map +1 -1
  6. package/dist/commonjs/plugins/cross-domain/index.d.ts +4 -3
  7. package/dist/commonjs/plugins/cross-domain/index.d.ts.map +1 -1
  8. package/dist/commonjs/plugins/cross-domain/index.js +20 -13
  9. package/dist/commonjs/plugins/cross-domain/index.js.map +1 -1
  10. package/dist/commonjs/react/index.d.ts +28 -7
  11. package/dist/commonjs/react/index.d.ts.map +1 -1
  12. package/dist/commonjs/react/index.js +59 -11
  13. package/dist/commonjs/react/index.js.map +1 -1
  14. package/dist/commonjs/{src/react/index.d.ts → react/old-index.d.ts} +1 -1
  15. package/dist/commonjs/react/old-index.d.ts.map +1 -0
  16. package/dist/commonjs/{src/react/index.js → react/old-index.js} +1 -1
  17. package/dist/commonjs/react/old-index.js.map +1 -0
  18. package/dist/esm/client/adapterUtils.js +1 -1
  19. package/dist/esm/client/adapterUtils.js.map +1 -1
  20. package/dist/esm/client/index.d.ts.map +1 -1
  21. package/dist/esm/client/index.js +2 -2
  22. package/dist/esm/client/index.js.map +1 -1
  23. package/dist/esm/plugins/cross-domain/index.d.ts +4 -3
  24. package/dist/esm/plugins/cross-domain/index.d.ts.map +1 -1
  25. package/dist/esm/plugins/cross-domain/index.js +20 -13
  26. package/dist/esm/plugins/cross-domain/index.js.map +1 -1
  27. package/dist/esm/react/index.d.ts +28 -7
  28. package/dist/esm/react/index.d.ts.map +1 -1
  29. package/dist/esm/react/index.js +59 -11
  30. package/dist/esm/react/index.js.map +1 -1
  31. package/dist/esm/{src/react/index.d.ts → react/old-index.d.ts} +1 -1
  32. package/dist/esm/react/old-index.d.ts.map +1 -0
  33. package/dist/esm/{src/react/index.js → react/old-index.js} +1 -1
  34. package/dist/esm/react/old-index.js.map +1 -0
  35. package/package.json +1 -1
  36. package/src/client/adapterUtils.ts +1 -1
  37. package/src/client/index.ts +2 -2
  38. package/src/plugins/cross-domain/index.ts +33 -20
  39. package/src/react/index.tsx +110 -28
  40. package/dist/commonjs/client/createSchemaInternal.d.ts +0 -24
  41. package/dist/commonjs/client/createSchemaInternal.d.ts.map +0 -1
  42. package/dist/commonjs/client/createSchemaInternal.js +0 -105
  43. package/dist/commonjs/client/createSchemaInternal.js.map +0 -1
  44. package/dist/commonjs/component/lib.d.ts +0 -432
  45. package/dist/commonjs/component/lib.d.ts.map +0 -1
  46. package/dist/commonjs/component/lib.js +0 -570
  47. package/dist/commonjs/component/lib.js.map +0 -1
  48. package/dist/commonjs/component/util.d.ts +0 -1406
  49. package/dist/commonjs/component/util.d.ts.map +0 -1
  50. package/dist/commonjs/component/util.js +0 -4
  51. package/dist/commonjs/component/util.js.map +0 -1
  52. package/dist/commonjs/src/auth.d.ts +0 -3085
  53. package/dist/commonjs/src/auth.d.ts.map +0 -1
  54. package/dist/commonjs/src/auth.js +0 -72
  55. package/dist/commonjs/src/auth.js.map +0 -1
  56. package/dist/commonjs/src/client/adapter.d.ts +0 -18
  57. package/dist/commonjs/src/client/adapter.d.ts.map +0 -1
  58. package/dist/commonjs/src/client/adapter.js +0 -211
  59. package/dist/commonjs/src/client/adapter.js.map +0 -1
  60. package/dist/commonjs/src/client/createSchema.d.ts +0 -25
  61. package/dist/commonjs/src/client/createSchema.d.ts.map +0 -1
  62. package/dist/commonjs/src/client/createSchema.js +0 -103
  63. package/dist/commonjs/src/client/createSchema.js.map +0 -1
  64. package/dist/commonjs/src/client/index.d.ts +0 -3310
  65. package/dist/commonjs/src/client/index.d.ts.map +0 -1
  66. package/dist/commonjs/src/client/index.js +0 -377
  67. package/dist/commonjs/src/client/index.js.map +0 -1
  68. package/dist/commonjs/src/client/plugins/index.d.ts +0 -3
  69. package/dist/commonjs/src/client/plugins/index.d.ts.map +0 -1
  70. package/dist/commonjs/src/client/plugins/index.js +0 -3
  71. package/dist/commonjs/src/client/plugins/index.js.map +0 -1
  72. package/dist/commonjs/src/component/_generated/api.d.ts +0 -12
  73. package/dist/commonjs/src/component/_generated/api.d.ts.map +0 -1
  74. package/dist/commonjs/src/component/_generated/api.js +0 -22
  75. package/dist/commonjs/src/component/_generated/api.js.map +0 -1
  76. package/dist/commonjs/src/component/_generated/server.d.ts +0 -64
  77. package/dist/commonjs/src/component/_generated/server.d.ts.map +0 -1
  78. package/dist/commonjs/src/component/_generated/server.js +0 -74
  79. package/dist/commonjs/src/component/_generated/server.js.map +0 -1
  80. package/dist/commonjs/src/component/adapter.d.ts +0 -355
  81. package/dist/commonjs/src/component/adapter.d.ts.map +0 -1
  82. package/dist/commonjs/src/component/adapter.js +0 -573
  83. package/dist/commonjs/src/component/adapter.js.map +0 -1
  84. package/dist/commonjs/src/component/adapterTest.d.ts +0 -18
  85. package/dist/commonjs/src/component/adapterTest.d.ts.map +0 -1
  86. package/dist/commonjs/src/component/adapterTest.js +0 -75
  87. package/dist/commonjs/src/component/adapterTest.js.map +0 -1
  88. package/dist/commonjs/src/component/convex.config.d.ts +0 -3
  89. package/dist/commonjs/src/component/convex.config.d.ts.map +0 -1
  90. package/dist/commonjs/src/component/convex.config.js +0 -4
  91. package/dist/commonjs/src/component/convex.config.js.map +0 -1
  92. package/dist/commonjs/src/component/schema.d.ts +0 -562
  93. package/dist/commonjs/src/component/schema.d.ts.map +0 -1
  94. package/dist/commonjs/src/component/schema.js +0 -217
  95. package/dist/commonjs/src/component/schema.js.map +0 -1
  96. package/dist/commonjs/src/nextjs/index.d.ts +0 -10
  97. package/dist/commonjs/src/nextjs/index.d.ts.map +0 -1
  98. package/dist/commonjs/src/nextjs/index.js +0 -43
  99. package/dist/commonjs/src/nextjs/index.js.map +0 -1
  100. package/dist/commonjs/src/plugins/convex/client.d.ts +0 -9
  101. package/dist/commonjs/src/plugins/convex/client.d.ts.map +0 -1
  102. package/dist/commonjs/src/plugins/convex/client.js +0 -7
  103. package/dist/commonjs/src/plugins/convex/client.js.map +0 -1
  104. package/dist/commonjs/src/plugins/convex/index.d.ts +0 -415
  105. package/dist/commonjs/src/plugins/convex/index.d.ts.map +0 -1
  106. package/dist/commonjs/src/plugins/convex/index.js +0 -354
  107. package/dist/commonjs/src/plugins/convex/index.js.map +0 -1
  108. package/dist/commonjs/src/plugins/cross-domain/client.d.ts +0 -132
  109. package/dist/commonjs/src/plugins/cross-domain/client.d.ts.map +0 -1
  110. package/dist/commonjs/src/plugins/cross-domain/client.js +0 -176
  111. package/dist/commonjs/src/plugins/cross-domain/client.js.map +0 -1
  112. package/dist/commonjs/src/plugins/cross-domain/index.d.ts +0 -83
  113. package/dist/commonjs/src/plugins/cross-domain/index.d.ts.map +0 -1
  114. package/dist/commonjs/src/plugins/cross-domain/index.js +0 -153
  115. package/dist/commonjs/src/plugins/cross-domain/index.js.map +0 -1
  116. package/dist/commonjs/src/plugins/index.d.ts +0 -3
  117. package/dist/commonjs/src/plugins/index.d.ts.map +0 -1
  118. package/dist/commonjs/src/plugins/index.js +0 -3
  119. package/dist/commonjs/src/plugins/index.js.map +0 -1
  120. package/dist/commonjs/src/react/client.d.ts +0 -31
  121. package/dist/commonjs/src/react/client.d.ts.map +0 -1
  122. package/dist/commonjs/src/react/client.js +0 -96
  123. package/dist/commonjs/src/react/client.js.map +0 -1
  124. package/dist/commonjs/src/react/index.d.ts.map +0 -1
  125. package/dist/commonjs/src/react/index.js.map +0 -1
  126. package/dist/commonjs/src/react-start/index.d.ts +0 -45
  127. package/dist/commonjs/src/react-start/index.d.ts.map +0 -1
  128. package/dist/commonjs/src/react-start/index.js +0 -60
  129. package/dist/commonjs/src/react-start/index.js.map +0 -1
  130. package/dist/commonjs/src/utils/index.d.ts +0 -9
  131. package/dist/commonjs/src/utils/index.d.ts.map +0 -1
  132. package/dist/commonjs/src/utils/index.js +0 -35
  133. package/dist/commonjs/src/utils/index.js.map +0 -1
  134. package/dist/esm/client/createSchemaInternal.d.ts +0 -24
  135. package/dist/esm/client/createSchemaInternal.d.ts.map +0 -1
  136. package/dist/esm/client/createSchemaInternal.js +0 -105
  137. package/dist/esm/client/createSchemaInternal.js.map +0 -1
  138. package/dist/esm/component/lib.d.ts +0 -432
  139. package/dist/esm/component/lib.d.ts.map +0 -1
  140. package/dist/esm/component/lib.js +0 -570
  141. package/dist/esm/component/lib.js.map +0 -1
  142. package/dist/esm/component/util.d.ts +0 -1406
  143. package/dist/esm/component/util.d.ts.map +0 -1
  144. package/dist/esm/component/util.js +0 -4
  145. package/dist/esm/component/util.js.map +0 -1
  146. package/dist/esm/src/auth.d.ts +0 -3085
  147. package/dist/esm/src/auth.d.ts.map +0 -1
  148. package/dist/esm/src/auth.js +0 -72
  149. package/dist/esm/src/auth.js.map +0 -1
  150. package/dist/esm/src/client/adapter.d.ts +0 -18
  151. package/dist/esm/src/client/adapter.d.ts.map +0 -1
  152. package/dist/esm/src/client/adapter.js +0 -211
  153. package/dist/esm/src/client/adapter.js.map +0 -1
  154. package/dist/esm/src/client/createSchema.d.ts +0 -25
  155. package/dist/esm/src/client/createSchema.d.ts.map +0 -1
  156. package/dist/esm/src/client/createSchema.js +0 -103
  157. package/dist/esm/src/client/createSchema.js.map +0 -1
  158. package/dist/esm/src/client/index.d.ts +0 -3310
  159. package/dist/esm/src/client/index.d.ts.map +0 -1
  160. package/dist/esm/src/client/index.js +0 -377
  161. package/dist/esm/src/client/index.js.map +0 -1
  162. package/dist/esm/src/client/plugins/index.d.ts +0 -3
  163. package/dist/esm/src/client/plugins/index.d.ts.map +0 -1
  164. package/dist/esm/src/client/plugins/index.js +0 -3
  165. package/dist/esm/src/client/plugins/index.js.map +0 -1
  166. package/dist/esm/src/component/_generated/api.d.ts +0 -12
  167. package/dist/esm/src/component/_generated/api.d.ts.map +0 -1
  168. package/dist/esm/src/component/_generated/api.js +0 -22
  169. package/dist/esm/src/component/_generated/api.js.map +0 -1
  170. package/dist/esm/src/component/_generated/server.d.ts +0 -64
  171. package/dist/esm/src/component/_generated/server.d.ts.map +0 -1
  172. package/dist/esm/src/component/_generated/server.js +0 -74
  173. package/dist/esm/src/component/_generated/server.js.map +0 -1
  174. package/dist/esm/src/component/adapter.d.ts +0 -355
  175. package/dist/esm/src/component/adapter.d.ts.map +0 -1
  176. package/dist/esm/src/component/adapter.js +0 -573
  177. package/dist/esm/src/component/adapter.js.map +0 -1
  178. package/dist/esm/src/component/adapterTest.d.ts +0 -18
  179. package/dist/esm/src/component/adapterTest.d.ts.map +0 -1
  180. package/dist/esm/src/component/adapterTest.js +0 -75
  181. package/dist/esm/src/component/adapterTest.js.map +0 -1
  182. package/dist/esm/src/component/convex.config.d.ts +0 -3
  183. package/dist/esm/src/component/convex.config.d.ts.map +0 -1
  184. package/dist/esm/src/component/convex.config.js +0 -4
  185. package/dist/esm/src/component/convex.config.js.map +0 -1
  186. package/dist/esm/src/component/schema.d.ts +0 -562
  187. package/dist/esm/src/component/schema.d.ts.map +0 -1
  188. package/dist/esm/src/component/schema.js +0 -217
  189. package/dist/esm/src/component/schema.js.map +0 -1
  190. package/dist/esm/src/nextjs/index.d.ts +0 -10
  191. package/dist/esm/src/nextjs/index.d.ts.map +0 -1
  192. package/dist/esm/src/nextjs/index.js +0 -43
  193. package/dist/esm/src/nextjs/index.js.map +0 -1
  194. package/dist/esm/src/plugins/convex/client.d.ts +0 -9
  195. package/dist/esm/src/plugins/convex/client.d.ts.map +0 -1
  196. package/dist/esm/src/plugins/convex/client.js +0 -7
  197. package/dist/esm/src/plugins/convex/client.js.map +0 -1
  198. package/dist/esm/src/plugins/convex/index.d.ts +0 -415
  199. package/dist/esm/src/plugins/convex/index.d.ts.map +0 -1
  200. package/dist/esm/src/plugins/convex/index.js +0 -354
  201. package/dist/esm/src/plugins/convex/index.js.map +0 -1
  202. package/dist/esm/src/plugins/cross-domain/client.d.ts +0 -132
  203. package/dist/esm/src/plugins/cross-domain/client.d.ts.map +0 -1
  204. package/dist/esm/src/plugins/cross-domain/client.js +0 -176
  205. package/dist/esm/src/plugins/cross-domain/client.js.map +0 -1
  206. package/dist/esm/src/plugins/cross-domain/index.d.ts +0 -83
  207. package/dist/esm/src/plugins/cross-domain/index.d.ts.map +0 -1
  208. package/dist/esm/src/plugins/cross-domain/index.js +0 -153
  209. package/dist/esm/src/plugins/cross-domain/index.js.map +0 -1
  210. package/dist/esm/src/plugins/index.d.ts +0 -3
  211. package/dist/esm/src/plugins/index.d.ts.map +0 -1
  212. package/dist/esm/src/plugins/index.js +0 -3
  213. package/dist/esm/src/plugins/index.js.map +0 -1
  214. package/dist/esm/src/react/client.d.ts +0 -31
  215. package/dist/esm/src/react/client.d.ts.map +0 -1
  216. package/dist/esm/src/react/client.js +0 -96
  217. package/dist/esm/src/react/client.js.map +0 -1
  218. package/dist/esm/src/react/index.d.ts.map +0 -1
  219. package/dist/esm/src/react/index.js.map +0 -1
  220. package/dist/esm/src/react-start/index.d.ts +0 -45
  221. package/dist/esm/src/react-start/index.d.ts.map +0 -1
  222. package/dist/esm/src/react-start/index.js +0 -60
  223. package/dist/esm/src/react-start/index.js.map +0 -1
  224. package/dist/esm/src/utils/index.d.ts +0 -9
  225. package/dist/esm/src/utils/index.d.ts.map +0 -1
  226. package/dist/esm/src/utils/index.js +0 -35
  227. package/dist/esm/src/utils/index.js.map +0 -1
  228. package/src/react/client.tsx +0 -178
@@ -1,60 +0,0 @@
1
- import { createCookieGetter } from "better-auth/cookies";
2
- import { betterFetch } from "@better-fetch/fetch";
3
- import { JWT_COOKIE_NAME } from "../plugins/convex/index.js";
4
- import { oneLine } from "common-tags";
5
- import { getInactiveAuthInstance } from "../client/index.js";
6
- export const getCookieName = async (createAuth) => {
7
- const auth = getInactiveAuthInstance(createAuth);
8
- const createCookie = createCookieGetter(auth.options);
9
- const cookie = createCookie(JWT_COOKIE_NAME);
10
- return cookie.name;
11
- };
12
- const requireConvexSiteUrl = (opts, calledFrom) => {
13
- if (!opts.convexSiteUrl) {
14
- throw new Error(`${calledFrom}: opts.convexSiteUrl is required`);
15
- }
16
- if (opts.verbose) {
17
- console.log(`${calledFrom}: opts.convexSiteUrl: ${opts.convexSiteUrl}`);
18
- }
19
- return opts.convexSiteUrl;
20
- };
21
- export const fetchSession = async (request, opts) => {
22
- if (!request) {
23
- throw new Error("No request found");
24
- }
25
- const convexSiteUrl = requireConvexSiteUrl(opts, "fetchSession");
26
- const { data: session } = await betterFetch("/api/auth/get-session", {
27
- baseURL: convexSiteUrl,
28
- headers: {
29
- cookie: request.headers.get("cookie") ?? "",
30
- },
31
- });
32
- return {
33
- session,
34
- };
35
- };
36
- export const reactStartHandler = (request, opts) => {
37
- const requestUrl = new URL(request.url);
38
- const convexSiteUrl = requireConvexSiteUrl(opts, "reactStartHandler");
39
- const nextUrl = `${convexSiteUrl}${requestUrl.pathname}${requestUrl.search}`;
40
- request.headers.set("accept-encoding", "application/json");
41
- return fetch(nextUrl, new Request(request, { redirect: "manual" }));
42
- };
43
- export const reactStartHelpers = (createAuth, opts) => {
44
- if (!opts.convexSiteUrl) {
45
- throw new Error("opts.convexSiteUrl is required");
46
- }
47
- if (opts.convexSiteUrl.endsWith(".convex.cloud")) {
48
- throw new Error(oneLine(`
49
- opts.convexSiteUrl ends with .convex.cloud, which is your cloud URL.
50
- Use your Convex site URL instead.
51
- https://docs.convex.dev/production/environment-variables#system-environment-variables
52
- `));
53
- }
54
- return {
55
- fetchSession: (request) => fetchSession(request, opts),
56
- reactStartHandler: (request) => reactStartHandler(request, opts),
57
- getCookieName: () => getCookieName(createAuth),
58
- };
59
- };
60
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/react-start/index.ts"],"names":[],"mappings":"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"}
@@ -1,9 +0,0 @@
1
- import { RunActionCtx, RunCtx, RunMutationCtx, RunQueryCtx } from "../client/index.js";
2
- export declare const requireEnv: (name: string) => string;
3
- export declare const isQueryCtx: (ctx: RunCtx) => ctx is RunQueryCtx;
4
- export declare const isMutationCtx: (ctx: RunCtx) => ctx is RunMutationCtx;
5
- export declare const isActionCtx: (ctx: RunCtx) => ctx is RunActionCtx;
6
- export declare const requireQueryCtx: (ctx: RunCtx) => RunQueryCtx;
7
- export declare const requireMutationCtx: (ctx: RunCtx) => RunMutationCtx;
8
- export declare const requireActionCtx: (ctx: RunCtx) => RunActionCtx;
9
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAE9E,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,WAMtC,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,KAAG,GAAG,IAAI,WAE/C,CAAC;AAEF,eAAO,MAAM,aAAa,GAAI,KAAK,MAAM,KAAG,GAAG,IAAI,cAElD,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,KAAK,MAAM,KAAG,GAAG,IAAI,YAEhD,CAAC;AAEF,eAAO,MAAM,eAAe,GAAI,KAAK,MAAM,KAAG,WAK7C,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAAI,KAAK,MAAM,KAAG,cAKhD,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,KAAK,MAAM,KAAG,YAK9C,CAAC"}
@@ -1,35 +0,0 @@
1
- export const requireEnv = (name) => {
2
- const value = process.env[name];
3
- if (value === undefined) {
4
- throw new Error(`Missing environment variable \`${name}\``);
5
- }
6
- return value;
7
- };
8
- export const isQueryCtx = (ctx) => {
9
- return "runQuery" in ctx;
10
- };
11
- export const isMutationCtx = (ctx) => {
12
- return "runMutation" in ctx;
13
- };
14
- export const isActionCtx = (ctx) => {
15
- return "runAction" in ctx;
16
- };
17
- export const requireQueryCtx = (ctx) => {
18
- if (!isQueryCtx(ctx)) {
19
- throw new Error("Query context required");
20
- }
21
- return ctx;
22
- };
23
- export const requireMutationCtx = (ctx) => {
24
- if (!isMutationCtx(ctx)) {
25
- throw new Error("Mutation context required");
26
- }
27
- return ctx;
28
- };
29
- export const requireActionCtx = (ctx) => {
30
- if (!isActionCtx(ctx)) {
31
- throw new Error("Action context required");
32
- }
33
- return ctx;
34
- };
35
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../src/utils/index.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,IAAY,EAAE,EAAE;IACzC,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAChC,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,kCAAkC,IAAI,IAAI,CAAC,CAAC;IAC9D,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAW,EAAsB,EAAE;IAC5D,OAAO,UAAU,IAAI,GAAG,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,GAAW,EAAyB,EAAE;IAClE,OAAO,aAAa,IAAI,GAAG,CAAC;AAC9B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAW,EAAuB,EAAE;IAC9D,OAAO,WAAW,IAAI,GAAG,CAAC;AAC5B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,GAAW,EAAe,EAAE;IAC1D,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAC5C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,GAAW,EAAkB,EAAE;IAChE,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;IAC/C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,GAAW,EAAgB,EAAE;IAC5D,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC7C,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC,CAAC"}
@@ -1,178 +0,0 @@
1
- import { ConvexReactClient } from "convex/react";
2
- import isNetworkError from "is-network-error";
3
- import {
4
- createContext,
5
- ReactNode,
6
- useCallback,
7
- useContext,
8
- useEffect,
9
- useMemo,
10
- } from "react";
11
- import { createAuthClient } from "better-auth/react";
12
- import { convexClient, crossDomainClient } from "../client/plugins";
13
- import { BetterAuthClientPlugin, ClientOptions } from "better-auth";
14
-
15
- const ConvexAuthInternalContext = createContext<{
16
- isLoading: boolean;
17
- isAuthenticated: boolean;
18
- fetchAccessToken: ({
19
- forceRefreshToken,
20
- }: {
21
- forceRefreshToken: boolean;
22
- }) => Promise<string | null>;
23
- }>(undefined as any);
24
-
25
- export function useAuth() {
26
- return useContext(ConvexAuthInternalContext);
27
- }
28
-
29
- export type ConvexAuthClient = {
30
- verbose?: boolean;
31
- logger?: ConvexReactClient["logger"];
32
- };
33
-
34
- type CrossDomainClient = ReturnType<typeof crossDomainClient>;
35
- type ConvexClient = ReturnType<typeof convexClient>;
36
- type PluginsWithCrossDomain = (
37
- | CrossDomainClient
38
- | ConvexClient
39
- | BetterAuthClientPlugin
40
- )[];
41
- type PluginsWithoutCrossDomain = (ConvexClient | BetterAuthClientPlugin)[];
42
- type AuthClientWithPlugins<
43
- Plugins extends PluginsWithCrossDomain | PluginsWithoutCrossDomain,
44
- > = ReturnType<
45
- typeof createAuthClient<
46
- ClientOptions & {
47
- plugins: Plugins;
48
- }
49
- >
50
- >;
51
- export type AuthClient =
52
- | AuthClientWithPlugins<PluginsWithCrossDomain>
53
- | AuthClientWithPlugins<PluginsWithoutCrossDomain>;
54
-
55
- export function AuthProvider({
56
- client,
57
- authClient,
58
- children,
59
- }: {
60
- client: ConvexAuthClient;
61
- authClient: AuthClient;
62
- children: ReactNode;
63
- }) {
64
- const { data: session, isPending: isSessionPending } =
65
- authClient.useSession();
66
-
67
- const verbose: boolean = client.verbose ?? false;
68
- const logVerbose = useCallback(
69
- (message: string) => {
70
- if (verbose) {
71
- console.debug(`${new Date().toISOString()} ${message}`);
72
- client.logger?.logVerbose(message);
73
- }
74
- },
75
- [verbose]
76
- );
77
-
78
- const fetchToken = useCallback(async () => {
79
- const initialBackoff = 100;
80
- const maxBackoff = 1000;
81
- let retries = 0;
82
-
83
- const nextBackoff = () => {
84
- const baseBackoff = initialBackoff * Math.pow(2, retries);
85
- retries += 1;
86
- const actualBackoff = Math.min(baseBackoff, maxBackoff);
87
- const jitter = actualBackoff * (Math.random() - 0.5);
88
- return actualBackoff + jitter;
89
- };
90
-
91
- const fetchWithRetry = async () => {
92
- try {
93
- const { data } = await authClient.convex.token();
94
- return data?.token || null;
95
- } catch (e) {
96
- if (!isNetworkError(e)) {
97
- throw e;
98
- }
99
- if (retries > 10) {
100
- logVerbose(`fetchToken failed with network error, giving up`);
101
- throw e;
102
- }
103
- const backoff = nextBackoff();
104
- logVerbose(
105
- `fetchToken failed with network error, attempting retrying in ${backoff}ms`
106
- );
107
- await new Promise((resolve) => setTimeout(resolve, backoff));
108
- return fetchWithRetry();
109
- }
110
- };
111
-
112
- return fetchWithRetry();
113
- }, [client]);
114
-
115
- const fetchAccessToken = useCallback(
116
- async ({ forceRefreshToken }: { forceRefreshToken: boolean }) => {
117
- if (forceRefreshToken) {
118
- const token = await fetchToken();
119
- logVerbose(`returning retrieved token`);
120
- return token;
121
- }
122
- return null;
123
- },
124
- [fetchToken]
125
- );
126
-
127
- useEffect(
128
- () => {
129
- // eslint-disable-next-line @typescript-eslint/no-floating-promises
130
- (async () => {
131
- const url = new URL(window.location?.href);
132
- const token = url.searchParams.get("ott");
133
- if (token) {
134
- const authClientWithCrossDomain =
135
- authClient as AuthClientWithPlugins<PluginsWithCrossDomain>;
136
- url.searchParams.delete("ott");
137
- const result =
138
- await authClientWithCrossDomain.crossDomain.oneTimeToken.verify({
139
- token,
140
- });
141
- const session = result.data?.session;
142
- if (session) {
143
- await authClient.getSession({
144
- fetchOptions: {
145
- headers: {
146
- Authorization: `Bearer ${session.token}`,
147
- },
148
- },
149
- });
150
- authClientWithCrossDomain.updateSession();
151
- }
152
- window.history.replaceState({}, "", url);
153
- }
154
- })();
155
- },
156
- // Explicitly chosen dependencies.
157
- // This effect should mostly only run once
158
- // on mount.
159
- [client, authClient]
160
- );
161
-
162
- const isAuthenticated = session !== null;
163
- const isLoading = isSessionPending;
164
- const authState = useMemo(
165
- () => ({
166
- isLoading,
167
- isAuthenticated,
168
- fetchAccessToken,
169
- }),
170
- [fetchAccessToken, isLoading, isAuthenticated]
171
- );
172
-
173
- return (
174
- <ConvexAuthInternalContext.Provider value={authState}>
175
- {children}
176
- </ConvexAuthInternalContext.Provider>
177
- );
178
- }