lytx 0.3.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 (213) hide show
  1. package/.env.example +37 -0
  2. package/README.md +486 -0
  3. package/alchemy.run.ts +155 -0
  4. package/cli/bootstrap-admin.ts +284 -0
  5. package/cli/deploy-staging.ts +692 -0
  6. package/cli/import-events.ts +628 -0
  7. package/cli/import-sites.ts +518 -0
  8. package/cli/index.ts +609 -0
  9. package/cli/init-db.ts +269 -0
  10. package/cli/migrate-to-durable-objects.ts +564 -0
  11. package/cli/migration-worker.ts +300 -0
  12. package/cli/performance-test.ts +588 -0
  13. package/cli/pg/client.ts +4 -0
  14. package/cli/pg/new-site.ts +153 -0
  15. package/cli/rollback-durable-objects.ts +622 -0
  16. package/cli/seed-data.ts +459 -0
  17. package/cli/setup.js +18 -0
  18. package/cli/setup.ts +463 -0
  19. package/cli/validate-migration.ts +200 -0
  20. package/cli/wrangler-migration.jsonc +28 -0
  21. package/db/adapter.ts +166 -0
  22. package/db/analytics_engine/client.ts +0 -0
  23. package/db/analytics_engine/sites.ts +0 -0
  24. package/db/client.ts +16 -0
  25. package/db/d1/client.ts +8 -0
  26. package/db/d1/drizzle.config.ts +35 -0
  27. package/db/d1/migrations/0000_true_maelstrom.sql +165 -0
  28. package/db/d1/migrations/0001_wonderful_bloodaxe.sql +12 -0
  29. package/db/d1/migrations/0002_late_frightful_four.sql +1 -0
  30. package/db/d1/migrations/0003_cuddly_obadiah_stane.sql +16 -0
  31. package/db/d1/migrations/0004_mute_stardust.sql +1 -0
  32. package/db/d1/migrations/0005_awesome_silvermane.sql +3 -0
  33. package/db/d1/migrations/0006_volatile_shriek.sql +2 -0
  34. package/db/d1/migrations/0007_superb_lila_cheney.sql +1 -0
  35. package/db/d1/migrations/0008_bitter_longshot.sql +17 -0
  36. package/db/d1/migrations/0009_wonderful_madame_masque.sql +28 -0
  37. package/db/d1/migrations/meta/0000_snapshot.json +1112 -0
  38. package/db/d1/migrations/meta/0001_snapshot.json +1187 -0
  39. package/db/d1/migrations/meta/0002_snapshot.json +1194 -0
  40. package/db/d1/migrations/meta/0003_snapshot.json +1296 -0
  41. package/db/d1/migrations/meta/0004_snapshot.json +1303 -0
  42. package/db/d1/migrations/meta/0005_snapshot.json +1325 -0
  43. package/db/d1/migrations/meta/0006_snapshot.json +1339 -0
  44. package/db/d1/migrations/meta/0007_snapshot.json +1347 -0
  45. package/db/d1/migrations/meta/0008_snapshot.json +1464 -0
  46. package/db/d1/migrations/meta/0009_snapshot.json +1648 -0
  47. package/db/d1/migrations/meta/_journal.json +76 -0
  48. package/db/d1/schema.ts +407 -0
  49. package/db/d1/sites.ts +374 -0
  50. package/db/d1/teamAiUsage.ts +101 -0
  51. package/db/d1/teams.ts +127 -0
  52. package/db/durable/drizzle.config.ts +8 -0
  53. package/db/durable/durableObjectClient.ts +480 -0
  54. package/db/durable/events.ts +100 -0
  55. package/db/durable/migrations/0000_fair_bucky.sql +38 -0
  56. package/db/durable/migrations/meta/0000_snapshot.json +278 -0
  57. package/db/durable/migrations/meta/_journal.json +13 -0
  58. package/db/durable/migrations/migrations.js +10 -0
  59. package/db/durable/schema.ts +5 -0
  60. package/db/durable/siteDurableObject.ts +1352 -0
  61. package/db/durable/types.ts +53 -0
  62. package/db/postgres/client.ts +13 -0
  63. package/db/postgres/drizzle.config.ts +12 -0
  64. package/db/postgres/migrations/0000_brainy_sprite.sql +116 -0
  65. package/db/postgres/migrations/meta/0000_snapshot.json +681 -0
  66. package/db/postgres/migrations/meta/_journal.json +13 -0
  67. package/db/postgres/schema.ts +145 -0
  68. package/db/postgres/sites.ts +118 -0
  69. package/db/tranformReports.ts +595 -0
  70. package/db/types.ts +55 -0
  71. package/endpoints/api_worker.tsx +1854 -0
  72. package/endpoints/site_do_worker.ts +11 -0
  73. package/index.d.ts +63 -0
  74. package/index.ts +83 -0
  75. package/lib/auth.ts +279 -0
  76. package/lib/geojson/world_countries.json +45307 -0
  77. package/lib/random_name.ts +41 -0
  78. package/lib/sendMail.ts +252 -0
  79. package/package.json +142 -0
  80. package/public/favicon.ico +0 -0
  81. package/public/images/android-chrome-192x192.png +0 -0
  82. package/public/images/android-chrome-512x512.png +0 -0
  83. package/public/images/apple-touch-icon.png +0 -0
  84. package/public/images/favicon-16x16.png +0 -0
  85. package/public/images/favicon-32x32.png +0 -0
  86. package/public/images/lytx_dark_dashboard.png +0 -0
  87. package/public/images/lytx_light_dashboard.png +0 -0
  88. package/public/images/safari-pinned-tab.svg +4 -0
  89. package/public/logo.png +0 -0
  90. package/public/site.webmanifest +26 -0
  91. package/public/sw.js +107 -0
  92. package/src/Document.tsx +86 -0
  93. package/src/api/ai_api.ts +1156 -0
  94. package/src/api/authMiddleware.ts +45 -0
  95. package/src/api/auth_api.ts +465 -0
  96. package/src/api/event_labels_api.ts +193 -0
  97. package/src/api/events_api.ts +210 -0
  98. package/src/api/queueWorker.ts +303 -0
  99. package/src/api/reports_api.ts +278 -0
  100. package/src/api/seed_api.ts +288 -0
  101. package/src/api/sites_api.ts +904 -0
  102. package/src/api/tag_api.ts +458 -0
  103. package/src/api/tag_api_v2.ts +289 -0
  104. package/src/api/team_api.ts +456 -0
  105. package/src/app/Dashboard.tsx +1339 -0
  106. package/src/app/Events.tsx +974 -0
  107. package/src/app/Explore.tsx +312 -0
  108. package/src/app/Layout.tsx +58 -0
  109. package/src/app/Settings.tsx +1302 -0
  110. package/src/app/components/DashboardCard.tsx +118 -0
  111. package/src/app/components/EditableCell.tsx +123 -0
  112. package/src/app/components/EventForm.tsx +93 -0
  113. package/src/app/components/MarketingFooter.tsx +49 -0
  114. package/src/app/components/MarketingNav.tsx +150 -0
  115. package/src/app/components/Nav.tsx +755 -0
  116. package/src/app/components/NewSiteSetup.tsx +298 -0
  117. package/src/app/components/SQLEditor.tsx +740 -0
  118. package/src/app/components/SiteSelector.tsx +126 -0
  119. package/src/app/components/SiteTag.tsx +42 -0
  120. package/src/app/components/SiteTagInstallCard.tsx +241 -0
  121. package/src/app/components/WorldMapCard.tsx +337 -0
  122. package/src/app/components/charts/ChartComponents.tsx +1481 -0
  123. package/src/app/components/charts/EventFunnel.tsx +45 -0
  124. package/src/app/components/charts/EventSummary.tsx +194 -0
  125. package/src/app/components/charts/SankeyFlows.tsx +72 -0
  126. package/src/app/components/marketing/CheckIcon.tsx +16 -0
  127. package/src/app/components/marketing/MarketingLayout.tsx +23 -0
  128. package/src/app/components/marketing/SectionHeading.tsx +35 -0
  129. package/src/app/components/reports/AskAiWorkspace.tsx +371 -0
  130. package/src/app/components/reports/CreateReportStarter.tsx +74 -0
  131. package/src/app/components/reports/DashboardRouteFiltersContext.tsx +14 -0
  132. package/src/app/components/reports/DashboardToolbar.tsx +154 -0
  133. package/src/app/components/reports/DashboardWorkspaceLayout.tsx +63 -0
  134. package/src/app/components/reports/DashboardWorkspaceShell.tsx +118 -0
  135. package/src/app/components/reports/ReportBuilderWorkspace.tsx +76 -0
  136. package/src/app/components/reports/custom/CustomReportBuilderPage.tsx +1667 -0
  137. package/src/app/components/reports/custom/ReportWidgetChart.tsx +297 -0
  138. package/src/app/components/reports/custom/buildWidgetSql.ts +151 -0
  139. package/src/app/components/reports/custom/chartPalettes.ts +18 -0
  140. package/src/app/components/reports/custom/types.ts +50 -0
  141. package/src/app/components/reports/reportBuilderMenuItems.ts +17 -0
  142. package/src/app/components/reports/useDashboardToolbarControls.tsx +235 -0
  143. package/src/app/components/ui/AlertBanner.tsx +101 -0
  144. package/src/app/components/ui/Button.tsx +55 -0
  145. package/src/app/components/ui/Card.tsx +80 -0
  146. package/src/app/components/ui/Input.tsx +72 -0
  147. package/src/app/components/ui/Link.tsx +23 -0
  148. package/src/app/components/ui/ReportBuilderMenu.tsx +246 -0
  149. package/src/app/components/ui/ThemeToggle.tsx +54 -0
  150. package/src/app/constants.ts +6 -0
  151. package/src/app/headers.ts +33 -0
  152. package/src/app/providers/AuthProvider.tsx +189 -0
  153. package/src/app/providers/ClientProviders.tsx +18 -0
  154. package/src/app/providers/QueryProvider.tsx +23 -0
  155. package/src/app/providers/ThemeProvider.tsx +88 -0
  156. package/src/app/utils/chartThemes.ts +146 -0
  157. package/src/app/utils/keybinds.ts +96 -0
  158. package/src/app/utils/media.tsx +24 -0
  159. package/src/client.tsx +114 -0
  160. package/src/config/createLytxAppConfig.ts +252 -0
  161. package/src/config/resourceNames.ts +88 -0
  162. package/src/db/index.ts +67 -0
  163. package/src/index.css +285 -0
  164. package/src/lib/featureFlags.ts +69 -0
  165. package/src/pages/GetStarted.tsx +290 -0
  166. package/src/pages/Home.tsx +268 -0
  167. package/src/pages/Login.tsx +283 -0
  168. package/src/pages/PrivacyPolicy.tsx +120 -0
  169. package/src/pages/Signup.tsx +267 -0
  170. package/src/pages/TermsOfService.tsx +126 -0
  171. package/src/pages/VerifyEmail.tsx +56 -0
  172. package/src/session/durableObject.ts +7 -0
  173. package/src/session/siteSchema.ts +86 -0
  174. package/src/session/types.ts +36 -0
  175. package/src/templates/README.md +80 -0
  176. package/src/templates/cleanFunctions.js +44 -0
  177. package/src/templates/embedFunctions.js +52 -0
  178. package/src/templates/lytx-shared.ts +662 -0
  179. package/src/templates/lytxpixel-core.ts +144 -0
  180. package/src/templates/lytxpixel.ts +267 -0
  181. package/src/templates/lytxpixelBrowser.js +634 -0
  182. package/src/templates/lytxpixelBrowser.mjs +634 -0
  183. package/src/templates/parseData.js +12 -0
  184. package/src/templates/script.ts +31 -0
  185. package/src/templates/template.tsx +50 -0
  186. package/src/templates/test.js +3 -0
  187. package/src/templates/trackWebEvents.ts +177 -0
  188. package/src/templates/vendors/clickcease.ts +8 -0
  189. package/src/templates/vendors/google.ts +174 -0
  190. package/src/templates/vendors/linkedin.ts +23 -0
  191. package/src/templates/vendors/meta.ts +56 -0
  192. package/src/templates/vendors/quantcast.ts +22 -0
  193. package/src/templates/vendors/simplfi.ts +7 -0
  194. package/src/types/app-context.ts +16 -0
  195. package/src/utilities/dashboardParams.ts +188 -0
  196. package/src/utilities/dashboardQueries.ts +537 -0
  197. package/src/utilities/dashboardTransforms.ts +167 -0
  198. package/src/utilities/dataValidation.ts +414 -0
  199. package/src/utilities/detector.ts +73 -0
  200. package/src/utilities/encrypt.ts +103 -0
  201. package/src/utilities/index.ts +13 -0
  202. package/src/utilities/parser.ts +117 -0
  203. package/src/utilities/performanceMonitoring.ts +570 -0
  204. package/src/utilities/route_interuptors.ts +24 -0
  205. package/src/worker.tsx +675 -0
  206. package/tsconfig.json +78 -0
  207. package/types/env.d.ts +16 -0
  208. package/types/rw.d.ts +7 -0
  209. package/types/shims.d.ts +53 -0
  210. package/types/vite.d.ts +19 -0
  211. package/vite/vite-plugin-pixel-bundle.ts +126 -0
  212. package/vite.config.ts +53 -0
  213. package/worker-configuration.d.ts +8401 -0
