@weft-js/create 0.1.0 → 0.1.2

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 (127) hide show
  1. package/README.md +60 -10
  2. package/bin/create-weft.mjs +62 -14
  3. package/package.json +26 -16
  4. package/scripts/tarballs.mjs +56 -6
  5. package/src/data.mjs +90 -18
  6. package/src/index.mjs +210 -51
  7. package/src/stack/pages.mjs +151 -0
  8. package/src/stack/schema.mjs +195 -0
  9. package/src/stack.mjs +102 -313
  10. package/src/templates.mjs +174 -0
  11. package/src/wizard.mjs +65 -16
  12. package/templates/admin/files/drizzle/.schema-hash +1 -0
  13. package/templates/admin/files/drizzle/0000_admin.sql +136 -0
  14. package/templates/admin/files/drizzle/meta/0000_snapshot.json +771 -0
  15. package/templates/admin/files/drizzle/meta/_journal.json +13 -0
  16. package/templates/admin/files/public/favicon.svg +1 -0
  17. package/templates/admin/files/src/auth.server.ts +24 -0
  18. package/templates/admin/files/src/components/AuthPage.tsx +33 -0
  19. package/templates/admin/files/src/components/Failed.tsx +19 -0
  20. package/templates/admin/files/src/components/Logo.tsx +16 -0
  21. package/templates/admin/files/src/components/OrderDetail.tsx +93 -0
  22. package/templates/admin/files/src/components/OrdersFilters.tsx +44 -0
  23. package/templates/admin/files/src/components/OrdersTable.tsx +144 -0
  24. package/templates/admin/files/src/components/Overview.tsx +113 -0
  25. package/templates/admin/files/src/components/StatusBadge.tsx +12 -0
  26. package/templates/admin/files/src/db/schema.ts +68 -0
  27. package/templates/admin/files/src/lib/orders.ts +60 -0
  28. package/templates/admin/files/src/routes/404.tsx +20 -0
  29. package/templates/admin/files/src/routes/_error.tsx +20 -0
  30. package/templates/admin/files/src/routes/_layout.tsx +6 -0
  31. package/templates/admin/files/src/routes/admin/_layout.tsx +89 -0
  32. package/templates/admin/files/src/routes/admin/index.tsx +45 -0
  33. package/templates/admin/files/src/routes/admin/nested/_layout.tsx +35 -0
  34. package/templates/admin/files/src/routes/admin/nested/index.tsx +77 -0
  35. package/templates/admin/files/src/routes/admin/orders/[id].tsx +24 -0
  36. package/templates/admin/files/src/routes/admin/orders/index.tsx +28 -0
  37. package/templates/admin/files/src/routes/admin/per-row.tsx +81 -0
  38. package/templates/admin/files/src/routes/admin/slow.tsx +74 -0
  39. package/templates/admin/files/src/routes/index.tsx +13 -0
  40. package/templates/admin/files/src/routes/login.tsx +53 -0
  41. package/templates/admin/files/src/routes/signup.tsx +60 -0
  42. package/templates/admin/files/src/server/orders.ts +193 -0
  43. package/templates/admin/files/src/server/reports.ts +92 -0
  44. package/templates/admin/files/src/server/session.ts +42 -0
  45. package/templates/admin/files/src/theme.css +43 -0
  46. package/templates/admin/files/weft.config.ts +31 -0
  47. package/templates/admin/template.json +22 -0
  48. package/templates/catalog/files/drizzle/.schema-hash +1 -0
  49. package/templates/catalog/files/drizzle/0000_catalog.sql +47 -0
  50. package/templates/catalog/files/drizzle/meta/0000_snapshot.json +263 -0
  51. package/templates/catalog/files/drizzle/meta/_journal.json +13 -0
  52. package/templates/catalog/files/public/favicon.svg +1 -0
  53. package/templates/catalog/files/seed.sql +13 -0
  54. package/templates/catalog/files/src/components/AddToCart.tsx +22 -0
  55. package/templates/catalog/files/src/components/Aisles.tsx +31 -0
  56. package/templates/catalog/files/src/components/CartLines.tsx +96 -0
  57. package/templates/catalog/files/src/components/CartLink.tsx +29 -0
  58. package/templates/catalog/files/src/components/Failed.tsx +19 -0
  59. package/templates/catalog/files/src/components/Featured.tsx +19 -0
  60. package/templates/catalog/files/src/components/Filters.tsx +40 -0
  61. package/templates/catalog/files/src/components/Logo.tsx +16 -0
  62. package/templates/catalog/files/src/components/ProductArt.tsx +42 -0
  63. package/templates/catalog/files/src/components/ProductCard.tsx +42 -0
  64. package/templates/catalog/files/src/components/ProductList.tsx +65 -0
  65. package/templates/catalog/files/src/components/Related.tsx +19 -0
  66. package/templates/catalog/files/src/components/SiteFooter.tsx +9 -0
  67. package/templates/catalog/files/src/components/SiteHeader.tsx +16 -0
  68. package/templates/catalog/files/src/db/schema.ts +53 -0
  69. package/templates/catalog/files/src/lib/catalog.ts +35 -0
  70. package/templates/catalog/files/src/routes/404.tsx +18 -0
  71. package/templates/catalog/files/src/routes/_error.tsx +18 -0
  72. package/templates/catalog/files/src/routes/_layout.tsx +14 -0
  73. package/templates/catalog/files/src/routes/c/[slug].tsx +53 -0
  74. package/templates/catalog/files/src/routes/cart.tsx +29 -0
  75. package/templates/catalog/files/src/routes/index.tsx +84 -0
  76. package/templates/catalog/files/src/routes/p/[slug].tsx +67 -0
  77. package/templates/catalog/files/src/server/cart.ts +125 -0
  78. package/templates/catalog/files/src/server/catalog.ts +107 -0
  79. package/templates/catalog/files/src/theme.css +159 -0
  80. package/templates/catalog/files/weft.config.ts +30 -0
  81. package/templates/catalog/template.json +20 -0
  82. package/templates/landing/files/.weft/plugins.lock.json +42 -0
  83. package/templates/landing/files/assets/fonts/LICENSE-figtree.txt +93 -0
  84. package/templates/landing/files/assets/fonts/figtree.woff2 +0 -0
  85. package/templates/landing/files/assets/hero.webp +0 -0
  86. package/templates/landing/files/drizzle/.schema-hash +1 -0
  87. package/templates/landing/files/drizzle/0000_landing.sql +6 -0
  88. package/templates/landing/files/drizzle/meta/0000_snapshot.json +60 -0
  89. package/templates/landing/files/drizzle/meta/_journal.json +13 -0
  90. package/templates/landing/files/public/favicon.svg +1 -0
  91. package/templates/landing/files/src/components/SiteFooter.tsx +24 -0
  92. package/templates/landing/files/src/components/SiteHeader.tsx +23 -0
  93. package/templates/landing/files/src/components/WaitlistForm.tsx +36 -0
  94. package/templates/landing/files/src/db/schema.ts +7 -0
  95. package/templates/landing/files/src/routes/404.tsx +24 -0
  96. package/templates/landing/files/src/routes/_error.tsx +24 -0
  97. package/templates/landing/files/src/routes/_layout.tsx +14 -0
  98. package/templates/landing/files/src/routes/index.tsx +130 -0
  99. package/templates/landing/files/src/routes/joined.tsx +30 -0
  100. package/templates/landing/files/src/routes/pricing.tsx +131 -0
  101. package/templates/landing/files/src/routes/privacy.tsx +56 -0
  102. package/templates/landing/files/src/server/waitlist.ts +13 -0
  103. package/templates/landing/files/src/theme.css +108 -0
  104. package/templates/landing/files/weft.config.ts +44 -0
  105. package/templates/landing/template.json +17 -0
  106. package/templates/todo/files/drizzle/.schema-hash +1 -0
  107. package/templates/todo/files/drizzle/0000_todo.sql +82 -0
  108. package/templates/todo/files/drizzle/meta/0000_snapshot.json +462 -0
  109. package/templates/todo/files/drizzle/meta/_journal.json +13 -0
  110. package/templates/todo/files/public/favicon.svg +1 -0
  111. package/templates/todo/files/src/components/AuthPage.tsx +33 -0
  112. package/templates/todo/files/src/components/Logo.tsx +14 -0
  113. package/templates/todo/files/src/components/NewTodo.tsx +27 -0
  114. package/templates/todo/files/src/components/TodoList.tsx +101 -0
  115. package/templates/todo/files/src/db/schema.ts +18 -0
  116. package/templates/todo/files/src/lib/views.ts +13 -0
  117. package/templates/todo/files/src/routes/404.tsx +20 -0
  118. package/templates/todo/files/src/routes/_error.tsx +20 -0
  119. package/templates/todo/files/src/routes/_layout.tsx +6 -0
  120. package/templates/todo/files/src/routes/index.tsx +13 -0
  121. package/templates/todo/files/src/routes/login.tsx +53 -0
  122. package/templates/todo/files/src/routes/signup.tsx +57 -0
  123. package/templates/todo/files/src/routes/todos.tsx +87 -0
  124. package/templates/todo/files/src/server/todos.ts +98 -0
  125. package/templates/todo/files/src/theme.css +71 -0
  126. package/templates/todo/files/weft.config.ts +30 -0
  127. package/templates/todo/template.json +18 -0
