@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,92 @@
1
+ import { options } from "../../auth-options.js";
2
+ // Test-only options used to provide static schema coverage for tests that
3
+ // otherwise mutate plugin tables and user additional fields at runtime.
4
+ export const pluginTableProfileOptions = {
5
+ ...options,
6
+ user: {
7
+ ...options.user,
8
+ additionalFields: {
9
+ ...options.user?.additionalFields,
10
+ testField: {
11
+ type: "string",
12
+ required: false,
13
+ defaultValue: "test-value",
14
+ },
15
+ cbDefaultValueField: {
16
+ type: "string",
17
+ required: false,
18
+ defaultValue: () => "advanced-test-value",
19
+ },
20
+ customField: {
21
+ type: "string",
22
+ required: false,
23
+ input: false,
24
+ defaultValue: "default-value",
25
+ },
26
+ numericField: {
27
+ type: "number",
28
+ required: false,
29
+ defaultValue: 0,
30
+ },
31
+ dateField: {
32
+ type: "date",
33
+ required: false,
34
+ },
35
+ },
36
+ },
37
+ plugins: [
38
+ ...(options.plugins ?? []),
39
+ {
40
+ id: "one-to-one-test",
41
+ schema: {
42
+ oneToOneTable: {
43
+ fields: {
44
+ oneToOne: {
45
+ type: "string",
46
+ required: true,
47
+ references: { field: "id", model: "user" },
48
+ unique: true,
49
+ },
50
+ },
51
+ },
52
+ },
53
+ },
54
+ {
55
+ id: "plugin-table-test-model",
56
+ schema: {
57
+ testModel: {
58
+ fields: {
59
+ nullableReference: {
60
+ type: "string",
61
+ references: { field: "id", model: "user" },
62
+ required: false,
63
+ },
64
+ testField: {
65
+ type: "string",
66
+ required: false,
67
+ defaultValue: "test-value",
68
+ },
69
+ cbDefaultValueField: {
70
+ type: "string",
71
+ required: false,
72
+ defaultValue: () => "advanced-test-value",
73
+ },
74
+ stringArray: {
75
+ type: "string[]",
76
+ required: false,
77
+ },
78
+ numberArray: {
79
+ type: "number[]",
80
+ required: false,
81
+ },
82
+ json: {
83
+ type: "json",
84
+ required: false,
85
+ },
86
+ },
87
+ },
88
+ },
89
+ },
90
+ ],
91
+ };
92
+ //# sourceMappingURL=auth-options.profile-plugin-table.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-options.profile-plugin-table.js","sourceRoot":"","sources":["../../../src/component/testProfiles/auth-options.profile-plugin-table.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,0EAA0E;AAC1E,wEAAwE;AACxE,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,OAAO;IACV,IAAI,EAAE;QACJ,GAAG,OAAO,CAAC,IAAI;QACf,gBAAgB,EAAE;YAChB,GAAG,OAAO,CAAC,IAAI,EAAE,gBAAgB;YACjC,SAAS,EAAE;gBACT,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,YAAY;aAC3B;YACD,mBAAmB,EAAE;gBACnB,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,GAAG,EAAE,CAAC,qBAAqB;aAC1C;YACD,WAAW,EAAE;gBACX,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,KAAK,EAAE,KAAK;gBACZ,YAAY,EAAE,eAAe;aAC9B;YACD,YAAY,EAAE;gBACZ,IAAI,EAAE,QAAQ;gBACd,QAAQ,EAAE,KAAK;gBACf,YAAY,EAAE,CAAC;aAChB;YACD,SAAS,EAAE;gBACT,IAAI,EAAE,MAAM;gBACZ,QAAQ,EAAE,KAAK;aAChB;SACF;KACF;IACD,OAAO,EAAE;QACP,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;QAC1B;YACE,EAAE,EAAE,iBAAiB;YACrB,MAAM,EAAE;gBACN,aAAa,EAAE;oBACb,MAAM,EAAE;wBACN,QAAQ,EAAE;4BACR,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,IAAI;4BACd,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;4BAC1C,MAAM,EAAE,IAAI;yBACb;qBACF;iBACF;aACF;SACF;QACD;YACE,EAAE,EAAE,yBAAyB;YAC7B,MAAM,EAAE;gBACN,SAAS,EAAE;oBACT,MAAM,EAAE;wBACN,iBAAiB,EAAE;4BACjB,IAAI,EAAE,QAAQ;4BACd,UAAU,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE;4BAC1C,QAAQ,EAAE,KAAK;yBAChB;wBACD,SAAS,EAAE;4BACT,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,KAAK;4BACf,YAAY,EAAE,YAAY;yBAC3B;wBACD,mBAAmB,EAAE;4BACnB,IAAI,EAAE,QAAQ;4BACd,QAAQ,EAAE,KAAK;4BACf,YAAY,EAAE,GAAG,EAAE,CAAC,qBAAqB;yBAC1C;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE,KAAK;yBAChB;wBACD,WAAW,EAAE;4BACX,IAAI,EAAE,UAAU;4BAChB,QAAQ,EAAE,KAAK;yBAChB;wBACD,IAAI,EAAE;4BACJ,IAAI,EAAE,MAAM;4BACZ,QAAQ,EAAE,KAAK;yBAChB;qBACF;iBACF;aACF;SACF;KACF;CACmB,CAAC"}
@@ -0,0 +1,6 @@
1
+ import type { BetterAuthOptions } from "better-auth/minimal";
2
+ export declare const renameFieldProfileOptions: BetterAuthOptions;
3
+ export declare const renameModelUserCustomProfileOptions: BetterAuthOptions;
4
+ export declare const renameModelUserTableProfileOptions: BetterAuthOptions;
5
+ export declare const organizationJoinsProfileOptions: BetterAuthOptions;
6
+ //# sourceMappingURL=auth-options.profile-rename-joins.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-options.profile-rename-joins.d.ts","sourceRoot":"","sources":["../../../src/component/testProfiles/auth-options.profile-rename-joins.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAsB7D,eAAO,MAAM,yBAAyB,EAUjC,iBAAiB,CAAC;AAEvB,eAAO,MAAM,mCAAmC,EAM3C,iBAAiB,CAAC;AAEvB,eAAO,MAAM,kCAAkC,EAM1C,iBAAiB,CAAC;AAEvB,eAAO,MAAM,+BAA+B,EAGvC,iBAAiB,CAAC"}
@@ -0,0 +1,49 @@
1
+ import { organization } from "better-auth/plugins";
2
+ import { options } from "../../auth-options.js";
3
+ const renamedOneToOnePlugin = {
4
+ id: "one-to-one-test",
5
+ schema: {
6
+ oneToOneTable: {
7
+ modelName: "one_to_one_table",
8
+ fields: {
9
+ oneToOne: {
10
+ type: "string",
11
+ required: true,
12
+ references: { field: "email", model: "user" },
13
+ unique: true,
14
+ fieldName: "one_to_one",
15
+ },
16
+ },
17
+ },
18
+ },
19
+ };
20
+ export const renameFieldProfileOptions = {
21
+ ...options,
22
+ user: {
23
+ ...options.user,
24
+ fields: {
25
+ ...options.user?.fields,
26
+ email: "email_address",
27
+ },
28
+ },
29
+ plugins: [...(options.plugins ?? []), renamedOneToOnePlugin],
30
+ };
31
+ export const renameModelUserCustomProfileOptions = {
32
+ ...options,
33
+ user: {
34
+ ...options.user,
35
+ modelName: "user_custom",
36
+ },
37
+ };
38
+ export const renameModelUserTableProfileOptions = {
39
+ ...options,
40
+ user: {
41
+ ...options.user,
42
+ modelName: "user_table",
43
+ },
44
+ };
45
+ export const organizationJoinsProfileOptions = {
46
+ ...options,
47
+ plugins: [...(options.plugins ?? []), organization({ teams: { enabled: true } })],
48
+ };
49
+ //# sourceMappingURL=auth-options.profile-rename-joins.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth-options.profile-rename-joins.js","sourceRoot":"","sources":["../../../src/component/testProfiles/auth-options.profile-rename-joins.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,uBAAuB,CAAC;AAEhD,MAAM,qBAAqB,GAAG;IAC5B,EAAE,EAAE,iBAAiB;IACrB,MAAM,EAAE;QACN,aAAa,EAAE;YACb,SAAS,EAAE,kBAAkB;YAC7B,MAAM,EAAE;gBACN,QAAQ,EAAE;oBACR,IAAI,EAAE,QAAQ;oBACd,QAAQ,EAAE,IAAI;oBACd,UAAU,EAAE,EAAE,KAAK,EAAE,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE;oBAC7C,MAAM,EAAE,IAAI;oBACZ,SAAS,EAAE,YAAY;iBACxB;aACF;SACF;KACF;CACF,CAAC;AAEF,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,GAAG,OAAO;IACV,IAAI,EAAE;QACJ,GAAG,OAAO,CAAC,IAAI;QACf,MAAM,EAAE;YACN,GAAG,OAAO,CAAC,IAAI,EAAE,MAAM;YACvB,KAAK,EAAE,eAAe;SACvB;KACF;IACD,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,qBAAqB,CAAC;CACxC,CAAC;AAEvB,MAAM,CAAC,MAAM,mCAAmC,GAAG;IACjD,GAAG,OAAO;IACV,IAAI,EAAE;QACJ,GAAG,OAAO,CAAC,IAAI;QACf,SAAS,EAAE,aAAa;KACzB;CACmB,CAAC;AAEvB,MAAM,CAAC,MAAM,kCAAkC,GAAG;IAChD,GAAG,OAAO;IACV,IAAI,EAAE;QACJ,GAAG,OAAO,CAAC,IAAI;QACf,SAAS,EAAE,YAAY;KACxB;CACmB,CAAC;AAEvB,MAAM,CAAC,MAAM,+BAA+B,GAAG;IAC7C,GAAG,OAAO;IACV,OAAO,EAAE,CAAC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,YAAY,CAAC,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;CAC7D,CAAC"}
@@ -0,0 +1,227 @@
1
+ declare const schema: import("convex/server").SchemaDefinition<{
2
+ user: import("convex/server").TableDefinition<import("convex/values").VObject<{
3
+ image?: string | null | undefined;
4
+ userId?: string | null | undefined;
5
+ twoFactorEnabled?: boolean | null | undefined;
6
+ isAnonymous?: boolean | null | undefined;
7
+ username?: string | null | undefined;
8
+ displayUsername?: string | null | undefined;
9
+ phoneNumber?: string | null | undefined;
10
+ phoneNumberVerified?: boolean | null | undefined;
11
+ customField?: string | null | undefined;
12
+ numericField?: number | null | undefined;
13
+ testField?: string | null | undefined;
14
+ cbDefaultValueField?: string | null | undefined;
15
+ dateField?: number | null | undefined;
16
+ createdAt: number;
17
+ updatedAt: number;
18
+ email: string;
19
+ emailVerified: boolean;
20
+ name: string;
21
+ }, {
22
+ name: import("convex/values").VString<string, "required">;
23
+ email: import("convex/values").VString<string, "required">;
24
+ emailVerified: import("convex/values").VBoolean<boolean, "required">;
25
+ image: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
26
+ createdAt: import("convex/values").VFloat64<number, "required">;
27
+ updatedAt: import("convex/values").VFloat64<number, "required">;
28
+ twoFactorEnabled: import("convex/values").VUnion<boolean | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VBoolean<boolean, "required">], "optional", never>;
29
+ isAnonymous: import("convex/values").VUnion<boolean | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VBoolean<boolean, "required">], "optional", never>;
30
+ username: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
31
+ displayUsername: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
32
+ phoneNumber: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
33
+ phoneNumberVerified: import("convex/values").VUnion<boolean | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VBoolean<boolean, "required">], "optional", never>;
34
+ userId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
35
+ customField: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
36
+ numericField: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
37
+ testField: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
38
+ cbDefaultValueField: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
39
+ dateField: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
40
+ }, "required", "createdAt" | "updatedAt" | "email" | "emailVerified" | "name" | "image" | "userId" | "twoFactorEnabled" | "isAnonymous" | "username" | "displayUsername" | "phoneNumber" | "phoneNumberVerified" | "customField" | "numericField" | "testField" | "cbDefaultValueField" | "dateField">, {
41
+ email_name: ["email", "name", "_creationTime"];
42
+ name: ["name", "_creationTime"];
43
+ userId: ["userId", "_creationTime"];
44
+ username: ["username", "_creationTime"];
45
+ phoneNumber: ["phoneNumber", "_creationTime"];
46
+ customField: ["customField", "_creationTime"];
47
+ numericField: ["numericField", "_creationTime"];
48
+ dateField: ["dateField", "_creationTime"];
49
+ }, {}, {}>;
50
+ session: import("convex/server").TableDefinition<import("convex/values").VObject<{
51
+ ipAddress?: string | null | undefined;
52
+ userAgent?: string | null | undefined;
53
+ createdAt: number;
54
+ updatedAt: number;
55
+ userId: string;
56
+ expiresAt: number;
57
+ token: string;
58
+ }, {
59
+ expiresAt: import("convex/values").VFloat64<number, "required">;
60
+ token: import("convex/values").VString<string, "required">;
61
+ createdAt: import("convex/values").VFloat64<number, "required">;
62
+ updatedAt: import("convex/values").VFloat64<number, "required">;
63
+ ipAddress: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
64
+ userAgent: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
65
+ userId: import("convex/values").VString<string, "required">;
66
+ }, "required", "createdAt" | "updatedAt" | "userId" | "expiresAt" | "token" | "ipAddress" | "userAgent">, {
67
+ expiresAt: ["expiresAt", "_creationTime"];
68
+ expiresAt_userId: ["expiresAt", "userId", "_creationTime"];
69
+ token: ["token", "_creationTime"];
70
+ userId: ["userId", "_creationTime"];
71
+ }, {}, {}>;
72
+ account: import("convex/server").TableDefinition<import("convex/values").VObject<{
73
+ password?: string | null | undefined;
74
+ accessToken?: string | null | undefined;
75
+ refreshToken?: string | null | undefined;
76
+ idToken?: string | null | undefined;
77
+ accessTokenExpiresAt?: number | null | undefined;
78
+ refreshTokenExpiresAt?: number | null | undefined;
79
+ scope?: string | null | undefined;
80
+ createdAt: number;
81
+ updatedAt: number;
82
+ userId: string;
83
+ accountId: string;
84
+ providerId: string;
85
+ }, {
86
+ accountId: import("convex/values").VString<string, "required">;
87
+ providerId: import("convex/values").VString<string, "required">;
88
+ userId: import("convex/values").VString<string, "required">;
89
+ accessToken: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
90
+ refreshToken: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
91
+ idToken: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
92
+ accessTokenExpiresAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
93
+ refreshTokenExpiresAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
94
+ scope: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
95
+ password: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
96
+ createdAt: import("convex/values").VFloat64<number, "required">;
97
+ updatedAt: import("convex/values").VFloat64<number, "required">;
98
+ }, "required", "createdAt" | "updatedAt" | "userId" | "password" | "accountId" | "providerId" | "accessToken" | "refreshToken" | "idToken" | "accessTokenExpiresAt" | "refreshTokenExpiresAt" | "scope">, {
99
+ accountId: ["accountId", "_creationTime"];
100
+ accountId_providerId: ["accountId", "providerId", "_creationTime"];
101
+ providerId_userId: ["providerId", "userId", "_creationTime"];
102
+ userId: ["userId", "_creationTime"];
103
+ }, {}, {}>;
104
+ verification: import("convex/server").TableDefinition<import("convex/values").VObject<{
105
+ createdAt: number;
106
+ updatedAt: number;
107
+ expiresAt: number;
108
+ value: string;
109
+ identifier: string;
110
+ }, {
111
+ identifier: import("convex/values").VString<string, "required">;
112
+ value: import("convex/values").VString<string, "required">;
113
+ expiresAt: import("convex/values").VFloat64<number, "required">;
114
+ createdAt: import("convex/values").VFloat64<number, "required">;
115
+ updatedAt: import("convex/values").VFloat64<number, "required">;
116
+ }, "required", "createdAt" | "updatedAt" | "expiresAt" | "value" | "identifier">, {
117
+ expiresAt: ["expiresAt", "_creationTime"];
118
+ identifier: ["identifier", "_creationTime"];
119
+ }, {}, {}>;
120
+ twoFactor: import("convex/server").TableDefinition<import("convex/values").VObject<{
121
+ userId: string;
122
+ secret: string;
123
+ backupCodes: string;
124
+ }, {
125
+ secret: import("convex/values").VString<string, "required">;
126
+ backupCodes: import("convex/values").VString<string, "required">;
127
+ userId: import("convex/values").VString<string, "required">;
128
+ }, "required", "userId" | "secret" | "backupCodes">, {
129
+ userId: ["userId", "_creationTime"];
130
+ }, {}, {}>;
131
+ oauthApplication: import("convex/server").TableDefinition<import("convex/values").VObject<{
132
+ type?: string | null | undefined;
133
+ metadata?: string | null | undefined;
134
+ createdAt?: number | null | undefined;
135
+ updatedAt?: number | null | undefined;
136
+ name?: string | null | undefined;
137
+ userId?: string | null | undefined;
138
+ icon?: string | null | undefined;
139
+ clientId?: string | null | undefined;
140
+ clientSecret?: string | null | undefined;
141
+ redirectUrls?: string | null | undefined;
142
+ disabled?: boolean | null | undefined;
143
+ }, {
144
+ name: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
145
+ icon: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
146
+ metadata: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
147
+ clientId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
148
+ clientSecret: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
149
+ redirectUrls: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
150
+ type: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
151
+ disabled: import("convex/values").VUnion<boolean | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VBoolean<boolean, "required">], "optional", never>;
152
+ userId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
153
+ createdAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
154
+ updatedAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
155
+ }, "required", "type" | "metadata" | "createdAt" | "updatedAt" | "name" | "userId" | "icon" | "clientId" | "clientSecret" | "redirectUrls" | "disabled">, {
156
+ clientId: ["clientId", "_creationTime"];
157
+ userId: ["userId", "_creationTime"];
158
+ }, {}, {}>;
159
+ oauthAccessToken: import("convex/server").TableDefinition<import("convex/values").VObject<{
160
+ createdAt?: number | null | undefined;
161
+ updatedAt?: number | null | undefined;
162
+ userId?: string | null | undefined;
163
+ accessToken?: string | null | undefined;
164
+ refreshToken?: string | null | undefined;
165
+ accessTokenExpiresAt?: number | null | undefined;
166
+ refreshTokenExpiresAt?: number | null | undefined;
167
+ clientId?: string | null | undefined;
168
+ scopes?: string | null | undefined;
169
+ }, {
170
+ accessToken: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
171
+ refreshToken: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
172
+ accessTokenExpiresAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
173
+ refreshTokenExpiresAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
174
+ clientId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
175
+ userId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
176
+ scopes: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
177
+ createdAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
178
+ updatedAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
179
+ }, "required", "createdAt" | "updatedAt" | "userId" | "accessToken" | "refreshToken" | "accessTokenExpiresAt" | "refreshTokenExpiresAt" | "clientId" | "scopes">, {
180
+ accessToken: ["accessToken", "_creationTime"];
181
+ refreshToken: ["refreshToken", "_creationTime"];
182
+ clientId: ["clientId", "_creationTime"];
183
+ userId: ["userId", "_creationTime"];
184
+ }, {}, {}>;
185
+ oauthConsent: import("convex/server").TableDefinition<import("convex/values").VObject<{
186
+ createdAt?: number | null | undefined;
187
+ updatedAt?: number | null | undefined;
188
+ userId?: string | null | undefined;
189
+ clientId?: string | null | undefined;
190
+ scopes?: string | null | undefined;
191
+ consentGiven?: boolean | null | undefined;
192
+ }, {
193
+ clientId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
194
+ userId: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
195
+ scopes: import("convex/values").VUnion<string | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VString<string, "required">], "optional", never>;
196
+ createdAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
197
+ updatedAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
198
+ consentGiven: import("convex/values").VUnion<boolean | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VBoolean<boolean, "required">], "optional", never>;
199
+ }, "required", "createdAt" | "updatedAt" | "userId" | "clientId" | "scopes" | "consentGiven">, {
200
+ clientId_userId: ["clientId", "userId", "_creationTime"];
201
+ userId: ["userId", "_creationTime"];
202
+ }, {}, {}>;
203
+ jwks: import("convex/server").TableDefinition<import("convex/values").VObject<{
204
+ expiresAt?: number | null | undefined;
205
+ createdAt: number;
206
+ publicKey: string;
207
+ privateKey: string;
208
+ }, {
209
+ publicKey: import("convex/values").VString<string, "required">;
210
+ privateKey: import("convex/values").VString<string, "required">;
211
+ createdAt: import("convex/values").VFloat64<number, "required">;
212
+ expiresAt: import("convex/values").VUnion<number | null | undefined, [import("convex/values").VNull<null, "required">, import("convex/values").VFloat64<number, "required">], "optional", never>;
213
+ }, "required", "createdAt" | "expiresAt" | "publicKey" | "privateKey">, {}, {}, {}>;
214
+ rateLimit: import("convex/server").TableDefinition<import("convex/values").VObject<{
215
+ key: string;
216
+ count: number;
217
+ lastRequest: number;
218
+ }, {
219
+ key: import("convex/values").VString<string, "required">;
220
+ count: import("convex/values").VFloat64<number, "required">;
221
+ lastRequest: import("convex/values").VFloat64<number, "required">;
222
+ }, "required", "key" | "count" | "lastRequest">, {
223
+ key: ["key", "_creationTime"];
224
+ }, {}, {}>;
225
+ }, true>;
226
+ export default schema;
227
+ //# sourceMappingURL=schema.profile-additional-fields.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.profile-additional-fields.d.ts","sourceRoot":"","sources":["../../../src/component/testProfiles/schema.profile-additional-fields.ts"],"names":[],"mappings":"AAiCA,QAAA,MAAM,MAAM;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QAGV,CAAC;AAEH,eAAe,MAAM,CAAC"}
@@ -0,0 +1,37 @@
1
+ import { defineSchema, defineTable } from "convex/server";
2
+ import { v } from "convex/values";
3
+ import { tables as baseTables } from "../schema.js";
4
+ const userTableWithAdditionalFields = defineTable({
5
+ name: v.string(),
6
+ email: v.string(),
7
+ emailVerified: v.boolean(),
8
+ image: v.optional(v.union(v.null(), v.string())),
9
+ createdAt: v.number(),
10
+ updatedAt: v.number(),
11
+ twoFactorEnabled: v.optional(v.union(v.null(), v.boolean())),
12
+ isAnonymous: v.optional(v.union(v.null(), v.boolean())),
13
+ username: v.optional(v.union(v.null(), v.string())),
14
+ displayUsername: v.optional(v.union(v.null(), v.string())),
15
+ phoneNumber: v.optional(v.union(v.null(), v.string())),
16
+ phoneNumberVerified: v.optional(v.union(v.null(), v.boolean())),
17
+ userId: v.optional(v.union(v.null(), v.string())),
18
+ customField: v.optional(v.union(v.null(), v.string())),
19
+ numericField: v.optional(v.union(v.null(), v.number())),
20
+ testField: v.optional(v.union(v.null(), v.string())),
21
+ cbDefaultValueField: v.optional(v.union(v.null(), v.string())),
22
+ dateField: v.optional(v.union(v.null(), v.number())),
23
+ })
24
+ .index("email_name", ["email", "name"])
25
+ .index("name", ["name"])
26
+ .index("userId", ["userId"])
27
+ .index("username", ["username"])
28
+ .index("phoneNumber", ["phoneNumber"])
29
+ .index("customField", ["customField"])
30
+ .index("numericField", ["numericField"])
31
+ .index("dateField", ["dateField"]);
32
+ const schema = defineSchema({
33
+ ...baseTables,
34
+ user: userTableWithAdditionalFields,
35
+ });
36
+ export default schema;
37
+ //# sourceMappingURL=schema.profile-additional-fields.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.profile-additional-fields.js","sourceRoot":"","sources":["../../../src/component/testProfiles/schema.profile-additional-fields.ts"],"names":[],"mappings":"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"}