@@ -0,0 +1,1339 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "4cb59200-0671-4563-8335-7f5fc8afb635",
5
+ "prevId": "2a727f9b-ef69-476d-9860-36f8bebf9ff2",
6
+ "tables": {
7
+ "account": {
8
+ "name": "account",
9
+ "columns": {
10
+ "id": {
11
+ "name": "id",
12
+ "type": "text",
13
+ "primaryKey": true,
14
+ "notNull": true,
15
+ "autoincrement": false
16
+ },
17
+ "account_id": {
18
+ "name": "account_id",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true,
22
+ "autoincrement": false
23
+ },
24
+ "provider_id": {
25
+ "name": "provider_id",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true,
29
+ "autoincrement": false
30
+ },
31
+ "user_id": {
32
+ "name": "user_id",
33
+ "type": "text",
34
+ "primaryKey": false,
35
+ "notNull": true,
36
+ "autoincrement": false
37
+ },
38
+ "access_token": {
39
+ "name": "access_token",
40
+ "type": "text",
41
+ "primaryKey": false,
42
+ "notNull": false,
43
+ "autoincrement": false
44
+ },
45
+ "refresh_token": {
46
+ "name": "refresh_token",
47
+ "type": "text",
48
+ "primaryKey": false,
49
+ "notNull": false,
50
+ "autoincrement": false
51
+ },
52
+ "id_token": {
53
+ "name": "id_token",
54
+ "type": "text",
55
+ "primaryKey": false,
56
+ "notNull": false,
57
+ "autoincrement": false
58
+ },
59
+ "access_token_expires_at": {
60
+ "name": "access_token_expires_at",
61
+ "type": "integer",
62
+ "primaryKey": false,
63
+ "notNull": false,
64
+ "autoincrement": false
65
+ },
66
+ "refresh_token_expires_at": {
67
+ "name": "refresh_token_expires_at",
68
+ "type": "integer",
69
+ "primaryKey": false,
70
+ "notNull": false,
71
+ "autoincrement": false
72
+ },
73
+ "scope": {
74
+ "name": "scope",
75
+ "type": "text",
76
+ "primaryKey": false,
77
+ "notNull": false,
78
+ "autoincrement": false
79
+ },
80
+ "password": {
81
+ "name": "password",
82
+ "type": "text",
83
+ "primaryKey": false,
84
+ "notNull": false,
85
+ "autoincrement": false
86
+ },
87
+ "created_at": {
88
+ "name": "created_at",
89
+ "type": "integer",
90
+ "primaryKey": false,
91
+ "notNull": true,
92
+ "autoincrement": false
93
+ },
94
+ "updated_at": {
95
+ "name": "updated_at",
96
+ "type": "integer",
97
+ "primaryKey": false,
98
+ "notNull": true,
99
+ "autoincrement": false
100
+ }
101
+ },
102
+ "indexes": {
103
+ "account_user_id_idx": {
104
+ "name": "account_user_id_idx",
105
+ "columns": [
106
+ "user_id"
107
+ ],
108
+ "isUnique": false
109
+ }
110
+ },
111
+ "foreignKeys": {
112
+ "account_user_id_user_id_fk": {
113
+ "name": "account_user_id_user_id_fk",
114
+ "tableFrom": "account",
115
+ "tableTo": "user",
116
+ "columnsFrom": [
117
+ "user_id"
118
+ ],
119
+ "columnsTo": [
120
+ "id"
121
+ ],
122
+ "onDelete": "cascade",
123
+ "onUpdate": "no action"
124
+ }
125
+ },
126
+ "compositePrimaryKeys": {},
127
+ "uniqueConstraints": {},
128
+ "checkConstraints": {}
129
+ },
130
+ "api_key": {
131
+ "name": "api_key",
132
+ "columns": {
133
+ "id": {
134
+ "name": "id",
135
+ "type": "integer",
136
+ "primaryKey": true,
137
+ "notNull": true,
138
+ "autoincrement": true
139
+ },
140
+ "key": {
141
+ "name": "key",
142
+ "type": "text",
143
+ "primaryKey": false,
144
+ "notNull": false,
145
+ "autoincrement": false
146
+ },
147
+ "team_id": {
148
+ "name": "team_id",
149
+ "type": "integer",
150
+ "primaryKey": false,
151
+ "notNull": true,
152
+ "autoincrement": false
153
+ },
154
+ "site_id": {
155
+ "name": "site_id",
156
+ "type": "integer",
157
+ "primaryKey": false,
158
+ "notNull": false,
159
+ "autoincrement": false
160
+ },
161
+ "enabled": {
162
+ "name": "enabled",
163
+ "type": "integer",
164
+ "primaryKey": false,
165
+ "notNull": false,
166
+ "autoincrement": false,
167
+ "default": true
168
+ },
169
+ "permissions": {
170
+ "name": "permissions",
171
+ "type": "text",
172
+ "primaryKey": false,
173
+ "notNull": true,
174
+ "autoincrement": false,
175
+ "default": "'{\"read\":true,\"write\":true}'"
176
+ },
177
+ "allowed_team_members": {
178
+ "name": "allowed_team_members",
179
+ "type": "text",
180
+ "primaryKey": false,
181
+ "notNull": false,
182
+ "autoincrement": false,
183
+ "default": "'[]'"
184
+ },
185
+ "created_at": {
186
+ "name": "created_at",
187
+ "type": "integer",
188
+ "primaryKey": false,
189
+ "notNull": true,
190
+ "autoincrement": false
191
+ },
192
+ "updated_at": {
193
+ "name": "updated_at",
194
+ "type": "integer",
195
+ "primaryKey": false,
196
+ "notNull": true,
197
+ "autoincrement": false
198
+ }
199
+ },
200
+ "indexes": {
201
+ "api_key_team_id_idx": {
202
+ "name": "api_key_team_id_idx",
203
+ "columns": [
204
+ "team_id"
205
+ ],
206
+ "isUnique": false
207
+ },
208
+ "api_key_site_id_idx": {
209
+ "name": "api_key_site_id_idx",
210
+ "columns": [
211
+ "site_id"
212
+ ],
213
+ "isUnique": false
214
+ }
215
+ },
216
+ "foreignKeys": {},
217
+ "compositePrimaryKeys": {},
218
+ "uniqueConstraints": {},
219
+ "checkConstraints": {}
220
+ },
221
+ "event_labels": {
222
+ "name": "event_labels",
223
+ "columns": {
224
+ "id": {
225
+ "name": "id",
226
+ "type": "integer",
227
+ "primaryKey": true,
228
+ "notNull": true,
229
+ "autoincrement": true
230
+ },
231
+ "site_id": {
232
+ "name": "site_id",
233
+ "type": "integer",
234
+ "primaryKey": false,
235
+ "notNull": true,
236
+ "autoincrement": false
237
+ },
238
+ "event_name": {
239
+ "name": "event_name",
240
+ "type": "text",
241
+ "primaryKey": false,
242
+ "notNull": true,
243
+ "autoincrement": false
244
+ },
245
+ "label": {
246
+ "name": "label",
247
+ "type": "text",
248
+ "primaryKey": false,
249
+ "notNull": true,
250
+ "autoincrement": false
251
+ },
252
+ "description": {
253
+ "name": "description",
254
+ "type": "text",
255
+ "primaryKey": false,
256
+ "notNull": false,
257
+ "autoincrement": false
258
+ },
259
+ "created_at": {
260
+ "name": "created_at",
261
+ "type": "integer",
262
+ "primaryKey": false,
263
+ "notNull": true,
264
+ "autoincrement": false
265
+ },
266
+ "updated_at": {
267
+ "name": "updated_at",
268
+ "type": "integer",
269
+ "primaryKey": false,
270
+ "notNull": true,
271
+ "autoincrement": false
272
+ }
273
+ },
274
+ "indexes": {
275
+ "event_labels_site_id_idx": {
276
+ "name": "event_labels_site_id_idx",
277
+ "columns": [
278
+ "site_id"
279
+ ],
280
+ "isUnique": false
281
+ },
282
+ "event_labels_site_event_idx": {
283
+ "name": "event_labels_site_event_idx",
284
+ "columns": [
285
+ "site_id",
286
+ "event_name"
287
+ ],
288
+ "isUnique": false
289
+ }
290
+ },
291
+ "foreignKeys": {},
292
+ "compositePrimaryKeys": {},
293
+ "uniqueConstraints": {},
294
+ "checkConstraints": {}
295
+ },
296
+ "invited_user": {
297
+ "name": "invited_user",
298
+ "columns": {
299
+ "id": {
300
+ "name": "id",
301
+ "type": "integer",
302
+ "primaryKey": true,
303
+ "notNull": true,
304
+ "autoincrement": true
305
+ },
306
+ "team_id": {
307
+ "name": "team_id",
308
+ "type": "integer",
309
+ "primaryKey": false,
310
+ "notNull": true,
311
+ "autoincrement": false
312
+ },
313
+ "accepted": {
314
+ "name": "accepted",
315
+ "type": "integer",
316
+ "primaryKey": false,
317
+ "notNull": true,
318
+ "autoincrement": false
319
+ },
320
+ "email": {
321
+ "name": "email",
322
+ "type": "text",
323
+ "primaryKey": false,
324
+ "notNull": true,
325
+ "autoincrement": false
326
+ },
327
+ "role": {
328
+ "name": "role",
329
+ "type": "text",
330
+ "primaryKey": false,
331
+ "notNull": true,
332
+ "autoincrement": false,
333
+ "default": "'editor'"
334
+ },
335
+ "name": {
336
+ "name": "name",
337
+ "type": "text",
338
+ "primaryKey": false,
339
+ "notNull": false,
340
+ "autoincrement": false
341
+ },
342
+ "created_at": {
343
+ "name": "created_at",
344
+ "type": "integer",
345
+ "primaryKey": false,
346
+ "notNull": true,
347
+ "autoincrement": false
348
+ },
349
+ "updated_at": {
350
+ "name": "updated_at",
351
+ "type": "integer",
352
+ "primaryKey": false,
353
+ "notNull": true,
354
+ "autoincrement": false
355
+ }
356
+ },
357
+ "indexes": {
358
+ "invited_user_email_unique": {
359
+ "name": "invited_user_email_unique",
360
+ "columns": [
361
+ "email"
362
+ ],
363
+ "isUnique": true
364
+ },
365
+ "invited_user_team_id_idx": {
366
+ "name": "invited_user_team_id_idx",
367
+ "columns": [
368
+ "team_id"
369
+ ],
370
+ "isUnique": false
371
+ },
372
+ "invited_user_email_idx": {
373
+ "name": "invited_user_email_idx",
374
+ "columns": [
375
+ "email"
376
+ ],
377
+ "isUnique": false
378
+ }
379
+ },
380
+ "foreignKeys": {},
381
+ "compositePrimaryKeys": {},
382
+ "uniqueConstraints": {},
383
+ "checkConstraints": {}
384
+ },
385
+ "session": {
386
+ "name": "session",
387
+ "columns": {
388
+ "id": {
389
+ "name": "id",
390
+ "type": "text",
391
+ "primaryKey": true,
392
+ "notNull": true,
393
+ "autoincrement": false
394
+ },
395
+ "expires_at": {
396
+ "name": "expires_at",
397
+ "type": "integer",
398
+ "primaryKey": false,
399
+ "notNull": true,
400
+ "autoincrement": false
401
+ },
402
+ "token": {
403
+ "name": "token",
404
+ "type": "text",
405
+ "primaryKey": false,
406
+ "notNull": true,
407
+ "autoincrement": false
408
+ },
409
+ "created_at": {
410
+ "name": "created_at",
411
+ "type": "integer",
412
+ "primaryKey": false,
413
+ "notNull": true,
414
+ "autoincrement": false
415
+ },
416
+ "updated_at": {
417
+ "name": "updated_at",
418
+ "type": "integer",
419
+ "primaryKey": false,
420
+ "notNull": true,
421
+ "autoincrement": false
422
+ },
423
+ "ip_address": {
424
+ "name": "ip_address",
425
+ "type": "text",
426
+ "primaryKey": false,
427
+ "notNull": false,
428
+ "autoincrement": false
429
+ },
430
+ "user_agent": {
431
+ "name": "user_agent",
432
+ "type": "text",
433
+ "primaryKey": false,
434
+ "notNull": false,
435
+ "autoincrement": false
436
+ },
437
+ "user_id": {
438
+ "name": "user_id",
439
+ "type": "text",
440
+ "primaryKey": false,
441
+ "notNull": true,
442
+ "autoincrement": false
443
+ }
444
+ },
445
+ "indexes": {
446
+ "session_token_unique": {
447
+ "name": "session_token_unique",
448
+ "columns": [
449
+ "token"
450
+ ],
451
+ "isUnique": true
452
+ },
453
+ "session_user_id_idx": {
454
+ "name": "session_user_id_idx",
455
+ "columns": [
456
+ "user_id"
457
+ ],
458
+ "isUnique": false
459
+ },
460
+ "session_token_idx": {
461
+ "name": "session_token_idx",
462
+ "columns": [
463
+ "token"
464
+ ],
465
+ "isUnique": false
466
+ }
467
+ },
468
+ "foreignKeys": {
469
+ "session_user_id_user_id_fk": {
470
+ "name": "session_user_id_user_id_fk",
471
+ "tableFrom": "session",
472
+ "tableTo": "user",
473
+ "columnsFrom": [
474
+ "user_id"
475
+ ],
476
+ "columnsTo": [
477
+ "id"
478
+ ],
479
+ "onDelete": "cascade",
480
+ "onUpdate": "no action"
481
+ }
482
+ },
483
+ "compositePrimaryKeys": {},
484
+ "uniqueConstraints": {},
485
+ "checkConstraints": {}
486
+ },
487
+ "site_events": {
488
+ "name": "site_events",
489
+ "columns": {
490
+ "id": {
491
+ "name": "id",
492
+ "type": "integer",
493
+ "primaryKey": true,
494
+ "notNull": true,
495
+ "autoincrement": true
496
+ },
497
+ "team_id": {
498
+ "name": "team_id",
499
+ "type": "integer",
500
+ "primaryKey": false,
501
+ "notNull": false,
502
+ "autoincrement": false
503
+ },
504
+ "bot_data": {
505
+ "name": "bot_data",
506
+ "type": "text",
507
+ "primaryKey": false,
508
+ "notNull": false,
509
+ "autoincrement": false
510
+ },
511
+ "browser": {
512
+ "name": "browser",
513
+ "type": "text",
514
+ "primaryKey": false,
515
+ "notNull": false,
516
+ "autoincrement": false
517
+ },
518
+ "city": {
519
+ "name": "city",
520
+ "type": "text",
521
+ "primaryKey": false,
522
+ "notNull": false,
523
+ "autoincrement": false
524
+ },
525
+ "client_page_url": {
526
+ "name": "client_page_url",
527
+ "type": "text",
528
+ "primaryKey": false,
529
+ "notNull": false,
530
+ "autoincrement": false
531
+ },
532
+ "country": {
533
+ "name": "country",
534
+ "type": "text",
535
+ "primaryKey": false,
536
+ "notNull": false,
537
+ "autoincrement": false
538
+ },
539
+ "created_at": {
540
+ "name": "created_at",
541
+ "type": "integer",
542
+ "primaryKey": false,
543
+ "notNull": true,
544
+ "autoincrement": false
545
+ },
546
+ "updated_at": {
547
+ "name": "updated_at",
548
+ "type": "integer",
549
+ "primaryKey": false,
550
+ "notNull": true,
551
+ "autoincrement": false
552
+ },
553
+ "custom_data": {
554
+ "name": "custom_data",
555
+ "type": "text",
556
+ "primaryKey": false,
557
+ "notNull": false,
558
+ "autoincrement": false
559
+ },
560
+ "device_type": {
561
+ "name": "device_type",
562
+ "type": "text",
563
+ "primaryKey": false,
564
+ "notNull": false,
565
+ "autoincrement": false
566
+ },
567
+ "event": {
568
+ "name": "event",
569
+ "type": "text",
570
+ "primaryKey": false,
571
+ "notNull": true,
572
+ "autoincrement": false
573
+ },
574
+ "operating_system": {
575
+ "name": "operating_system",
576
+ "type": "text",
577
+ "primaryKey": false,
578
+ "notNull": false,
579
+ "autoincrement": false
580
+ },
581
+ "page_url": {
582
+ "name": "page_url",
583
+ "type": "text",
584
+ "primaryKey": false,
585
+ "notNull": false,
586
+ "autoincrement": false
587
+ },
588
+ "postal": {
589
+ "name": "postal",
590
+ "type": "text",
591
+ "primaryKey": false,
592
+ "notNull": false,
593
+ "autoincrement": false
594
+ },
595
+ "query_params": {
596
+ "name": "query_params",
597
+ "type": "text",
598
+ "primaryKey": false,
599
+ "notNull": false,
600
+ "autoincrement": false
601
+ },
602
+ "referer": {
603
+ "name": "referer",
604
+ "type": "text",
605
+ "primaryKey": false,
606
+ "notNull": false,
607
+ "autoincrement": false
608
+ },
609
+ "region": {
610
+ "name": "region",
611
+ "type": "text",
612
+ "primaryKey": false,
613
+ "notNull": false,
614
+ "autoincrement": false
615
+ },
616
+ "rid": {
617
+ "name": "rid",
618
+ "type": "text",
619
+ "primaryKey": false,
620
+ "notNull": false,
621
+ "autoincrement": false
622
+ },
623
+ "screen_height": {
624
+ "name": "screen_height",
625
+ "type": "integer",
626
+ "primaryKey": false,
627
+ "notNull": false,
628
+ "autoincrement": false
629
+ },
630
+ "screen_width": {
631
+ "name": "screen_width",
632
+ "type": "integer",
633
+ "primaryKey": false,
634
+ "notNull": false,
635
+ "autoincrement": false
636
+ },
637
+ "site_id": {
638
+ "name": "site_id",
639
+ "type": "integer",
640
+ "primaryKey": false,
641
+ "notNull": true,
642
+ "autoincrement": false
643
+ },
644
+ "tag_id": {
645
+ "name": "tag_id",
646
+ "type": "text",
647
+ "primaryKey": false,
648
+ "notNull": true,
649
+ "autoincrement": false
650
+ }
651
+ },
652
+ "indexes": {
653
+ "site_events_team_id_idx": {
654
+ "name": "site_events_team_id_idx",
655
+ "columns": [
656
+ "team_id"
657
+ ],
658
+ "isUnique": false
659
+ },
660
+ "site_events_site_id_idx": {
661
+ "name": "site_events_site_id_idx",
662
+ "columns": [
663
+ "site_id"
664
+ ],
665
+ "isUnique": false
666
+ },
667
+ "site_events_tag_id_idx": {
668
+ "name": "site_events_tag_id_idx",
669
+ "columns": [
670
+ "tag_id"
671
+ ],
672
+ "isUnique": false
673
+ },
674
+ "site_events_created_at_idx": {
675
+ "name": "site_events_created_at_idx",
676
+ "columns": [
677
+ "created_at"
678
+ ],
679
+ "isUnique": false
680
+ },
681
+ "site_events_team_site_idx": {
682
+ "name": "site_events_team_site_idx",
683
+ "columns": [
684
+ "team_id",
685
+ "site_id"
686
+ ],
687
+ "isUnique": false
688
+ },
689
+ "site_events_team_tag_idx": {
690
+ "name": "site_events_team_tag_idx",
691
+ "columns": [
692
+ "team_id",
693
+ "tag_id"
694
+ ],
695
+ "isUnique": false
696
+ },
697
+ "site_events_site_created_idx": {
698
+ "name": "site_events_site_created_idx",
699
+ "columns": [
700
+ "site_id",
701
+ "created_at"
702
+ ],
703
+ "isUnique": false
704
+ },
705
+ "site_events_team_created_idx": {
706
+ "name": "site_events_team_created_idx",
707
+ "columns": [
708
+ "team_id",
709
+ "created_at"
710
+ ],
711
+ "isUnique": false
712
+ },
713
+ "site_events_country_idx": {
714
+ "name": "site_events_country_idx",
715
+ "columns": [
716
+ "country"
717
+ ],
718
+ "isUnique": false
719
+ },
720
+ "site_events_device_type_idx": {
721
+ "name": "site_events_device_type_idx",
722
+ "columns": [
723
+ "device_type"
724
+ ],
725
+ "isUnique": false
726
+ },
727
+ "site_events_event_idx": {
728
+ "name": "site_events_event_idx",
729
+ "columns": [
730
+ "event"
731
+ ],
732
+ "isUnique": false
733
+ },
734
+ "site_events_referer_idx": {
735
+ "name": "site_events_referer_idx",
736
+ "columns": [
737
+ "referer"
738
+ ],
739
+ "isUnique": false
740
+ }
741
+ },
742
+ "foreignKeys": {},
743
+ "compositePrimaryKeys": {},
744
+ "uniqueConstraints": {},
745
+ "checkConstraints": {}
746
+ },
747
+ "sites": {
748
+ "name": "sites",
749
+ "columns": {
750
+ "site_id": {
751
+ "name": "site_id",
752
+ "type": "integer",
753
+ "primaryKey": true,
754
+ "notNull": true,
755
+ "autoincrement": true
756
+ },
757
+ "uuid": {
758
+ "name": "uuid",
759
+ "type": "text",
760
+ "primaryKey": false,
761
+ "notNull": true,
762
+ "autoincrement": false
763
+ },
764
+ "tag_id": {
765
+ "name": "tag_id",
766
+ "type": "text",
767
+ "primaryKey": false,
768
+ "notNull": true,
769
+ "autoincrement": false
770
+ },
771
+ "track_web_events": {
772
+ "name": "track_web_events",
773
+ "type": "integer",
774
+ "primaryKey": false,
775
+ "notNull": true,
776
+ "autoincrement": false,
777
+ "default": false
778
+ },
779
+ "gdpr": {
780
+ "name": "gdpr",
781
+ "type": "integer",
782
+ "primaryKey": false,
783
+ "notNull": false,
784
+ "autoincrement": false,
785
+ "default": false
786
+ },
787
+ "event_load_strategy": {
788
+ "name": "event_load_strategy",
789
+ "type": "text",
790
+ "primaryKey": false,
791
+ "notNull": true,
792
+ "autoincrement": false,
793
+ "default": "'sdk'"
794
+ },
795
+ "external_id": {
796
+ "name": "external_id",
797
+ "type": "integer",
798
+ "primaryKey": false,
799
+ "notNull": true,
800
+ "autoincrement": false,
801
+ "default": 0
802
+ },
803
+ "site_db_adapter": {
804
+ "name": "site_db_adapter",
805
+ "type": "text",
806
+ "primaryKey": false,
807
+ "notNull": true,
808
+ "autoincrement": false,
809
+ "default": "'sqlite'"
810
+ },
811
+ "team_id": {
812
+ "name": "team_id",
813
+ "type": "integer",
814
+ "primaryKey": false,
815
+ "notNull": true,
816
+ "autoincrement": false
817
+ },
818
+ "name": {
819
+ "name": "name",
820
+ "type": "text",
821
+ "primaryKey": false,
822
+ "notNull": false,
823
+ "autoincrement": false
824
+ },
825
+ "created_at": {
826
+ "name": "created_at",
827
+ "type": "integer",
828
+ "primaryKey": false,
829
+ "notNull": true,
830
+ "autoincrement": false
831
+ },
832
+ "updated_at": {
833
+ "name": "updated_at",
834
+ "type": "integer",
835
+ "primaryKey": false,
836
+ "notNull": true,
837
+ "autoincrement": false
838
+ },
839
+ "domain": {
840
+ "name": "domain",
841
+ "type": "text",
842
+ "primaryKey": false,
843
+ "notNull": false,
844
+ "autoincrement": false
845
+ },
846
+ "tag_manager": {
847
+ "name": "tag_manager",
848
+ "type": "integer",
849
+ "primaryKey": false,
850
+ "notNull": false,
851
+ "autoincrement": false,
852
+ "default": false
853
+ },
854
+ "autocapture": {
855
+ "name": "autocapture",
856
+ "type": "integer",
857
+ "primaryKey": false,
858
+ "notNull": false,
859
+ "autoincrement": false,
860
+ "default": true
861
+ },
862
+ "rid_salt": {
863
+ "name": "rid_salt",
864
+ "type": "text",
865
+ "primaryKey": false,
866
+ "notNull": false,
867
+ "autoincrement": false
868
+ },
869
+ "rid_salt_expire": {
870
+ "name": "rid_salt_expire",
871
+ "type": "integer",
872
+ "primaryKey": false,
873
+ "notNull": false,
874
+ "autoincrement": false
875
+ },
876
+ "tag_id_override": {
877
+ "name": "tag_id_override",
878
+ "type": "text",
879
+ "primaryKey": false,
880
+ "notNull": false,
881
+ "autoincrement": false
882
+ }
883
+ },
884
+ "indexes": {
885
+ "sites_team_id_idx": {
886
+ "name": "sites_team_id_idx",
887
+ "columns": [
888
+ "team_id"
889
+ ],
890
+ "isUnique": false
891
+ },
892
+ "sites_tag_id_idx": {
893
+ "name": "sites_tag_id_idx",
894
+ "columns": [
895
+ "tag_id"
896
+ ],
897
+ "isUnique": false
898
+ },
899
+ "sites_domain_idx": {
900
+ "name": "sites_domain_idx",
901
+ "columns": [
902
+ "domain"
903
+ ],
904
+ "isUnique": false
905
+ }
906
+ },
907
+ "foreignKeys": {},
908
+ "compositePrimaryKeys": {},
909
+ "uniqueConstraints": {},
910
+ "checkConstraints": {}
911
+ },
912
+ "team": {
913
+ "name": "team",
914
+ "columns": {
915
+ "id": {
916
+ "name": "id",
917
+ "type": "integer",
918
+ "primaryKey": true,
919
+ "notNull": true,
920
+ "autoincrement": true
921
+ },
922
+ "external_id": {
923
+ "name": "external_id",
924
+ "type": "integer",
925
+ "primaryKey": false,
926
+ "notNull": true,
927
+ "autoincrement": false,
928
+ "default": 0
929
+ },
930
+ "created_at": {
931
+ "name": "created_at",
932
+ "type": "integer",
933
+ "primaryKey": false,
934
+ "notNull": false,
935
+ "autoincrement": false
936
+ },
937
+ "updated_at": {
938
+ "name": "updated_at",
939
+ "type": "integer",
940
+ "primaryKey": false,
941
+ "notNull": true,
942
+ "autoincrement": false
943
+ },
944
+ "created_by": {
945
+ "name": "created_by",
946
+ "type": "text",
947
+ "primaryKey": false,
948
+ "notNull": true,
949
+ "autoincrement": false
950
+ },
951
+ "name": {
952
+ "name": "name",
953
+ "type": "text",
954
+ "primaryKey": false,
955
+ "notNull": false,
956
+ "autoincrement": false
957
+ },
958
+ "uuid": {
959
+ "name": "uuid",
960
+ "type": "text",
961
+ "primaryKey": false,
962
+ "notNull": false,
963
+ "autoincrement": false
964
+ },
965
+ "db_adapter": {
966
+ "name": "db_adapter",
967
+ "type": "text",
968
+ "primaryKey": false,
969
+ "notNull": true,
970
+ "autoincrement": false,
971
+ "default": "'sqlite'"
972
+ }
973
+ },
974
+ "indexes": {},
975
+ "foreignKeys": {},
976
+ "compositePrimaryKeys": {},
977
+ "uniqueConstraints": {},
978
+ "checkConstraints": {}
979
+ },
980
+ "team_billing": {
981
+ "name": "team_billing",
982
+ "columns": {
983
+ "id": {
984
+ "name": "id",
985
+ "type": "integer",
986
+ "primaryKey": true,
987
+ "notNull": true,
988
+ "autoincrement": true
989
+ },
990
+ "team_id": {
991
+ "name": "team_id",
992
+ "type": "integer",
993
+ "primaryKey": false,
994
+ "notNull": true,
995
+ "autoincrement": false
996
+ },
997
+ "stripe_customer_id": {
998
+ "name": "stripe_customer_id",
999
+ "type": "text",
1000
+ "primaryKey": false,
1001
+ "notNull": false,
1002
+ "autoincrement": false
1003
+ },
1004
+ "stripe_subscription_id": {
1005
+ "name": "stripe_subscription_id",
1006
+ "type": "text",
1007
+ "primaryKey": false,
1008
+ "notNull": false,
1009
+ "autoincrement": false
1010
+ },
1011
+ "stripe_price_id": {
1012
+ "name": "stripe_price_id",
1013
+ "type": "text",
1014
+ "primaryKey": false,
1015
+ "notNull": false,
1016
+ "autoincrement": false
1017
+ },
1018
+ "plan_name": {
1019
+ "name": "plan_name",
1020
+ "type": "text",
1021
+ "primaryKey": false,
1022
+ "notNull": false,
1023
+ "autoincrement": false
1024
+ },
1025
+ "status": {
1026
+ "name": "status",
1027
+ "type": "text",
1028
+ "primaryKey": false,
1029
+ "notNull": false,
1030
+ "autoincrement": false
1031
+ },
1032
+ "current_period_start": {
1033
+ "name": "current_period_start",
1034
+ "type": "integer",
1035
+ "primaryKey": false,
1036
+ "notNull": false,
1037
+ "autoincrement": false
1038
+ },
1039
+ "current_period_end": {
1040
+ "name": "current_period_end",
1041
+ "type": "integer",
1042
+ "primaryKey": false,
1043
+ "notNull": false,
1044
+ "autoincrement": false
1045
+ },
1046
+ "usage_mode": {
1047
+ "name": "usage_mode",
1048
+ "type": "text",
1049
+ "primaryKey": false,
1050
+ "notNull": true,
1051
+ "autoincrement": false,
1052
+ "default": "'metered'"
1053
+ },
1054
+ "usage_cap": {
1055
+ "name": "usage_cap",
1056
+ "type": "integer",
1057
+ "primaryKey": false,
1058
+ "notNull": false,
1059
+ "autoincrement": false
1060
+ },
1061
+ "created_at": {
1062
+ "name": "created_at",
1063
+ "type": "integer",
1064
+ "primaryKey": false,
1065
+ "notNull": true,
1066
+ "autoincrement": false
1067
+ },
1068
+ "updated_at": {
1069
+ "name": "updated_at",
1070
+ "type": "integer",
1071
+ "primaryKey": false,
1072
+ "notNull": true,
1073
+ "autoincrement": false
1074
+ }
1075
+ },
1076
+ "indexes": {
1077
+ "team_billing_team_id_idx": {
1078
+ "name": "team_billing_team_id_idx",
1079
+ "columns": [
1080
+ "team_id"
1081
+ ],
1082
+ "isUnique": false
1083
+ },
1084
+ "team_billing_customer_idx": {
1085
+ "name": "team_billing_customer_idx",
1086
+ "columns": [
1087
+ "stripe_customer_id"
1088
+ ],
1089
+ "isUnique": false
1090
+ },
1091
+ "team_billing_subscription_idx": {
1092
+ "name": "team_billing_subscription_idx",
1093
+ "columns": [
1094
+ "stripe_subscription_id"
1095
+ ],
1096
+ "isUnique": false
1097
+ }
1098
+ },
1099
+ "foreignKeys": {},
1100
+ "compositePrimaryKeys": {},
1101
+ "uniqueConstraints": {},
1102
+ "checkConstraints": {}
1103
+ },
1104
+ "team_member": {
1105
+ "name": "team_member",
1106
+ "columns": {
1107
+ "id": {
1108
+ "name": "id",
1109
+ "type": "integer",
1110
+ "primaryKey": true,
1111
+ "notNull": true,
1112
+ "autoincrement": true
1113
+ },
1114
+ "team_id": {
1115
+ "name": "team_id",
1116
+ "type": "integer",
1117
+ "primaryKey": false,
1118
+ "notNull": true,
1119
+ "autoincrement": false
1120
+ },
1121
+ "role": {
1122
+ "name": "role",
1123
+ "type": "text",
1124
+ "primaryKey": false,
1125
+ "notNull": true,
1126
+ "autoincrement": false,
1127
+ "default": "'editor'"
1128
+ },
1129
+ "user_id": {
1130
+ "name": "user_id",
1131
+ "type": "text",
1132
+ "primaryKey": false,
1133
+ "notNull": true,
1134
+ "autoincrement": false
1135
+ },
1136
+ "allowed_site_ids": {
1137
+ "name": "allowed_site_ids",
1138
+ "type": "text",
1139
+ "primaryKey": false,
1140
+ "notNull": false,
1141
+ "autoincrement": false,
1142
+ "default": "'[\"all\"]'"
1143
+ },
1144
+ "created_at": {
1145
+ "name": "created_at",
1146
+ "type": "integer",
1147
+ "primaryKey": false,
1148
+ "notNull": true,
1149
+ "autoincrement": false
1150
+ },
1151
+ "updated_at": {
1152
+ "name": "updated_at",
1153
+ "type": "integer",
1154
+ "primaryKey": false,
1155
+ "notNull": true,
1156
+ "autoincrement": false
1157
+ }
1158
+ },
1159
+ "indexes": {
1160
+ "team_member_team_id_idx": {
1161
+ "name": "team_member_team_id_idx",
1162
+ "columns": [
1163
+ "team_id"
1164
+ ],
1165
+ "isUnique": false
1166
+ },
1167
+ "team_member_user_id_idx": {
1168
+ "name": "team_member_user_id_idx",
1169
+ "columns": [
1170
+ "user_id"
1171
+ ],
1172
+ "isUnique": false
1173
+ },
1174
+ "team_member_team_user_idx": {
1175
+ "name": "team_member_team_user_idx",
1176
+ "columns": [
1177
+ "team_id",
1178
+ "user_id"
1179
+ ],
1180
+ "isUnique": false
1181
+ }
1182
+ },
1183
+ "foreignKeys": {},
1184
+ "compositePrimaryKeys": {},
1185
+ "uniqueConstraints": {},
1186
+ "checkConstraints": {}
1187
+ },
1188
+ "user": {
1189
+ "name": "user",
1190
+ "columns": {
1191
+ "id": {
1192
+ "name": "id",
1193
+ "type": "text",
1194
+ "primaryKey": true,
1195
+ "notNull": true,
1196
+ "autoincrement": false
1197
+ },
1198
+ "name": {
1199
+ "name": "name",
1200
+ "type": "text",
1201
+ "primaryKey": false,
1202
+ "notNull": true,
1203
+ "autoincrement": false
1204
+ },
1205
+ "email": {
1206
+ "name": "email",
1207
+ "type": "text",
1208
+ "primaryKey": false,
1209
+ "notNull": true,
1210
+ "autoincrement": false
1211
+ },
1212
+ "email_verified": {
1213
+ "name": "email_verified",
1214
+ "type": "integer",
1215
+ "primaryKey": false,
1216
+ "notNull": true,
1217
+ "autoincrement": false
1218
+ },
1219
+ "image": {
1220
+ "name": "image",
1221
+ "type": "text",
1222
+ "primaryKey": false,
1223
+ "notNull": false,
1224
+ "autoincrement": false
1225
+ },
1226
+ "timezone": {
1227
+ "name": "timezone",
1228
+ "type": "text",
1229
+ "primaryKey": false,
1230
+ "notNull": false,
1231
+ "autoincrement": false
1232
+ },
1233
+ "last_site_id": {
1234
+ "name": "last_site_id",
1235
+ "type": "integer",
1236
+ "primaryKey": false,
1237
+ "notNull": false,
1238
+ "autoincrement": false
1239
+ },
1240
+ "last_team_id": {
1241
+ "name": "last_team_id",
1242
+ "type": "integer",
1243
+ "primaryKey": false,
1244
+ "notNull": false,
1245
+ "autoincrement": false
1246
+ },
1247
+ "created_at": {
1248
+ "name": "created_at",
1249
+ "type": "integer",
1250
+ "primaryKey": false,
1251
+ "notNull": true,
1252
+ "autoincrement": false
1253
+ },
1254
+ "updated_at": {
1255
+ "name": "updated_at",
1256
+ "type": "integer",
1257
+ "primaryKey": false,
1258
+ "notNull": true,
1259
+ "autoincrement": false
1260
+ }
1261
+ },
1262
+ "indexes": {
1263
+ "user_email_unique": {
1264
+ "name": "user_email_unique",
1265
+ "columns": [
1266
+ "email"
1267
+ ],
1268
+ "isUnique": true
1269
+ }
1270
+ },
1271
+ "foreignKeys": {},
1272
+ "compositePrimaryKeys": {},
1273
+ "uniqueConstraints": {},
1274
+ "checkConstraints": {}
1275
+ },
1276
+ "verification": {
1277
+ "name": "verification",
1278
+ "columns": {
1279
+ "id": {
1280
+ "name": "id",
1281
+ "type": "text",
1282
+ "primaryKey": true,
1283
+ "notNull": true,
1284
+ "autoincrement": false
1285
+ },
1286
+ "identifier": {
1287
+ "name": "identifier",
1288
+ "type": "text",
1289
+ "primaryKey": false,
1290
+ "notNull": true,
1291
+ "autoincrement": false
1292
+ },
1293
+ "value": {
1294
+ "name": "value",
1295
+ "type": "text",
1296
+ "primaryKey": false,
1297
+ "notNull": true,
1298
+ "autoincrement": false
1299
+ },
1300
+ "expires_at": {
1301
+ "name": "expires_at",
1302
+ "type": "integer",
1303
+ "primaryKey": false,
1304
+ "notNull": true,
1305
+ "autoincrement": false
1306
+ },
1307
+ "created_at": {
1308
+ "name": "created_at",
1309
+ "type": "integer",
1310
+ "primaryKey": false,
1311
+ "notNull": false,
1312
+ "autoincrement": false
1313
+ },
1314
+ "updated_at": {
1315
+ "name": "updated_at",
1316
+ "type": "integer",
1317
+ "primaryKey": false,
1318
+ "notNull": true,
1319
+ "autoincrement": false
1320
+ }
1321
+ },
1322
+ "indexes": {},
1323
+ "foreignKeys": {},
1324
+ "compositePrimaryKeys": {},
1325
+ "uniqueConstraints": {},
1326
+ "checkConstraints": {}
1327
+ }
1328
+ },
1329
+ "views": {},
1330
+ "enums": {},
1331
+ "_meta": {
1332
+ "schemas": {},
1333
+ "tables": {},
1334
+ "columns": {}
1335
+ },
1336
+ "internal": {
1337
+ "indexes": {}
1338
+ }
1339
+ }