@convex-dev/better-auth 0.7.0-alpha.9 → 0.7.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 (107) hide show
  1. package/dist/commonjs/client/adapter.d.ts +10 -1
  2. package/dist/commonjs/client/adapter.d.ts.map +1 -1
  3. package/dist/commonjs/client/adapter.js +195 -193
  4. package/dist/commonjs/client/adapter.js.map +1 -1
  5. package/dist/commonjs/client/index.d.ts +283 -179
  6. package/dist/commonjs/client/index.d.ts.map +1 -1
  7. package/dist/commonjs/client/index.js +46 -58
  8. package/dist/commonjs/client/index.js.map +1 -1
  9. package/dist/commonjs/component/adapterTest.d.ts +19 -0
  10. package/dist/commonjs/component/adapterTest.d.ts.map +1 -0
  11. package/dist/commonjs/component/adapterTest.js +82 -0
  12. package/dist/commonjs/component/adapterTest.js.map +1 -0
  13. package/dist/commonjs/component/lib.d.ts +308 -536
  14. package/dist/commonjs/component/lib.d.ts.map +1 -1
  15. package/dist/commonjs/component/lib.js +469 -292
  16. package/dist/commonjs/component/lib.js.map +1 -1
  17. package/dist/commonjs/component/schema.d.ts +465 -26
  18. package/dist/commonjs/component/schema.d.ts.map +1 -1
  19. package/dist/commonjs/component/schema.js +334 -18
  20. package/dist/commonjs/component/schema.js.map +1 -1
  21. package/dist/commonjs/component/util.d.ts +944 -68
  22. package/dist/commonjs/component/util.d.ts.map +1 -1
  23. package/dist/commonjs/nextjs/index.d.ts.map +1 -1
  24. package/dist/commonjs/nextjs/index.js +3 -9
  25. package/dist/commonjs/nextjs/index.js.map +1 -1
  26. package/dist/commonjs/plugins/convex/index.d.ts +14 -11
  27. package/dist/commonjs/plugins/convex/index.d.ts.map +1 -1
  28. package/dist/commonjs/plugins/convex/index.js +3 -2
  29. package/dist/commonjs/plugins/convex/index.js.map +1 -1
  30. package/dist/commonjs/plugins/cross-domain/client.d.ts +1 -1
  31. package/dist/commonjs/plugins/cross-domain/index.d.ts +5 -3
  32. package/dist/commonjs/plugins/cross-domain/index.d.ts.map +1 -1
  33. package/dist/commonjs/plugins/cross-domain/index.js +19 -5
  34. package/dist/commonjs/plugins/cross-domain/index.js.map +1 -1
  35. package/dist/commonjs/react/client.d.ts +1 -1
  36. package/dist/commonjs/react/client.d.ts.map +1 -1
  37. package/dist/commonjs/react/client.js +3 -9
  38. package/dist/commonjs/react/client.js.map +1 -1
  39. package/dist/commonjs/react-start/index.d.ts +4 -4
  40. package/dist/commonjs/react-start/index.d.ts.map +1 -1
  41. package/dist/commonjs/react-start/index.js +3 -0
  42. package/dist/commonjs/react-start/index.js.map +1 -1
  43. package/dist/commonjs/utils/index.d.ts +2 -0
  44. package/dist/commonjs/utils/index.d.ts.map +1 -0
  45. package/dist/commonjs/utils/index.js +8 -0
  46. package/dist/commonjs/utils/index.js.map +1 -0
  47. package/dist/esm/client/adapter.d.ts +10 -1
  48. package/dist/esm/client/adapter.d.ts.map +1 -1
  49. package/dist/esm/client/adapter.js +195 -193
  50. package/dist/esm/client/adapter.js.map +1 -1
  51. package/dist/esm/client/index.d.ts +283 -179
  52. package/dist/esm/client/index.d.ts.map +1 -1
  53. package/dist/esm/client/index.js +46 -58
  54. package/dist/esm/client/index.js.map +1 -1
  55. package/dist/esm/component/adapterTest.d.ts +19 -0
  56. package/dist/esm/component/adapterTest.d.ts.map +1 -0
  57. package/dist/esm/component/adapterTest.js +82 -0
  58. package/dist/esm/component/adapterTest.js.map +1 -0
  59. package/dist/esm/component/lib.d.ts +308 -536
  60. package/dist/esm/component/lib.d.ts.map +1 -1
  61. package/dist/esm/component/lib.js +469 -292
  62. package/dist/esm/component/lib.js.map +1 -1
  63. package/dist/esm/component/schema.d.ts +465 -26
  64. package/dist/esm/component/schema.d.ts.map +1 -1
  65. package/dist/esm/component/schema.js +334 -18
  66. package/dist/esm/component/schema.js.map +1 -1
  67. package/dist/esm/component/util.d.ts +944 -68
  68. package/dist/esm/component/util.d.ts.map +1 -1
  69. package/dist/esm/nextjs/index.d.ts.map +1 -1
  70. package/dist/esm/nextjs/index.js +3 -9
  71. package/dist/esm/nextjs/index.js.map +1 -1
  72. package/dist/esm/plugins/convex/index.d.ts +14 -11
  73. package/dist/esm/plugins/convex/index.d.ts.map +1 -1
  74. package/dist/esm/plugins/convex/index.js +3 -2
  75. package/dist/esm/plugins/convex/index.js.map +1 -1
  76. package/dist/esm/plugins/cross-domain/client.d.ts +1 -1
  77. package/dist/esm/plugins/cross-domain/index.d.ts +5 -3
  78. package/dist/esm/plugins/cross-domain/index.d.ts.map +1 -1
  79. package/dist/esm/plugins/cross-domain/index.js +19 -5
  80. package/dist/esm/plugins/cross-domain/index.js.map +1 -1
  81. package/dist/esm/react/client.d.ts +1 -1
  82. package/dist/esm/react/client.d.ts.map +1 -1
  83. package/dist/esm/react/client.js +3 -9
  84. package/dist/esm/react/client.js.map +1 -1
  85. package/dist/esm/react-start/index.d.ts +4 -4
  86. package/dist/esm/react-start/index.d.ts.map +1 -1
  87. package/dist/esm/react-start/index.js +3 -0
  88. package/dist/esm/react-start/index.js.map +1 -1
  89. package/dist/esm/utils/index.d.ts +2 -0
  90. package/dist/esm/utils/index.d.ts.map +1 -0
  91. package/dist/esm/utils/index.js +8 -0
  92. package/dist/esm/utils/index.js.map +1 -0
  93. package/package.json +24 -7
  94. package/src/client/adapter.test.ts +378 -0
  95. package/src/client/adapter.ts +210 -198
  96. package/src/client/index.ts +46 -71
  97. package/src/component/_generated/api.d.ts +2189 -171
  98. package/src/component/adapterTest.ts +141 -0
  99. package/src/component/lib.ts +648 -342
  100. package/src/component/schema.ts +349 -18
  101. package/src/nextjs/index.ts +3 -14
  102. package/src/plugins/convex/index.ts +5 -2
  103. package/src/plugins/cross-domain/index.ts +19 -5
  104. package/src/react/client.tsx +5 -11
  105. package/src/react-start/index.ts +4 -1
  106. package/src/client/cors.ts +0 -425
  107. /package/src/{util.ts → utils/index.ts} +0 -0
