@convex-dev/better-auth 0.10.13 → 0.11.0

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 (185) hide show
  1. package/dist/auth-options.d.ts.map +1 -1
  2. package/dist/auth-options.js +0 -2
  3. package/dist/auth-options.js.map +1 -1
  4. package/dist/client/adapter-utils.d.ts +10 -10
  5. package/dist/client/adapter-utils.d.ts.map +1 -1
  6. package/dist/client/adapter-utils.js +41 -32
  7. package/dist/client/adapter-utils.js.map +1 -1
  8. package/dist/client/adapter.d.ts +1 -1
  9. package/dist/client/adapter.d.ts.map +1 -1
  10. package/dist/client/adapter.js +113 -7
  11. package/dist/client/adapter.js.map +1 -1
  12. package/dist/client/create-api.d.ts +8 -7
  13. package/dist/client/create-api.d.ts.map +1 -1
  14. package/dist/client/create-api.js +1 -0
  15. package/dist/client/create-api.js.map +1 -1
  16. package/dist/client/create-client.d.ts +1 -1
  17. package/dist/client/create-client.d.ts.map +1 -1
  18. package/dist/client/create-client.js +8 -7
  19. package/dist/client/create-client.js.map +1 -1
  20. package/dist/client/create-schema.d.ts +0 -1
  21. package/dist/client/create-schema.d.ts.map +1 -1
  22. package/dist/client/create-schema.js +0 -1
  23. package/dist/client/create-schema.js.map +1 -1
  24. package/dist/component/_generated/api.d.ts +12 -0
  25. package/dist/component/_generated/api.d.ts.map +1 -1
  26. package/dist/component/_generated/api.js.map +1 -1
  27. package/dist/component/_generated/component.d.ts +7407 -92
  28. package/dist/component/_generated/component.d.ts.map +1 -1
  29. package/dist/component/adapter.d.ts +8 -7
  30. package/dist/component/adapter.d.ts.map +1 -1
  31. package/dist/component/adapterTest.d.ts +1 -7
  32. package/dist/component/adapterTest.d.ts.map +1 -1
  33. package/dist/component/adapterTest.js +193 -390
  34. package/dist/component/adapterTest.js.map +1 -1
  35. package/dist/component/schema.d.ts +35 -74
  36. package/dist/component/schema.d.ts.map +1 -1
  37. package/dist/component/schema.js +16 -21
  38. package/dist/component/schema.js.map +1 -1
  39. package/dist/component/testProfiles/adapterAdditionalFields.d.ts +131 -0
  40. package/dist/component/testProfiles/adapterAdditionalFields.d.ts.map +1 -0
  41. package/dist/component/testProfiles/adapterAdditionalFields.js +5 -0
  42. package/dist/component/testProfiles/adapterAdditionalFields.js.map +1 -0
  43. package/dist/component/testProfiles/adapterOrganizationJoins.d.ts +131 -0
  44. package/dist/component/testProfiles/adapterOrganizationJoins.d.ts.map +1 -0
  45. package/dist/component/testProfiles/adapterOrganizationJoins.js +5 -0
  46. package/dist/component/testProfiles/adapterOrganizationJoins.js.map +1 -0
  47. package/dist/component/testProfiles/adapterPluginTable.d.ts +131 -0
  48. package/dist/component/testProfiles/adapterPluginTable.d.ts.map +1 -0
  49. package/dist/component/testProfiles/adapterPluginTable.js +5 -0
  50. package/dist/component/testProfiles/adapterPluginTable.js.map +1 -0
  51. package/dist/component/testProfiles/adapterRenameField.d.ts +131 -0
  52. package/dist/component/testProfiles/adapterRenameField.d.ts.map +1 -0
  53. package/dist/component/testProfiles/adapterRenameField.js +5 -0
  54. package/dist/component/testProfiles/adapterRenameField.js.map +1 -0
  55. package/dist/component/testProfiles/adapterRenameUserCustom.d.ts +131 -0
  56. package/dist/component/testProfiles/adapterRenameUserCustom.d.ts.map +1 -0
  57. package/dist/component/testProfiles/adapterRenameUserCustom.js +5 -0
  58. package/dist/component/testProfiles/adapterRenameUserCustom.js.map +1 -0
  59. package/dist/component/testProfiles/adapterRenameUserTable.d.ts +131 -0
  60. package/dist/component/testProfiles/adapterRenameUserTable.d.ts.map +1 -0
  61. package/dist/component/testProfiles/adapterRenameUserTable.js +5 -0
  62. package/dist/component/testProfiles/adapterRenameUserTable.js.map +1 -0
  63. package/dist/component/testProfiles/auth-options.profile-additional-fields.d.ts +3 -0
  64. package/dist/component/testProfiles/auth-options.profile-additional-fields.d.ts.map +1 -0
  65. package/dist/component/testProfiles/auth-options.profile-additional-fields.js +38 -0
  66. package/dist/component/testProfiles/auth-options.profile-additional-fields.js.map +1 -0
  67. package/dist/component/testProfiles/auth-options.profile-plugin-table.d.ts +3 -0
  68. package/dist/component/testProfiles/auth-options.profile-plugin-table.d.ts.map +1 -0
  69. package/dist/component/testProfiles/auth-options.profile-plugin-table.js +92 -0
  70. package/dist/component/testProfiles/auth-options.profile-plugin-table.js.map +1 -0
  71. package/dist/component/testProfiles/auth-options.profile-rename-joins.d.ts +6 -0
  72. package/dist/component/testProfiles/auth-options.profile-rename-joins.d.ts.map +1 -0
  73. package/dist/component/testProfiles/auth-options.profile-rename-joins.js +49 -0
  74. package/dist/component/testProfiles/auth-options.profile-rename-joins.js.map +1 -0
  75. package/dist/component/testProfiles/schema.profile-additional-fields.d.ts +227 -0
  76. package/dist/component/testProfiles/schema.profile-additional-fields.d.ts.map +1 -0
  77. package/dist/component/testProfiles/schema.profile-additional-fields.js +37 -0
  78. package/dist/component/testProfiles/schema.profile-additional-fields.js.map +1 -0
  79. package/dist/component/testProfiles/schema.profile-plugin-table.d.ts +450 -0
  80. package/dist/component/testProfiles/schema.profile-plugin-table.d.ts.map +1 -0
  81. package/dist/component/testProfiles/schema.profile-plugin-table.js +116 -0
  82. package/dist/component/testProfiles/schema.profile-plugin-table.js.map +1 -0
  83. package/dist/nextjs/index.d.ts.map +1 -1
  84. package/dist/nextjs/index.js +1 -0
  85. package/dist/nextjs/index.js.map +1 -1
  86. package/dist/plugins/convex/index.d.ts +131 -12
  87. package/dist/plugins/convex/index.d.ts.map +1 -1
  88. package/dist/plugins/convex/index.js +12 -5
  89. package/dist/plugins/convex/index.js.map +1 -1
  90. package/dist/plugins/cross-domain/client.d.ts +1 -1
  91. package/dist/plugins/cross-domain/index.d.ts +126 -1
  92. package/dist/plugins/cross-domain/index.d.ts.map +1 -1
  93. package/dist/plugins/cross-domain/index.js +10 -15
  94. package/dist/plugins/cross-domain/index.js.map +1 -1
  95. package/dist/react-start/index.d.ts.map +1 -1
  96. package/dist/react-start/index.js +1 -0
  97. package/dist/react-start/index.js.map +1 -1
  98. package/dist/test/adapter-factory/auth-flow.d.ts +42 -0
  99. package/dist/test/adapter-factory/auth-flow.d.ts.map +1 -0
  100. package/dist/test/adapter-factory/auth-flow.js +145 -0
  101. package/dist/test/adapter-factory/auth-flow.js.map +1 -0
  102. package/dist/test/adapter-factory/basic.d.ts +190 -0
  103. package/dist/test/adapter-factory/basic.d.ts.map +1 -0
  104. package/dist/test/adapter-factory/basic.js +2713 -0
  105. package/dist/test/adapter-factory/basic.js.map +1 -0
  106. package/dist/test/adapter-factory/convex-custom.d.ts +18 -0
  107. package/dist/test/adapter-factory/convex-custom.d.ts.map +1 -0
  108. package/dist/test/adapter-factory/convex-custom.js +610 -0
  109. package/dist/test/adapter-factory/convex-custom.js.map +1 -0
  110. package/dist/test/adapter-factory/index.d.ts +11 -0
  111. package/dist/test/adapter-factory/index.d.ts.map +1 -0
  112. package/dist/test/adapter-factory/index.js +11 -0
  113. package/dist/test/adapter-factory/index.js.map +1 -0
  114. package/dist/test/adapter-factory/joins.d.ts +18 -0
  115. package/dist/test/adapter-factory/joins.d.ts.map +1 -0
  116. package/dist/test/adapter-factory/joins.js +22 -0
  117. package/dist/test/adapter-factory/joins.js.map +1 -0
  118. package/dist/test/adapter-factory/number-id.d.ts +18 -0
  119. package/dist/test/adapter-factory/number-id.d.ts.map +1 -0
  120. package/dist/test/adapter-factory/number-id.js +36 -0
  121. package/dist/test/adapter-factory/number-id.js.map +1 -0
  122. package/dist/test/adapter-factory/profile-additional-fields.d.ts +71 -0
  123. package/dist/test/adapter-factory/profile-additional-fields.d.ts.map +1 -0
  124. package/dist/test/adapter-factory/profile-additional-fields.js +44 -0
  125. package/dist/test/adapter-factory/profile-additional-fields.js.map +1 -0
  126. package/dist/test/adapter-factory/profile-plugin-table.d.ts +19 -0
  127. package/dist/test/adapter-factory/profile-plugin-table.d.ts.map +1 -0
  128. package/dist/test/adapter-factory/profile-plugin-table.js +25 -0
  129. package/dist/test/adapter-factory/profile-plugin-table.js.map +1 -0
  130. package/dist/test/adapter-factory/profile-rename-joins.d.ts +73 -0
  131. package/dist/test/adapter-factory/profile-rename-joins.d.ts.map +1 -0
  132. package/dist/test/adapter-factory/profile-rename-joins.js +34 -0
  133. package/dist/test/adapter-factory/profile-rename-joins.js.map +1 -0
  134. package/dist/test/adapter-factory/transactions.d.ts +21 -0
  135. package/dist/test/adapter-factory/transactions.d.ts.map +1 -0
  136. package/dist/test/adapter-factory/transactions.js +28 -0
  137. package/dist/test/adapter-factory/transactions.js.map +1 -0
  138. package/dist/test/adapter-factory/uuid.d.ts +18 -0
  139. package/dist/test/adapter-factory/uuid.d.ts.map +1 -0
  140. package/dist/test/adapter-factory/uuid.js +58 -0
  141. package/dist/test/adapter-factory/uuid.js.map +1 -0
  142. package/dist/utils/index.d.ts +18 -3
  143. package/dist/utils/index.d.ts.map +1 -1
  144. package/dist/utils/index.js.map +1 -1
  145. package/package.json +8 -4
  146. package/src/auth-options.ts +0 -2
  147. package/src/client/adapter-utils.ts +80 -73
  148. package/src/client/adapter.test.ts +2 -74
  149. package/src/client/adapter.ts +142 -7
  150. package/src/client/create-api.ts +1 -0
  151. package/src/client/create-client.ts +14 -6
  152. package/src/client/create-schema.ts +0 -1
  153. package/src/component/_generated/api.ts +12 -0
  154. package/src/component/_generated/component.ts +19454 -215
  155. package/src/component/adapterTest.ts +250 -466
  156. package/src/component/schema.ts +21 -26
  157. package/src/component/testProfiles/adapterAdditionalFields.ts +13 -0
  158. package/src/component/testProfiles/adapterOrganizationJoins.ts +13 -0
  159. package/src/component/testProfiles/adapterPluginTable.ts +13 -0
  160. package/src/component/testProfiles/adapterRenameField.ts +13 -0
  161. package/src/component/testProfiles/adapterRenameUserCustom.ts +13 -0
  162. package/src/component/testProfiles/adapterRenameUserTable.ts +13 -0
  163. package/src/component/testProfiles/auth-options.profile-additional-fields.ts +39 -0
  164. package/src/component/testProfiles/auth-options.profile-plugin-table.ts +93 -0
  165. package/src/component/testProfiles/auth-options.profile-rename-joins.ts +54 -0
  166. package/src/component/testProfiles/schema.profile-additional-fields.ts +39 -0
  167. package/src/component/testProfiles/schema.profile-plugin-table.ts +130 -0
  168. package/src/nextjs/index.ts +1 -0
  169. package/src/plugins/convex/index.test.ts +55 -0
  170. package/src/plugins/convex/index.ts +26 -11
  171. package/src/plugins/cross-domain/index.test.ts +67 -0
  172. package/src/plugins/cross-domain/index.ts +10 -21
  173. package/src/react-start/index.ts +1 -0
  174. package/src/test/adapter-factory/auth-flow.ts +170 -0
  175. package/src/test/adapter-factory/basic.ts +3190 -0
  176. package/src/test/adapter-factory/convex-custom.ts +706 -0
  177. package/src/test/adapter-factory/index.ts +10 -0
  178. package/src/test/adapter-factory/joins.ts +28 -0
  179. package/src/test/adapter-factory/number-id.ts +45 -0
  180. package/src/test/adapter-factory/profile-additional-fields.ts +84 -0
  181. package/src/test/adapter-factory/profile-plugin-table.ts +37 -0
  182. package/src/test/adapter-factory/profile-rename-joins.ts +67 -0
  183. package/src/test/adapter-factory/transactions.ts +38 -0
  184. package/src/test/adapter-factory/uuid.ts +67 -0
  185. package/src/utils/index.ts +25 -3