@@ -0,0 +1,771 @@
1
+ {
2
+ "id": "bfa188ba-2be5-47e5-9f6f-817b32c4add8",
3
+ "prevId": "00000000-0000-0000-0000-000000000000",
4
+ "version": "7",
5
+ "dialect": "postgresql",
6
+ "tables": {
7
+ "public.categories": {
8
+ "name": "categories",
9
+ "schema": "",
10
+ "columns": {
11
+ "id": {
12
+ "name": "id",
13
+ "type": "serial",
14
+ "primaryKey": true,
15
+ "notNull": true
16
+ },
17
+ "slug": {
18
+ "name": "slug",
19
+ "type": "text",
20
+ "primaryKey": false,
21
+ "notNull": true
22
+ },
23
+ "name": {
24
+ "name": "name",
25
+ "type": "text",
26
+ "primaryKey": false,
27
+ "notNull": true
28
+ }
29
+ },
30
+ "indexes": {},
31
+ "foreignKeys": {},
32
+ "compositePrimaryKeys": {},
33
+ "uniqueConstraints": {
34
+ "categories_slug_unique": {
35
+ "name": "categories_slug_unique",
36
+ "nullsNotDistinct": false,
37
+ "columns": [
38
+ "slug"
39
+ ]
40
+ }
41
+ },
42
+ "policies": {},
43
+ "checkConstraints": {},
44
+ "isRLSEnabled": false
45
+ },
46
+ "public.customers": {
47
+ "name": "customers",
48
+ "schema": "",
49
+ "columns": {
50
+ "id": {
51
+ "name": "id",
52
+ "type": "serial",
53
+ "primaryKey": true,
54
+ "notNull": true
55
+ },
56
+ "name": {
57
+ "name": "name",
58
+ "type": "text",
59
+ "primaryKey": false,
60
+ "notNull": true
61
+ },
62
+ "email": {
63
+ "name": "email",
64
+ "type": "text",
65
+ "primaryKey": false,
66
+ "notNull": true
67
+ },
68
+ "city": {
69
+ "name": "city",
70
+ "type": "text",
71
+ "primaryKey": false,
72
+ "notNull": true
73
+ }
74
+ },
75
+ "indexes": {},
76
+ "foreignKeys": {},
77
+ "compositePrimaryKeys": {},
78
+ "uniqueConstraints": {
79
+ "customers_email_unique": {
80
+ "name": "customers_email_unique",
81
+ "nullsNotDistinct": false,
82
+ "columns": [
83
+ "email"
84
+ ]
85
+ }
86
+ },
87
+ "policies": {},
88
+ "checkConstraints": {},
89
+ "isRLSEnabled": false
90
+ },
91
+ "public.order_items": {
92
+ "name": "order_items",
93
+ "schema": "",
94
+ "columns": {
95
+ "id": {
96
+ "name": "id",
97
+ "type": "serial",
98
+ "primaryKey": true,
99
+ "notNull": true
100
+ },
101
+ "order_id": {
102
+ "name": "order_id",
103
+ "type": "integer",
104
+ "primaryKey": false,
105
+ "notNull": true
106
+ },
107
+ "product_id": {
108
+ "name": "product_id",
109
+ "type": "integer",
110
+ "primaryKey": false,
111
+ "notNull": true
112
+ },
113
+ "quantity": {
114
+ "name": "quantity",
115
+ "type": "integer",
116
+ "primaryKey": false,
117
+ "notNull": true
118
+ },
119
+ "price_cents": {
120
+ "name": "price_cents",
121
+ "type": "integer",
122
+ "primaryKey": false,
123
+ "notNull": true
124
+ }
125
+ },
126
+ "indexes": {
127
+ "order_items_order": {
128
+ "name": "order_items_order",
129
+ "columns": [
130
+ {
131
+ "expression": "order_id",
132
+ "isExpression": false,
133
+ "asc": true,
134
+ "nulls": "last"
135
+ }
136
+ ],
137
+ "isUnique": false,
138
+ "concurrently": false,
139
+ "method": "btree",
140
+ "with": {}
141
+ }
142
+ },
143
+ "foreignKeys": {
144
+ "order_items_order_id_orders_id_fk": {
145
+ "name": "order_items_order_id_orders_id_fk",
146
+ "tableFrom": "order_items",
147
+ "tableTo": "orders",
148
+ "columnsFrom": [
149
+ "order_id"
150
+ ],
151
+ "columnsTo": [
152
+ "id"
153
+ ],
154
+ "onDelete": "cascade",
155
+ "onUpdate": "no action"
156
+ },
157
+ "order_items_product_id_products_id_fk": {
158
+ "name": "order_items_product_id_products_id_fk",
159
+ "tableFrom": "order_items",
160
+ "tableTo": "products",
161
+ "columnsFrom": [
162
+ "product_id"
163
+ ],
164
+ "columnsTo": [
165
+ "id"
166
+ ],
167
+ "onDelete": "no action",
168
+ "onUpdate": "no action"
169
+ }
170
+ },
171
+ "compositePrimaryKeys": {},
172
+ "uniqueConstraints": {},
173
+ "policies": {},
174
+ "checkConstraints": {},
175
+ "isRLSEnabled": false
176
+ },
177
+ "public.orders": {
178
+ "name": "orders",
179
+ "schema": "",
180
+ "columns": {
181
+ "id": {
182
+ "name": "id",
183
+ "type": "serial",
184
+ "primaryKey": true,
185
+ "notNull": true
186
+ },
187
+ "customer_id": {
188
+ "name": "customer_id",
189
+ "type": "integer",
190
+ "primaryKey": false,
191
+ "notNull": true
192
+ },
193
+ "status": {
194
+ "name": "status",
195
+ "type": "text",
196
+ "primaryKey": false,
197
+ "notNull": true
198
+ },
199
+ "total_cents": {
200
+ "name": "total_cents",
201
+ "type": "integer",
202
+ "primaryKey": false,
203
+ "notNull": true
204
+ },
205
+ "created_at": {
206
+ "name": "created_at",
207
+ "type": "timestamp with time zone",
208
+ "primaryKey": false,
209
+ "notNull": true
210
+ }
211
+ },
212
+ "indexes": {
213
+ "orders_created": {
214
+ "name": "orders_created",
215
+ "columns": [
216
+ {
217
+ "expression": "\"created_at\" desc",
218
+ "asc": true,
219
+ "isExpression": true,
220
+ "nulls": "last"
221
+ },
222
+ {
223
+ "expression": "\"id\" desc",
224
+ "asc": true,
225
+ "isExpression": true,
226
+ "nulls": "last"
227
+ }
228
+ ],
229
+ "isUnique": false,
230
+ "concurrently": false,
231
+ "method": "btree",
232
+ "with": {}
233
+ },
234
+ "orders_status": {
235
+ "name": "orders_status",
236
+ "columns": [
237
+ {
238
+ "expression": "status",
239
+ "isExpression": false,
240
+ "asc": true,
241
+ "nulls": "last"
242
+ },
243
+ {
244
+ "expression": "\"created_at\" desc",
245
+ "asc": true,
246
+ "isExpression": true,
247
+ "nulls": "last"
248
+ }
249
+ ],
250
+ "isUnique": false,
251
+ "concurrently": false,
252
+ "method": "btree",
253
+ "with": {}
254
+ },
255
+ "orders_customer": {
256
+ "name": "orders_customer",
257
+ "columns": [
258
+ {
259
+ "expression": "customer_id",
260
+ "isExpression": false,
261
+ "asc": true,
262
+ "nulls": "last"
263
+ }
264
+ ],
265
+ "isUnique": false,
266
+ "concurrently": false,
267
+ "method": "btree",
268
+ "with": {}
269
+ }
270
+ },
271
+ "foreignKeys": {
272
+ "orders_customer_id_customers_id_fk": {
273
+ "name": "orders_customer_id_customers_id_fk",
274
+ "tableFrom": "orders",
275
+ "tableTo": "customers",
276
+ "columnsFrom": [
277
+ "customer_id"
278
+ ],
279
+ "columnsTo": [
280
+ "id"
281
+ ],
282
+ "onDelete": "no action",
283
+ "onUpdate": "no action"
284
+ }
285
+ },
286
+ "compositePrimaryKeys": {},
287
+ "uniqueConstraints": {},
288
+ "policies": {},
289
+ "checkConstraints": {},
290
+ "isRLSEnabled": false
291
+ },
292
+ "public.products": {
293
+ "name": "products",
294
+ "schema": "",
295
+ "columns": {
296
+ "id": {
297
+ "name": "id",
298
+ "type": "serial",
299
+ "primaryKey": true,
300
+ "notNull": true
301
+ },
302
+ "slug": {
303
+ "name": "slug",
304
+ "type": "text",
305
+ "primaryKey": false,
306
+ "notNull": true
307
+ },
308
+ "name": {
309
+ "name": "name",
310
+ "type": "text",
311
+ "primaryKey": false,
312
+ "notNull": true
313
+ },
314
+ "description": {
315
+ "name": "description",
316
+ "type": "text",
317
+ "primaryKey": false,
318
+ "notNull": true
319
+ },
320
+ "category_id": {
321
+ "name": "category_id",
322
+ "type": "integer",
323
+ "primaryKey": false,
324
+ "notNull": true
325
+ },
326
+ "price_cents": {
327
+ "name": "price_cents",
328
+ "type": "integer",
329
+ "primaryKey": false,
330
+ "notNull": true
331
+ },
332
+ "stock": {
333
+ "name": "stock",
334
+ "type": "integer",
335
+ "primaryKey": false,
336
+ "notNull": true
337
+ },
338
+ "featured": {
339
+ "name": "featured",
340
+ "type": "boolean",
341
+ "primaryKey": false,
342
+ "notNull": true,
343
+ "default": false
344
+ }
345
+ },
346
+ "indexes": {
347
+ "products_category": {
348
+ "name": "products_category",
349
+ "columns": [
350
+ {
351
+ "expression": "category_id",
352
+ "isExpression": false,
353
+ "asc": true,
354
+ "nulls": "last"
355
+ },
356
+ {
357
+ "expression": "price_cents",
358
+ "isExpression": false,
359
+ "asc": true,
360
+ "nulls": "last"
361
+ },
362
+ {
363
+ "expression": "id",
364
+ "isExpression": false,
365
+ "asc": true,
366
+ "nulls": "last"
367
+ }
368
+ ],
369
+ "isUnique": false,
370
+ "concurrently": false,
371
+ "method": "btree",
372
+ "with": {}
373
+ }
374
+ },
375
+ "foreignKeys": {
376
+ "products_category_id_categories_id_fk": {
377
+ "name": "products_category_id_categories_id_fk",
378
+ "tableFrom": "products",
379
+ "tableTo": "categories",
380
+ "columnsFrom": [
381
+ "category_id"
382
+ ],
383
+ "columnsTo": [
384
+ "id"
385
+ ],
386
+ "onDelete": "no action",
387
+ "onUpdate": "no action"
388
+ }
389
+ },
390
+ "compositePrimaryKeys": {},
391
+ "uniqueConstraints": {
392
+ "products_slug_unique": {
393
+ "name": "products_slug_unique",
394
+ "nullsNotDistinct": false,
395
+ "columns": [
396
+ "slug"
397
+ ]
398
+ }
399
+ },
400
+ "policies": {},
401
+ "checkConstraints": {},
402
+ "isRLSEnabled": false
403
+ },
404
+ "public.account": {
405
+ "name": "account",
406
+ "schema": "",
407
+ "columns": {
408
+ "id": {
409
+ "name": "id",
410
+ "type": "text",
411
+ "primaryKey": true,
412
+ "notNull": true
413
+ },
414
+ "accountId": {
415
+ "name": "accountId",
416
+ "type": "text",
417
+ "primaryKey": false,
418
+ "notNull": true
419
+ },
420
+ "providerId": {
421
+ "name": "providerId",
422
+ "type": "text",
423
+ "primaryKey": false,
424
+ "notNull": true
425
+ },
426
+ "userId": {
427
+ "name": "userId",
428
+ "type": "text",
429
+ "primaryKey": false,
430
+ "notNull": true
431
+ },
432
+ "accessToken": {
433
+ "name": "accessToken",
434
+ "type": "text",
435
+ "primaryKey": false,
436
+ "notNull": false
437
+ },
438
+ "refreshToken": {
439
+ "name": "refreshToken",
440
+ "type": "text",
441
+ "primaryKey": false,
442
+ "notNull": false
443
+ },
444
+ "idToken": {
445
+ "name": "idToken",
446
+ "type": "text",
447
+ "primaryKey": false,
448
+ "notNull": false
449
+ },
450
+ "accessTokenExpiresAt": {
451
+ "name": "accessTokenExpiresAt",
452
+ "type": "timestamp with time zone",
453
+ "primaryKey": false,
454
+ "notNull": false
455
+ },
456
+ "refreshTokenExpiresAt": {
457
+ "name": "refreshTokenExpiresAt",
458
+ "type": "timestamp with time zone",
459
+ "primaryKey": false,
460
+ "notNull": false
461
+ },
462
+ "scope": {
463
+ "name": "scope",
464
+ "type": "text",
465
+ "primaryKey": false,
466
+ "notNull": false
467
+ },
468
+ "password": {
469
+ "name": "password",
470
+ "type": "text",
471
+ "primaryKey": false,
472
+ "notNull": false
473
+ },
474
+ "createdAt": {
475
+ "name": "createdAt",
476
+ "type": "timestamp with time zone",
477
+ "primaryKey": false,
478
+ "notNull": true
479
+ },
480
+ "updatedAt": {
481
+ "name": "updatedAt",
482
+ "type": "timestamp with time zone",
483
+ "primaryKey": false,
484
+ "notNull": true
485
+ }
486
+ },
487
+ "indexes": {},
488
+ "foreignKeys": {
489
+ "account_userId_user_id_fk": {
490
+ "name": "account_userId_user_id_fk",
491
+ "tableFrom": "account",
492
+ "tableTo": "user",
493
+ "columnsFrom": [
494
+ "userId"
495
+ ],
496
+ "columnsTo": [
497
+ "id"
498
+ ],
499
+ "onDelete": "cascade",
500
+ "onUpdate": "no action"
501
+ }
502
+ },
503
+ "compositePrimaryKeys": {},
504
+ "uniqueConstraints": {},
505
+ "policies": {},
506
+ "checkConstraints": {},
507
+ "isRLSEnabled": false
508
+ },
509
+ "public.jwks": {
510
+ "name": "jwks",
511
+ "schema": "",
512
+ "columns": {
513
+ "id": {
514
+ "name": "id",
515
+ "type": "text",
516
+ "primaryKey": true,
517
+ "notNull": true
518
+ },
519
+ "publicKey": {
520
+ "name": "publicKey",
521
+ "type": "text",
522
+ "primaryKey": false,
523
+ "notNull": true
524
+ },
525
+ "privateKey": {
526
+ "name": "privateKey",
527
+ "type": "text",
528
+ "primaryKey": false,
529
+ "notNull": true
530
+ },
531
+ "createdAt": {
532
+ "name": "createdAt",
533
+ "type": "timestamp with time zone",
534
+ "primaryKey": false,
535
+ "notNull": true
536
+ },
537
+ "expiresAt": {
538
+ "name": "expiresAt",
539
+ "type": "timestamp with time zone",
540
+ "primaryKey": false,
541
+ "notNull": false
542
+ },
543
+ "alg": {
544
+ "name": "alg",
545
+ "type": "text",
546
+ "primaryKey": false,
547
+ "notNull": false
548
+ },
549
+ "crv": {
550
+ "name": "crv",
551
+ "type": "text",
552
+ "primaryKey": false,
553
+ "notNull": false
554
+ }
555
+ },
556
+ "indexes": {},
557
+ "foreignKeys": {},
558
+ "compositePrimaryKeys": {},
559
+ "uniqueConstraints": {},
560
+ "policies": {},
561
+ "checkConstraints": {},
562
+ "isRLSEnabled": false
563
+ },
564
+ "public.session": {
565
+ "name": "session",
566
+ "schema": "",
567
+ "columns": {
568
+ "id": {
569
+ "name": "id",
570
+ "type": "text",
571
+ "primaryKey": true,
572
+ "notNull": true
573
+ },
574
+ "expiresAt": {
575
+ "name": "expiresAt",
576
+ "type": "timestamp with time zone",
577
+ "primaryKey": false,
578
+ "notNull": true
579
+ },
580
+ "token": {
581
+ "name": "token",
582
+ "type": "text",
583
+ "primaryKey": false,
584
+ "notNull": true
585
+ },
586
+ "createdAt": {
587
+ "name": "createdAt",
588
+ "type": "timestamp with time zone",
589
+ "primaryKey": false,
590
+ "notNull": true
591
+ },
592
+ "updatedAt": {
593
+ "name": "updatedAt",
594
+ "type": "timestamp with time zone",
595
+ "primaryKey": false,
596
+ "notNull": true
597
+ },
598
+ "ipAddress": {
599
+ "name": "ipAddress",
600
+ "type": "text",
601
+ "primaryKey": false,
602
+ "notNull": false
603
+ },
604
+ "userAgent": {
605
+ "name": "userAgent",
606
+ "type": "text",
607
+ "primaryKey": false,
608
+ "notNull": false
609
+ },
610
+ "userId": {
611
+ "name": "userId",
612
+ "type": "text",
613
+ "primaryKey": false,
614
+ "notNull": true
615
+ }
616
+ },
617
+ "indexes": {},
618
+ "foreignKeys": {
619
+ "session_userId_user_id_fk": {
620
+ "name": "session_userId_user_id_fk",
621
+ "tableFrom": "session",
622
+ "tableTo": "user",
623
+ "columnsFrom": [
624
+ "userId"
625
+ ],
626
+ "columnsTo": [
627
+ "id"
628
+ ],
629
+ "onDelete": "cascade",
630
+ "onUpdate": "no action"
631
+ }
632
+ },
633
+ "compositePrimaryKeys": {},
634
+ "uniqueConstraints": {
635
+ "session_token_unique": {
636
+ "name": "session_token_unique",
637
+ "nullsNotDistinct": false,
638
+ "columns": [
639
+ "token"
640
+ ]
641
+ }
642
+ },
643
+ "policies": {},
644
+ "checkConstraints": {},
645
+ "isRLSEnabled": false
646
+ },
647
+ "public.user": {
648
+ "name": "user",
649
+ "schema": "",
650
+ "columns": {
651
+ "id": {
652
+ "name": "id",
653
+ "type": "text",
654
+ "primaryKey": true,
655
+ "notNull": true
656
+ },
657
+ "name": {
658
+ "name": "name",
659
+ "type": "text",
660
+ "primaryKey": false,
661
+ "notNull": true
662
+ },
663
+ "email": {
664
+ "name": "email",
665
+ "type": "text",
666
+ "primaryKey": false,
667
+ "notNull": true
668
+ },
669
+ "emailVerified": {
670
+ "name": "emailVerified",
671
+ "type": "boolean",
672
+ "primaryKey": false,
673
+ "notNull": true
674
+ },
675
+ "image": {
676
+ "name": "image",
677
+ "type": "text",
678
+ "primaryKey": false,
679
+ "notNull": false
680
+ },
681
+ "createdAt": {
682
+ "name": "createdAt",
683
+ "type": "timestamp with time zone",
684
+ "primaryKey": false,
685
+ "notNull": true
686
+ },
687
+ "updatedAt": {
688
+ "name": "updatedAt",
689
+ "type": "timestamp with time zone",
690
+ "primaryKey": false,
691
+ "notNull": true
692
+ }
693
+ },
694
+ "indexes": {},
695
+ "foreignKeys": {},
696
+ "compositePrimaryKeys": {},
697
+ "uniqueConstraints": {
698
+ "user_email_unique": {
699
+ "name": "user_email_unique",
700
+ "nullsNotDistinct": false,
701
+ "columns": [
702
+ "email"
703
+ ]
704
+ }
705
+ },
706
+ "policies": {},
707
+ "checkConstraints": {},
708
+ "isRLSEnabled": false
709
+ },
710
+ "public.verification": {
711
+ "name": "verification",
712
+ "schema": "",
713
+ "columns": {
714
+ "id": {
715
+ "name": "id",
716
+ "type": "text",
717
+ "primaryKey": true,
718
+ "notNull": true
719
+ },
720
+ "identifier": {
721
+ "name": "identifier",
722
+ "type": "text",
723
+ "primaryKey": false,
724
+ "notNull": true
725
+ },
726
+ "value": {
727
+ "name": "value",
728
+ "type": "text",
729
+ "primaryKey": false,
730
+ "notNull": true
731
+ },
732
+ "expiresAt": {
733
+ "name": "expiresAt",
734
+ "type": "timestamp with time zone",
735
+ "primaryKey": false,
736
+ "notNull": true
737
+ },
738
+ "createdAt": {
739
+ "name": "createdAt",
740
+ "type": "timestamp with time zone",
741
+ "primaryKey": false,
742
+ "notNull": false
743
+ },
744
+ "updatedAt": {
745
+ "name": "updatedAt",
746
+ "type": "timestamp with time zone",
747
+ "primaryKey": false,
748
+ "notNull": false
749
+ }
750
+ },
751
+ "indexes": {},
752
+ "foreignKeys": {},
753
+ "compositePrimaryKeys": {},
754
+ "uniqueConstraints": {},
755
+ "policies": {},
756
+ "checkConstraints": {},
757
+ "isRLSEnabled": false
758
+ }
759
+ },
760
+ "enums": {},
761
+ "schemas": {},
762
+ "sequences": {},
763
+ "roles": {},
764
+ "policies": {},
765
+ "views": {},
766
+ "_meta": {
767
+ "columns": {},
768
+ "schemas": {},
769
+ "tables": {}
770
+ }
771
+ }