@@ -0,0 +1,141 @@
1
+ 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 {
10
+ GenericMutationCtx,
11
+ GenericQueryCtx,
12
+ RegisteredMutation,
13
+ RegisteredQuery,
14
+ } from "convex/server";
15
+
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, {
29
+ debugLogs: {
30
+ isRunningAdapterTests: true,
31
+ },
32
+ });
33
+
34
+ export const {
35
+ createUser,
36
+ deleteUser,
37
+ updateUser,
38
+ createSession,
39
+ isAuthenticated,
40
+ } = betterAuthComponent.createAuthFunctions({
41
+ onCreateUser: async () => {
42
+ // noop
43
+ // not required for the adapter test
44
+ },
45
+ });
46
+
47
+ export const deserialize = (data: any) => {
48
+ const dateStringRegex =
49
+ /\d{4}-[01]\d-[0-3]\dT[0-2]\d:[0-5]\d:[0-5]\d\.\d+([+-][0-2]\d:[0-5]\d|Z)/;
50
+ return Object.fromEntries(
51
+ Object.entries(data).map(([key, value]) => [
52
+ key,
53
+ dateStringRegex.test(value as string) ? new Date(value as string) : value,
54
+ ])
55
+ );
56
+ };
57
+
58
+ export const serialize = (data: any) => {
59
+ if (!data) {
60
+ return data;
61
+ }
62
+ return Object.fromEntries(
63
+ Object.entries(data).map(([key, value]) => [
64
+ key,
65
+ value instanceof Date ? value.toISOString() : value,
66
+ ])
67
+ );
68
+ };
69
+
70
+ export const create: RegisteredMutation<"public", any, Promise<any>> = mutation(
71
+ async (ctx: GenericMutationCtx<any>, args: any) => {
72
+ const adapter = createAdapter(ctx);
73
+ const result = await adapter({}).create({
74
+ ...args,
75
+ data: deserialize(args.data),
76
+ });
77
+ return serialize(result);
78
+ }
79
+ );
80
+
81
+ export const findOne: RegisteredQuery<"public", any, Promise<any>> = query(
82
+ async (ctx: GenericQueryCtx<any>, args: any) => {
83
+ const adapter = createAdapter(ctx);
84
+ const result = await adapter({}).findOne(args);
85
+ return serialize(result);
86
+ }
87
+ );
88
+
89
+ export const findMany: RegisteredQuery<"public", any, Promise<any>> = query(
90
+ async (ctx: GenericQueryCtx<any>, args: any) => {
91
+ const adapter = createAdapter(ctx);
92
+ const result = await adapter({}).findMany(args);
93
+ return result.map(serialize);
94
+ }
95
+ );
96
+
97
+ export const count: RegisteredQuery<"public", any, Promise<any>> = query(
98
+ async (ctx: GenericQueryCtx<any>, args: any) => {
99
+ const adapter = createAdapter(ctx);
100
+ return adapter({}).count(args);
101
+ }
102
+ );
103
+
104
+ export const update: RegisteredMutation<"public", any, Promise<any>> = mutation(
105
+ async (ctx: GenericMutationCtx<any>, args: any) => {
106
+ const adapter = createAdapter(ctx);
107
+ const result = await adapter({}).update({
108
+ ...args,
109
+ update: deserialize(args.update),
110
+ });
111
+ return serialize(result);
112
+ }
113
+ );
114
+
115
+ export const updateMany: RegisteredMutation<
116
+ "public",
117
+ any,
118
+ Promise<any>
119
+ > = mutation(async (ctx: GenericMutationCtx<any>, args: any) => {
120
+ const adapter = createAdapter(ctx);
121
+ return adapter({}).updateMany(args);
122
+ });
123
+
124
+ const deleteMutation: RegisteredMutation<
125
+ "public",
126
+ any,
127
+ Promise<any>
128
+ > = mutation(async (ctx: GenericMutationCtx<any>, args: any) => {
129
+ const adapter = createAdapter(ctx);
130
+ await adapter({}).delete(args);
131
+ });
132
+ export { deleteMutation as delete };
133
+
134
+ export const deleteMany: RegisteredMutation<
135
+ "public",
136
+ any,
137
+ Promise<any>
138
+ > = mutation(async (ctx: GenericMutationCtx<any>, args: any) => {
139
+ const adapter = createAdapter(ctx);
140
+ return adapter({}).deleteMany(args);
141
+ });