@@ -0,0 +1,610 @@
1
+ import { createTestSuite } from "@better-auth/test-utils/adapter";
2
+ import { expect } from "vitest";
3
+ export const convexCustomTestSuite = createTestSuite("convex-custom", {}, ({ adapter }) => ({
4
+ "should handle lone range operators": async () => {
5
+ const user = await adapter.create({
6
+ model: "user",
7
+ data: {
8
+ name: "ab",
9
+ email: "a@a.com",
10
+ },
11
+ });
12
+ expect(await adapter.findMany({
13
+ model: "user",
14
+ where: [
15
+ {
16
+ field: "name",
17
+ operator: "lt",
18
+ value: "a",
19
+ },
20
+ ],
21
+ })).toEqual([]);
22
+ expect(await adapter.findMany({
23
+ model: "user",
24
+ where: [
25
+ {
26
+ field: "name",
27
+ operator: "lte",
28
+ value: "a",
29
+ },
30
+ ],
31
+ })).toEqual([]);
32
+ expect(await adapter.findMany({
33
+ model: "user",
34
+ where: [
35
+ {
36
+ field: "name",
37
+ operator: "gt",
38
+ value: "a",
39
+ },
40
+ ],
41
+ })).toEqual([user]);
42
+ expect(await adapter.findMany({
43
+ model: "user",
44
+ where: [
45
+ {
46
+ field: "name",
47
+ operator: "gte",
48
+ value: "ab",
49
+ },
50
+ ],
51
+ })).toEqual([user]);
52
+ },
53
+ "should handle compound indexes that include id field": async () => {
54
+ const user = await adapter.create({
55
+ model: "user",
56
+ data: {
57
+ name: "foo",
58
+ email: "foo@bar.com",
59
+ },
60
+ });
61
+ expect(await adapter.findOne({
62
+ model: "user",
63
+ where: [
64
+ {
65
+ field: "id",
66
+ value: user.id,
67
+ },
68
+ {
69
+ field: "name",
70
+ value: "wrong name",
71
+ },
72
+ ],
73
+ })).toEqual(null);
74
+ expect(await adapter.findOne({
75
+ model: "user",
76
+ where: [
77
+ {
78
+ field: "id",
79
+ value: user.id,
80
+ },
81
+ {
82
+ field: "name",
83
+ value: "foo",
84
+ },
85
+ ],
86
+ })).toEqual(user);
87
+ expect(await adapter.findOne({
88
+ model: "user",
89
+ where: [
90
+ {
91
+ field: "id",
92
+ value: user.id,
93
+ },
94
+ {
95
+ field: "name",
96
+ value: "foo",
97
+ operator: "lt",
98
+ },
99
+ ],
100
+ })).toEqual(null);
101
+ expect(await adapter.findOne({
102
+ model: "user",
103
+ where: [
104
+ {
105
+ field: "id",
106
+ value: user.id,
107
+ },
108
+ {
109
+ field: "name",
110
+ value: "foo",
111
+ operator: "lte",
112
+ },
113
+ ],
114
+ })).toEqual(user);
115
+ expect(await adapter.findOne({
116
+ model: "user",
117
+ where: [
118
+ {
119
+ field: "id",
120
+ value: user.id,
121
+ },
122
+ {
123
+ field: "name",
124
+ value: "foo",
125
+ operator: "gt",
126
+ },
127
+ ],
128
+ })).toEqual(null);
129
+ expect(await adapter.findOne({
130
+ model: "user",
131
+ where: [
132
+ {
133
+ field: "id",
134
+ value: user.id,
135
+ },
136
+ {
137
+ field: "name",
138
+ value: "foo",
139
+ operator: "gte",
140
+ },
141
+ ],
142
+ })).toEqual(user);
143
+ expect(await adapter.findOne({
144
+ model: "user",
145
+ where: [
146
+ {
147
+ field: "id",
148
+ value: user.id,
149
+ },
150
+ {
151
+ field: "name",
152
+ operator: "in",
153
+ value: ["wrong", "name"],
154
+ },
155
+ ],
156
+ })).toEqual(null);
157
+ expect(await adapter.findOne({
158
+ model: "user",
159
+ where: [
160
+ {
161
+ field: "id",
162
+ value: user.id,
163
+ },
164
+ {
165
+ field: "name",
166
+ operator: "in",
167
+ value: ["foo"],
168
+ },
169
+ ],
170
+ })).toEqual(user);
171
+ },
172
+ "should automatically paginate": async () => {
173
+ for (let i = 0; i < 300; i++) {
174
+ await adapter.create({
175
+ model: "user",
176
+ data: {
177
+ name: `foo${i}`,
178
+ email: `foo${i}@bar.com`,
179
+ },
180
+ });
181
+ }
182
+ // Better Auth defaults to a limit of 100
183
+ expect(await adapter.findMany({
184
+ model: "user",
185
+ })).toHaveLength(100);
186
+ // Pagination has a hardcoded numItems max of 200, this tests that it can handle
187
+ // specified limits beyond that
188
+ expect(await adapter.findMany({
189
+ model: "user",
190
+ limit: 250,
191
+ })).toHaveLength(250);
192
+ expect(await adapter.findMany({
193
+ model: "user",
194
+ limit: 350,
195
+ })).toHaveLength(300);
196
+ },
197
+ "should support select in findMany": async () => {
198
+ await adapter.create({
199
+ model: "user",
200
+ data: {
201
+ name: "foo",
202
+ email: "foo@bar.com",
203
+ },
204
+ });
205
+ const result = await adapter.findMany({
206
+ model: "user",
207
+ where: [{ field: "email", value: "foo@bar.com" }],
208
+ select: ["email"],
209
+ });
210
+ expect(result).toHaveLength(1);
211
+ expect(result[0].email).toEqual("foo@bar.com");
212
+ },
213
+ "should handle OR where clauses": async () => {
214
+ const user = await adapter.create({
215
+ model: "user",
216
+ data: {
217
+ name: "foo",
218
+ email: "foo@bar.com",
219
+ },
220
+ });
221
+ expect(await adapter.findOne({
222
+ model: "user",
223
+ where: [
224
+ { field: "name", value: "bar", connector: "OR" },
225
+ { field: "name", value: "foo", connector: "OR" },
226
+ ],
227
+ })).toEqual(user);
228
+ },
229
+ "should handle OR where clauses with sortBy": async () => {
230
+ const fooUser = await adapter.create({
231
+ model: "user",
232
+ data: {
233
+ name: "foo",
234
+ email: "foo@bar.com",
235
+ },
236
+ });
237
+ const barUser = await adapter.create({
238
+ model: "user",
239
+ data: {
240
+ name: "bar",
241
+ email: "bar@bar.com",
242
+ },
243
+ });
244
+ await adapter.create({
245
+ model: "user",
246
+ data: {
247
+ name: "baz",
248
+ email: "baz@bar.com",
249
+ },
250
+ });
251
+ expect(await adapter.findMany({
252
+ model: "user",
253
+ where: [
254
+ { field: "name", value: "bar", connector: "OR" },
255
+ { field: "name", value: "foo", connector: "OR" },
256
+ ],
257
+ sortBy: { field: "name", direction: "asc" },
258
+ })).toEqual([barUser, fooUser]);
259
+ expect(await adapter.findMany({
260
+ model: "user",
261
+ where: [
262
+ { field: "name", value: "bar", connector: "OR" },
263
+ { field: "name", value: "foo", connector: "OR" },
264
+ ],
265
+ sortBy: { field: "name", direction: "desc" },
266
+ })).toEqual([fooUser, barUser]);
267
+ },
268
+ "should apply OR dedupe/sort/limit before select": async () => {
269
+ const suffix = Date.now();
270
+ const alphaOnly = await adapter.create({
271
+ model: "user",
272
+ data: {
273
+ name: "alpha-only",
274
+ email: `alpha-only-${suffix}@other.test`,
275
+ },
276
+ });
277
+ const alphaOverlap = await adapter.create({
278
+ model: "user",
279
+ data: {
280
+ name: "alpha-overlap",
281
+ email: `alpha-overlap-${suffix}@example.com`,
282
+ },
283
+ });
284
+ await adapter.create({
285
+ model: "user",
286
+ data: {
287
+ name: "beta-only",
288
+ email: `beta-only-${suffix}@example.com`,
289
+ },
290
+ });
291
+ await adapter.create({
292
+ model: "user",
293
+ data: {
294
+ name: "delta-only",
295
+ email: `delta-only-${suffix}@example.com`,
296
+ },
297
+ });
298
+ const result = await adapter.findMany({
299
+ model: "user",
300
+ where: [
301
+ {
302
+ field: "name",
303
+ operator: "starts_with",
304
+ value: "alpha",
305
+ connector: "OR",
306
+ },
307
+ {
308
+ field: "email",
309
+ operator: "contains",
310
+ value: "@example.com",
311
+ connector: "OR",
312
+ },
313
+ ],
314
+ sortBy: { field: "name", direction: "asc" },
315
+ limit: 2,
316
+ select: ["email"],
317
+ });
318
+ expect(result).toEqual([
319
+ { email: alphaOnly.email },
320
+ { email: alphaOverlap.email },
321
+ ]);
322
+ },
323
+ "should reject update with an empty where clause": async () => {
324
+ const user = await adapter.create({
325
+ model: "user",
326
+ data: {
327
+ name: "foo",
328
+ email: "foo@bar.com",
329
+ },
330
+ });
331
+ await expect(adapter.update({
332
+ model: "user",
333
+ where: [],
334
+ update: { name: "bar" },
335
+ })).rejects.toThrow("where clause not supported");
336
+ expect(await adapter.findOne({
337
+ model: "user",
338
+ where: [{ field: "id", value: user.id }],
339
+ })).toEqual(user);
340
+ },
341
+ "should update and count each match only once for overlapping OR clauses": async () => {
342
+ const foo = await adapter.create({
343
+ model: "user",
344
+ data: {
345
+ name: "foo",
346
+ email: "foo@bar.com",
347
+ },
348
+ });
349
+ const foobar = await adapter.create({
350
+ model: "user",
351
+ data: {
352
+ name: "foobar",
353
+ email: "foobar@bar.com",
354
+ },
355
+ });
356
+ const count = await adapter.updateMany({
357
+ model: "user",
358
+ where: [
359
+ { field: "name", value: "foo", connector: "OR" },
360
+ {
361
+ field: "name",
362
+ operator: "starts_with",
363
+ value: "foo",
364
+ connector: "OR",
365
+ },
366
+ ],
367
+ update: { emailVerified: true },
368
+ });
369
+ expect(count).toEqual(2);
370
+ expect(await adapter.findOne({
371
+ model: "user",
372
+ where: [{ field: "id", value: foo.id }],
373
+ })).toMatchObject({ emailVerified: true });
374
+ expect(await adapter.findOne({
375
+ model: "user",
376
+ where: [{ field: "id", value: foobar.id }],
377
+ })).toMatchObject({ emailVerified: true });
378
+ },
379
+ "should delete and count each match only once for overlapping OR clauses": async () => {
380
+ await adapter.create({
381
+ model: "user",
382
+ data: {
383
+ name: "foo",
384
+ email: "foo@bar.com",
385
+ },
386
+ });
387
+ await adapter.create({
388
+ model: "user",
389
+ data: {
390
+ name: "foobar",
391
+ email: "foobar@bar.com",
392
+ },
393
+ });
394
+ const untouched = await adapter.create({
395
+ model: "user",
396
+ data: {
397
+ name: "bar",
398
+ email: "bar@bar.com",
399
+ },
400
+ });
401
+ const count = await adapter.deleteMany({
402
+ model: "user",
403
+ where: [
404
+ { field: "name", value: "foo", connector: "OR" },
405
+ {
406
+ field: "name",
407
+ operator: "starts_with",
408
+ value: "foo",
409
+ connector: "OR",
410
+ },
411
+ ],
412
+ });
413
+ expect(count).toEqual(2);
414
+ const result = await adapter.findMany({
415
+ model: "user",
416
+ });
417
+ expect(result).toHaveLength(1);
418
+ expect(result).toEqual([untouched]);
419
+ },
420
+ "should handle count": async () => {
421
+ await adapter.create({
422
+ model: "user",
423
+ data: {
424
+ name: "foo",
425
+ email: "foo@bar.com",
426
+ },
427
+ });
428
+ await adapter.create({
429
+ model: "user",
430
+ data: {
431
+ name: "bar",
432
+ email: "bar@bar.com",
433
+ },
434
+ });
435
+ expect(await adapter.count({
436
+ model: "user",
437
+ where: [{ field: "name", value: "foo" }],
438
+ })).toEqual(1);
439
+ },
440
+ "should handle queries with no index": async () => {
441
+ const user = await adapter.create({
442
+ model: "user",
443
+ data: {
444
+ name: "foo",
445
+ email: "foo@bar.com",
446
+ emailVerified: true,
447
+ },
448
+ });
449
+ expect(await adapter.findOne({
450
+ model: "user",
451
+ where: [{ field: "emailVerified", value: true }],
452
+ })).toEqual(user);
453
+ expect(await adapter.findOne({
454
+ model: "user",
455
+ where: [{ field: "emailVerified", value: false }],
456
+ })).toEqual(null);
457
+ },
458
+ "should handle compound operator on non-unique field without an index": async () => {
459
+ await adapter.create({
460
+ model: "account",
461
+ data: {
462
+ accountId: "foo",
463
+ providerId: "bar",
464
+ userId: "baz",
465
+ accessTokenExpiresAt: null,
466
+ createdAt: Date.now(),
467
+ updatedAt: Date.now(),
468
+ },
469
+ });
470
+ expect(await adapter.findOne({
471
+ model: "account",
472
+ where: [
473
+ {
474
+ operator: "lt",
475
+ connector: "AND",
476
+ field: "accessTokenExpiresAt",
477
+ value: Date.now(),
478
+ },
479
+ {
480
+ operator: "ne",
481
+ connector: "AND",
482
+ field: "accessTokenExpiresAt",
483
+ value: null,
484
+ },
485
+ ],
486
+ })).toEqual(null);
487
+ },
488
+ "should preserve null to non-null range comparisons": async () => {
489
+ const now = Date.now();
490
+ const nullRangeAccountId = `null-range-${now}-null`;
491
+ const nonNullRangeAccountId = `null-range-${now}-non-null`;
492
+ const nullRangeAccount = await adapter.create({
493
+ model: "account",
494
+ data: {
495
+ accountId: nullRangeAccountId,
496
+ providerId: "null-range-provider",
497
+ userId: `null-range-user-${now}`,
498
+ accessTokenExpiresAt: null,
499
+ createdAt: now,
500
+ updatedAt: now,
501
+ },
502
+ });
503
+ const nonNullRangeAccount = await adapter.create({
504
+ model: "account",
505
+ data: {
506
+ accountId: nonNullRangeAccountId,
507
+ providerId: "non-null-range-provider",
508
+ userId: `non-null-range-user-${now}`,
509
+ accessTokenExpiresAt: now + 1_000,
510
+ createdAt: now,
511
+ updatedAt: now,
512
+ },
513
+ });
514
+ expect(await adapter.findOne({
515
+ model: "account",
516
+ where: [
517
+ {
518
+ field: "accessTokenExpiresAt",
519
+ operator: "lt",
520
+ connector: "AND",
521
+ value: now,
522
+ },
523
+ {
524
+ field: "accountId",
525
+ operator: "eq",
526
+ connector: "AND",
527
+ value: nullRangeAccountId,
528
+ },
529
+ ],
530
+ })).toEqual(nullRangeAccount);
531
+ expect(await adapter.findOne({
532
+ model: "account",
533
+ where: [
534
+ {
535
+ field: "accessTokenExpiresAt",
536
+ operator: "lte",
537
+ connector: "AND",
538
+ value: now,
539
+ },
540
+ {
541
+ field: "accountId",
542
+ operator: "eq",
543
+ connector: "AND",
544
+ value: nullRangeAccountId,
545
+ },
546
+ ],
547
+ })).toEqual(nullRangeAccount);
548
+ expect(await adapter.findOne({
549
+ model: "account",
550
+ where: [
551
+ {
552
+ field: "accessTokenExpiresAt",
553
+ operator: "gt",
554
+ connector: "AND",
555
+ value: null,
556
+ },
557
+ {
558
+ field: "accountId",
559
+ operator: "eq",
560
+ connector: "AND",
561
+ value: nonNullRangeAccountId,
562
+ },
563
+ ],
564
+ })).toEqual(nonNullRangeAccount);
565
+ expect(await adapter.findOne({
566
+ model: "account",
567
+ where: [
568
+ {
569
+ field: "accessTokenExpiresAt",
570
+ operator: "gte",
571
+ connector: "AND",
572
+ value: null,
573
+ },
574
+ {
575
+ field: "accountId",
576
+ operator: "eq",
577
+ connector: "AND",
578
+ value: nonNullRangeAccountId,
579
+ },
580
+ ],
581
+ })).toEqual(nonNullRangeAccount);
582
+ },
583
+ "should fail to create a record with a unique field that already exists": async () => {
584
+ await adapter.create({
585
+ model: "user",
586
+ data: { name: "foo", email: "foo@bar.com" },
587
+ });
588
+ await expect(adapter.create({
589
+ model: "user",
590
+ data: { name: "foo", email: "foo@bar.com" },
591
+ })).rejects.toThrow("user email already exists");
592
+ },
593
+ "should be able to compare against a date": async () => {
594
+ const now = new Date().toISOString();
595
+ const user = await adapter.create({
596
+ model: "user",
597
+ data: {
598
+ name: "foo",
599
+ email: "foo@bar.com",
600
+ createdAt: now,
601
+ },
602
+ });
603
+ expect(await adapter.findOne({
604
+ model: "user",
605
+ where: [{ field: "createdAt", value: now }],
606
+ })).toEqual(user);
607
+ expect(user.createdAt).toBeInstanceOf(Date);
608
+ },
609
+ }));
610
+ //# sourceMappingURL=convex-custom.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"convex-custom.js","sourceRoot":"","sources":["../../../src/test/adapter-factory/convex-custom.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export * from "./auth-flow.js";
2
+ export * from "./basic.js";
3
+ export * from "./convex-custom.js";
4
+ export * from "./joins.js";
5
+ export * from "./number-id.js";
6
+ export * from "./profile-additional-fields.js";
7
+ export * from "./profile-plugin-table.js";
8
+ export * from "./profile-rename-joins.js";
9
+ export * from "./transactions.js";
10
+ export * from "./uuid.js";
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/test/adapter-factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}
@@ -0,0 +1,11 @@
1
+ export * from "./auth-flow.js";
2
+ export * from "./basic.js";
3
+ export * from "./convex-custom.js";
4
+ export * from "./joins.js";
5
+ export * from "./number-id.js";
6
+ export * from "./profile-additional-fields.js";
7
+ export * from "./profile-plugin-table.js";
8
+ export * from "./profile-rename-joins.js";
9
+ export * from "./transactions.js";
10
+ export * from "./uuid.js";
11
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/test/adapter-factory/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,oBAAoB,CAAC;AACnC,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,gCAAgC,CAAC;AAC/C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,2BAA2B,CAAC;AAC1C,cAAc,mBAAmB,CAAC;AAClC,cAAc,WAAW,CAAC"}