create-fate 1.0.3 → 1.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 (208) hide show
  1. package/README.md +3 -0
  2. package/bin/create-fate.mjs +594 -9
  3. package/package.json +2 -2
  4. package/templates/fate/README.md +3 -0
  5. package/templates/fate/_shared/vue-app/package.json +54 -0
  6. package/templates/fate/_shared/vue-app/pages/index.vue +57 -0
  7. package/templates/fate/_shared/vue-app/pages/layout.vue +32 -0
  8. package/templates/fate/_shared/vue-app/pages/post/[id].vue +24 -0
  9. package/templates/fate/_shared/vue-app/src/App.css +63 -0
  10. package/templates/fate/_shared/vue-app/src/fateViews.ts +14 -0
  11. package/templates/fate/_shared/vue-app/src/lib/cx.ts +6 -0
  12. package/templates/fate/_shared/vue-app/src/lib/env.ts +3 -0
  13. package/templates/fate/_shared/vue-app/src/ui/Button.vue +67 -0
  14. package/templates/fate/_shared/vue-app/src/ui/Card.vue +16 -0
  15. package/templates/fate/_shared/vue-app/src/ui/Error.vue +9 -0
  16. package/templates/fate/_shared/vue-app/src/ui/ErrorBoundary.vue +22 -0
  17. package/templates/fate/_shared/vue-app/src/ui/Header.vue +35 -0
  18. package/templates/fate/_shared/vue-app/src/ui/Link.vue +15 -0
  19. package/templates/fate/_shared/vue-app/src/ui/PostCard.vue +29 -0
  20. package/templates/fate/_shared/vue-app/src/ui/Section.vue +19 -0
  21. package/templates/fate/_shared/vue-app/src/ui/Thinking.vue +11 -0
  22. package/templates/fate/_shared/vue-app/src/ui/UserCard.vue +23 -0
  23. package/templates/fate/_shared/vue-app/src/vue-shims.d.ts +6 -0
  24. package/templates/fate/_shared/vue-app/tsconfig.json +22 -0
  25. package/templates/fate/_shared/vue-app/vite.config.ts +58 -0
  26. package/templates/fate/_shared/vue-app/void.json +5 -0
  27. package/templates/fate/cloudflare/.github/workflows/push.yml +27 -0
  28. package/templates/fate/cloudflare/.vite-hooks/pre-commit +1 -0
  29. package/templates/fate/cloudflare/.vscode/extensions.json +12 -0
  30. package/templates/fate/cloudflare/.vscode/settings.json +25 -0
  31. package/templates/fate/cloudflare/AGENTS.md +55 -0
  32. package/templates/fate/cloudflare/README.md +126 -0
  33. package/templates/fate/cloudflare/_gitignore +20 -0
  34. package/templates/fate/cloudflare/client/package.json +56 -0
  35. package/templates/fate/cloudflare/client/pages/index.tsx +96 -0
  36. package/templates/fate/cloudflare/client/pages/layout.tsx +82 -0
  37. package/templates/fate/cloudflare/client/pages/login.tsx +107 -0
  38. package/templates/fate/cloudflare/client/pages/post/[id].tsx +22 -0
  39. package/templates/fate/cloudflare/client/pages/search.tsx +99 -0
  40. package/templates/fate/cloudflare/client/public/icon.svg +1 -0
  41. package/templates/fate/cloudflare/client/src/App.css +153 -0
  42. package/templates/fate/cloudflare/client/src/lib/AvailableLanguages.tsx +5 -0
  43. package/templates/fate/cloudflare/client/src/lib/cx.tsx +6 -0
  44. package/templates/fate/cloudflare/client/src/lib/env.tsx +5 -0
  45. package/templates/fate/cloudflare/client/src/ui/Badge.tsx +31 -0
  46. package/templates/fate/cloudflare/client/src/ui/Button.tsx +108 -0
  47. package/templates/fate/cloudflare/client/src/ui/Card.tsx +32 -0
  48. package/templates/fate/cloudflare/client/src/ui/CommentCard.tsx +75 -0
  49. package/templates/fate/cloudflare/client/src/ui/Error.tsx +19 -0
  50. package/templates/fate/cloudflare/client/src/ui/H2.tsx +15 -0
  51. package/templates/fate/cloudflare/client/src/ui/H3.tsx +20 -0
  52. package/templates/fate/cloudflare/client/src/ui/Header.tsx +98 -0
  53. package/templates/fate/cloudflare/client/src/ui/Input.tsx +17 -0
  54. package/templates/fate/cloudflare/client/src/ui/Link.tsx +11 -0
  55. package/templates/fate/cloudflare/client/src/ui/LocaleSwitcher.tsx +52 -0
  56. package/templates/fate/cloudflare/client/src/ui/PostCard.tsx +303 -0
  57. package/templates/fate/cloudflare/client/src/ui/Section.tsx +23 -0
  58. package/templates/fate/cloudflare/client/src/ui/UserCard.tsx +131 -0
  59. package/templates/fate/cloudflare/client/src/user/AuthClient.tsx +6 -0
  60. package/templates/fate/cloudflare/client/translations/de_DE.json +689 -0
  61. package/templates/fate/cloudflare/client/translations/ja_JP.json +689 -0
  62. package/templates/fate/cloudflare/client/vite.config.ts +45 -0
  63. package/templates/fate/cloudflare/client/void.json +29 -0
  64. package/templates/fate/cloudflare/package.json +46 -0
  65. package/templates/fate/cloudflare/pnpm-workspace.yaml +39 -0
  66. package/templates/fate/cloudflare/server/.env.example +1 -0
  67. package/templates/fate/cloudflare/server/db/db.ts +30 -0
  68. package/templates/fate/cloudflare/server/db/migrations/20260508073357_initial_schema.sql +133 -0
  69. package/templates/fate/cloudflare/server/db/migrations/20260508120500_seed_cloudflare_demo.sql +170 -0
  70. package/templates/fate/cloudflare/server/db/migrations/meta/20260508073357_snapshot.json +868 -0
  71. package/templates/fate/cloudflare/server/db/migrations/meta/_journal.json +20 -0
  72. package/templates/fate/cloudflare/server/db/queries.ts +211 -0
  73. package/templates/fate/cloudflare/server/db/schema.ts +332 -0
  74. package/templates/fate/cloudflare/server/package.json +34 -0
  75. package/templates/fate/cloudflare/server/src/fate/commentPermissions.ts +17 -0
  76. package/templates/fate/cloudflare/server/src/fate/context.ts +15 -0
  77. package/templates/fate/cloudflare/server/src/fate/live.ts +7 -0
  78. package/templates/fate/cloudflare/server/src/fate/server.ts +411 -0
  79. package/templates/fate/cloudflare/server/src/fate/views.ts +164 -0
  80. package/templates/fate/cloudflare/server/src/index.ts +80 -0
  81. package/templates/fate/cloudflare/server/src/lib/auth.ts +66 -0
  82. package/templates/fate/cloudflare/server/src/lib/origins.ts +17 -0
  83. package/templates/fate/cloudflare/server/src/router.ts +2 -0
  84. package/templates/fate/cloudflare/server/src/user/SessionUser.tsx +17 -0
  85. package/templates/fate/cloudflare/server/tsconfig.json +10 -0
  86. package/templates/fate/cloudflare/server/wrangler.jsonc +29 -0
  87. package/templates/fate/cloudflare/tsconfig.json +33 -0
  88. package/templates/fate/cloudflare/vite.config.ts +72 -0
  89. package/templates/fate/drizzle/README.md +2 -8
  90. package/templates/fate/drizzle/client/pages/layout.tsx +2 -2
  91. package/templates/fate/drizzle/client/src/ui/PostCard.tsx +38 -15
  92. package/templates/fate/drizzle/pnpm-workspace.yaml +9 -3
  93. package/templates/fate/drizzle/server/vite.config.ts +1 -1
  94. package/templates/fate/graphql/.github/workflows/push.yml +27 -0
  95. package/templates/fate/graphql/.vite-hooks/pre-commit +1 -0
  96. package/templates/fate/graphql/.vscode/extensions.json +12 -0
  97. package/templates/fate/graphql/.vscode/settings.json +25 -0
  98. package/templates/fate/graphql/AGENTS.md +55 -0
  99. package/templates/fate/graphql/README.md +121 -0
  100. package/templates/fate/graphql/_gitignore +23 -0
  101. package/templates/fate/graphql/client/package.json +57 -0
  102. package/templates/fate/graphql/client/pages/index.tsx +96 -0
  103. package/templates/fate/graphql/client/pages/layout.tsx +83 -0
  104. package/templates/fate/graphql/client/pages/login.tsx +107 -0
  105. package/templates/fate/graphql/client/pages/post/[id].tsx +22 -0
  106. package/templates/fate/graphql/client/pages/search.tsx +99 -0
  107. package/templates/fate/graphql/client/public/icon.svg +1 -0
  108. package/templates/fate/graphql/client/src/App.css +153 -0
  109. package/templates/fate/graphql/client/src/lib/AvailableLanguages.tsx +5 -0
  110. package/templates/fate/graphql/client/src/lib/cx.tsx +6 -0
  111. package/templates/fate/graphql/client/src/lib/env.tsx +5 -0
  112. package/templates/fate/graphql/client/src/ui/Badge.tsx +31 -0
  113. package/templates/fate/graphql/client/src/ui/Button.tsx +108 -0
  114. package/templates/fate/graphql/client/src/ui/Card.tsx +32 -0
  115. package/templates/fate/graphql/client/src/ui/CommentCard.tsx +75 -0
  116. package/templates/fate/graphql/client/src/ui/Error.tsx +19 -0
  117. package/templates/fate/graphql/client/src/ui/H2.tsx +15 -0
  118. package/templates/fate/graphql/client/src/ui/H3.tsx +20 -0
  119. package/templates/fate/graphql/client/src/ui/Header.tsx +98 -0
  120. package/templates/fate/graphql/client/src/ui/Input.tsx +17 -0
  121. package/templates/fate/graphql/client/src/ui/Link.tsx +11 -0
  122. package/templates/fate/graphql/client/src/ui/LocaleSwitcher.tsx +52 -0
  123. package/templates/fate/graphql/client/src/ui/PostCard.tsx +303 -0
  124. package/templates/fate/graphql/client/src/ui/Section.tsx +23 -0
  125. package/templates/fate/graphql/client/src/ui/UserCard.tsx +131 -0
  126. package/templates/fate/graphql/client/src/user/AuthClient.tsx +6 -0
  127. package/templates/fate/graphql/client/translations/de_DE.json +689 -0
  128. package/templates/fate/graphql/client/translations/ja_JP.json +689 -0
  129. package/templates/fate/graphql/client/vite.config.ts +40 -0
  130. package/templates/fate/graphql/client/void.json +29 -0
  131. package/templates/fate/graphql/docker-compose.yml +11 -0
  132. package/templates/fate/graphql/package.json +47 -0
  133. package/templates/fate/graphql/pnpm-workspace.yaml +45 -0
  134. package/templates/fate/graphql/server/.env.example +5 -0
  135. package/templates/fate/graphql/server/README.md +27 -0
  136. package/templates/fate/graphql/server/package.json +64 -0
  137. package/templates/fate/graphql/server/prisma.config.ts +17 -0
  138. package/templates/fate/graphql/server/scripts/generate-graphql.tsx +40 -0
  139. package/templates/fate/graphql/server/src/__tests__/index.test.tsx +5 -0
  140. package/templates/fate/graphql/server/src/app.tsx +47 -0
  141. package/templates/fate/graphql/server/src/graphql/builder.tsx +121 -0
  142. package/templates/fate/graphql/server/src/graphql/context.tsx +22 -0
  143. package/templates/fate/graphql/server/src/graphql/fate.ts +85 -0
  144. package/templates/fate/graphql/server/src/graphql/lib/authDirectives.tsx +93 -0
  145. package/templates/fate/graphql/server/src/graphql/lib/decodeGlobalID.tsx +12 -0
  146. package/templates/fate/graphql/server/src/graphql/lib/decodeIDOrThrow.tsx +10 -0
  147. package/templates/fate/graphql/server/src/graphql/lib/encodeGlobalID.tsx +5 -0
  148. package/templates/fate/graphql/server/src/graphql/live.tsx +241 -0
  149. package/templates/fate/graphql/server/src/graphql/mutations.tsx +265 -0
  150. package/templates/fate/graphql/server/src/graphql/nodes/Category.tsx +35 -0
  151. package/templates/fate/graphql/server/src/graphql/nodes/Comment.tsx +46 -0
  152. package/templates/fate/graphql/server/src/graphql/nodes/Event.tsx +71 -0
  153. package/templates/fate/graphql/server/src/graphql/nodes/Post.tsx +45 -0
  154. package/templates/fate/graphql/server/src/graphql/nodes/Tag.tsx +11 -0
  155. package/templates/fate/graphql/server/src/graphql/nodes/User.tsx +28 -0
  156. package/templates/fate/graphql/server/src/graphql/schema.tsx +16 -0
  157. package/templates/fate/graphql/server/src/graphql/views.ts +193 -0
  158. package/templates/fate/graphql/server/src/index.tsx +45 -0
  159. package/templates/fate/graphql/server/src/lib/auth.tsx +31 -0
  160. package/templates/fate/graphql/server/src/lib/env.tsx +3 -0
  161. package/templates/fate/graphql/server/src/lib/origins.ts +18 -0
  162. package/templates/fate/graphql/server/src/prisma/prisma.tsx +9 -0
  163. package/templates/fate/graphql/server/src/prisma/schema.prisma +181 -0
  164. package/templates/fate/graphql/server/src/prisma/seed.tsx +161 -0
  165. package/templates/fate/graphql/server/src/user/SessionUser.tsx +17 -0
  166. package/templates/fate/graphql/server/src/user/isAdmin.tsx +3 -0
  167. package/templates/fate/graphql/server/tsconfig.json +33 -0
  168. package/templates/fate/graphql/server/vite.config.ts +55 -0
  169. package/templates/fate/graphql/tsconfig.json +33 -0
  170. package/templates/fate/graphql/vite.config.ts +80 -0
  171. package/templates/fate/graphql-client/.env.example +3 -0
  172. package/templates/fate/graphql-client/AGENTS.md +3 -0
  173. package/templates/fate/graphql-client/README.md +69 -0
  174. package/templates/fate/graphql-client/_gitignore +14 -0
  175. package/templates/fate/graphql-client/package.json +62 -0
  176. package/templates/fate/graphql-client/pages/index.tsx +69 -0
  177. package/templates/fate/graphql-client/pages/layout.tsx +41 -0
  178. package/templates/fate/graphql-client/pnpm-workspace.yaml +38 -0
  179. package/templates/fate/graphql-client/public/icon.svg +8 -0
  180. package/templates/fate/graphql-client/src/App.css +28 -0
  181. package/templates/fate/graphql-client/src/fate/graphql.ts +52 -0
  182. package/templates/fate/graphql-client/tsconfig.json +30 -0
  183. package/templates/fate/graphql-client/vite.config.ts +87 -0
  184. package/templates/fate/graphql-client/void.json +29 -0
  185. package/templates/fate/http/README.md +2 -8
  186. package/templates/fate/http/client/pages/layout.tsx +2 -2
  187. package/templates/fate/http/client/src/ui/PostCard.tsx +37 -15
  188. package/templates/fate/http/pnpm-workspace.yaml +9 -3
  189. package/templates/fate/http/server/vite.config.ts +1 -1
  190. package/templates/fate/prisma/README.md +2 -8
  191. package/templates/fate/prisma/client/pages/layout.tsx +2 -2
  192. package/templates/fate/prisma/client/src/ui/PostCard.tsx +37 -15
  193. package/templates/fate/prisma/pnpm-workspace.yaml +9 -3
  194. package/templates/fate/prisma/server/vite.config.ts +1 -1
  195. package/templates/fate/prisma/vite.config.ts +1 -1
  196. package/templates/fate/void/package.json +10 -2
  197. package/templates/fate/void/pages/login.tsx +3 -3
  198. package/templates/fate/void/pnpm-workspace.yaml +12 -4
  199. package/templates/fate/void/src/ui/Button.tsx +42 -26
  200. package/templates/fate/void/src/ui/CategoryCard.tsx +3 -7
  201. package/templates/fate/void/src/ui/PostCard.tsx +38 -15
  202. package/templates/fate/void/vite.config.ts +15 -14
  203. package/templates/fate/drizzle/public/fate-logo-dark.svg +0 -4
  204. package/templates/fate/drizzle/public/fate-logo.svg +0 -4
  205. package/templates/fate/http/public/fate-logo-dark.svg +0 -4
  206. package/templates/fate/http/public/fate-logo.svg +0 -4
  207. package/templates/fate/prisma/public/fate-logo-dark.svg +0 -4
  208. package/templates/fate/prisma/public/fate-logo.svg +0 -4
@@ -0,0 +1,868 @@
1
+ {
2
+ "version": "6",
3
+ "dialect": "sqlite",
4
+ "id": "0fd2f219-f586-40bc-b202-307b9977bebc",
5
+ "prevId": "00000000-0000-0000-0000-000000000000",
6
+ "tables": {
7
+ "account": {
8
+ "name": "account",
9
+ "columns": {
10
+ "accessToken": {
11
+ "name": "accessToken",
12
+ "type": "text",
13
+ "primaryKey": false,
14
+ "notNull": false,
15
+ "autoincrement": false
16
+ },
17
+ "accessTokenExpiresAt": {
18
+ "name": "accessTokenExpiresAt",
19
+ "type": "integer",
20
+ "primaryKey": false,
21
+ "notNull": false,
22
+ "autoincrement": false
23
+ },
24
+ "accountId": {
25
+ "name": "accountId",
26
+ "type": "text",
27
+ "primaryKey": false,
28
+ "notNull": true,
29
+ "autoincrement": false
30
+ },
31
+ "createdAt": {
32
+ "name": "createdAt",
33
+ "type": "integer",
34
+ "primaryKey": false,
35
+ "notNull": true,
36
+ "autoincrement": false,
37
+ "default": "(unixepoch())"
38
+ },
39
+ "id": {
40
+ "name": "id",
41
+ "type": "text",
42
+ "primaryKey": true,
43
+ "notNull": true,
44
+ "autoincrement": false
45
+ },
46
+ "idToken": {
47
+ "name": "idToken",
48
+ "type": "text",
49
+ "primaryKey": false,
50
+ "notNull": false,
51
+ "autoincrement": false
52
+ },
53
+ "password": {
54
+ "name": "password",
55
+ "type": "text",
56
+ "primaryKey": false,
57
+ "notNull": false,
58
+ "autoincrement": false
59
+ },
60
+ "providerId": {
61
+ "name": "providerId",
62
+ "type": "text",
63
+ "primaryKey": false,
64
+ "notNull": true,
65
+ "autoincrement": false
66
+ },
67
+ "refreshToken": {
68
+ "name": "refreshToken",
69
+ "type": "text",
70
+ "primaryKey": false,
71
+ "notNull": false,
72
+ "autoincrement": false
73
+ },
74
+ "refreshTokenExpiresAt": {
75
+ "name": "refreshTokenExpiresAt",
76
+ "type": "integer",
77
+ "primaryKey": false,
78
+ "notNull": false,
79
+ "autoincrement": false
80
+ },
81
+ "scope": {
82
+ "name": "scope",
83
+ "type": "text",
84
+ "primaryKey": false,
85
+ "notNull": false,
86
+ "autoincrement": false
87
+ },
88
+ "updatedAt": {
89
+ "name": "updatedAt",
90
+ "type": "integer",
91
+ "primaryKey": false,
92
+ "notNull": true,
93
+ "autoincrement": false,
94
+ "default": "(unixepoch())"
95
+ },
96
+ "userId": {
97
+ "name": "userId",
98
+ "type": "text",
99
+ "primaryKey": false,
100
+ "notNull": true,
101
+ "autoincrement": false
102
+ }
103
+ },
104
+ "indexes": {
105
+ "account_providerId_accountId_key": {
106
+ "name": "account_providerId_accountId_key",
107
+ "columns": ["providerId", "accountId"],
108
+ "isUnique": true
109
+ }
110
+ },
111
+ "foreignKeys": {
112
+ "account_userId_user_id_fk": {
113
+ "name": "account_userId_user_id_fk",
114
+ "tableFrom": "account",
115
+ "tableTo": "user",
116
+ "columnsFrom": ["userId"],
117
+ "columnsTo": ["id"],
118
+ "onDelete": "cascade",
119
+ "onUpdate": "no action"
120
+ }
121
+ },
122
+ "compositePrimaryKeys": {},
123
+ "uniqueConstraints": {},
124
+ "checkConstraints": {}
125
+ },
126
+ "Category": {
127
+ "name": "Category",
128
+ "columns": {
129
+ "createdAt": {
130
+ "name": "createdAt",
131
+ "type": "integer",
132
+ "primaryKey": false,
133
+ "notNull": true,
134
+ "autoincrement": false,
135
+ "default": "(unixepoch())"
136
+ },
137
+ "description": {
138
+ "name": "description",
139
+ "type": "text",
140
+ "primaryKey": false,
141
+ "notNull": false,
142
+ "autoincrement": false
143
+ },
144
+ "id": {
145
+ "name": "id",
146
+ "type": "text",
147
+ "primaryKey": true,
148
+ "notNull": true,
149
+ "autoincrement": false
150
+ },
151
+ "name": {
152
+ "name": "name",
153
+ "type": "text",
154
+ "primaryKey": false,
155
+ "notNull": true,
156
+ "autoincrement": false
157
+ }
158
+ },
159
+ "indexes": {
160
+ "Category_name_key": {
161
+ "name": "Category_name_key",
162
+ "columns": ["name"],
163
+ "isUnique": true
164
+ }
165
+ },
166
+ "foreignKeys": {},
167
+ "compositePrimaryKeys": {},
168
+ "uniqueConstraints": {},
169
+ "checkConstraints": {}
170
+ },
171
+ "Comment": {
172
+ "name": "Comment",
173
+ "columns": {
174
+ "authorId": {
175
+ "name": "authorId",
176
+ "type": "text",
177
+ "primaryKey": false,
178
+ "notNull": false,
179
+ "autoincrement": false
180
+ },
181
+ "content": {
182
+ "name": "content",
183
+ "type": "text",
184
+ "primaryKey": false,
185
+ "notNull": true,
186
+ "autoincrement": false
187
+ },
188
+ "createdAt": {
189
+ "name": "createdAt",
190
+ "type": "integer",
191
+ "primaryKey": false,
192
+ "notNull": true,
193
+ "autoincrement": false,
194
+ "default": "(unixepoch())"
195
+ },
196
+ "id": {
197
+ "name": "id",
198
+ "type": "text",
199
+ "primaryKey": true,
200
+ "notNull": true,
201
+ "autoincrement": false
202
+ },
203
+ "postId": {
204
+ "name": "postId",
205
+ "type": "text",
206
+ "primaryKey": false,
207
+ "notNull": true,
208
+ "autoincrement": false
209
+ }
210
+ },
211
+ "indexes": {
212
+ "Comment_authorId_idx": {
213
+ "name": "Comment_authorId_idx",
214
+ "columns": ["authorId"],
215
+ "isUnique": false
216
+ },
217
+ "Comment_postId_idx": {
218
+ "name": "Comment_postId_idx",
219
+ "columns": ["postId"],
220
+ "isUnique": false
221
+ }
222
+ },
223
+ "foreignKeys": {
224
+ "Comment_authorId_user_id_fk": {
225
+ "name": "Comment_authorId_user_id_fk",
226
+ "tableFrom": "Comment",
227
+ "tableTo": "user",
228
+ "columnsFrom": ["authorId"],
229
+ "columnsTo": ["id"],
230
+ "onDelete": "set null",
231
+ "onUpdate": "no action"
232
+ },
233
+ "Comment_postId_Post_id_fk": {
234
+ "name": "Comment_postId_Post_id_fk",
235
+ "tableFrom": "Comment",
236
+ "tableTo": "Post",
237
+ "columnsFrom": ["postId"],
238
+ "columnsTo": ["id"],
239
+ "onDelete": "cascade",
240
+ "onUpdate": "no action"
241
+ }
242
+ },
243
+ "compositePrimaryKeys": {},
244
+ "uniqueConstraints": {},
245
+ "checkConstraints": {}
246
+ },
247
+ "Event": {
248
+ "name": "Event",
249
+ "columns": {
250
+ "capacity": {
251
+ "name": "capacity",
252
+ "type": "integer",
253
+ "primaryKey": false,
254
+ "notNull": true,
255
+ "autoincrement": false
256
+ },
257
+ "createdAt": {
258
+ "name": "createdAt",
259
+ "type": "integer",
260
+ "primaryKey": false,
261
+ "notNull": true,
262
+ "autoincrement": false,
263
+ "default": "(unixepoch())"
264
+ },
265
+ "description": {
266
+ "name": "description",
267
+ "type": "text",
268
+ "primaryKey": false,
269
+ "notNull": true,
270
+ "autoincrement": false
271
+ },
272
+ "endAt": {
273
+ "name": "endAt",
274
+ "type": "integer",
275
+ "primaryKey": false,
276
+ "notNull": true,
277
+ "autoincrement": false
278
+ },
279
+ "hostId": {
280
+ "name": "hostId",
281
+ "type": "text",
282
+ "primaryKey": false,
283
+ "notNull": true,
284
+ "autoincrement": false
285
+ },
286
+ "id": {
287
+ "name": "id",
288
+ "type": "text",
289
+ "primaryKey": true,
290
+ "notNull": true,
291
+ "autoincrement": false
292
+ },
293
+ "livestreamUrl": {
294
+ "name": "livestreamUrl",
295
+ "type": "text",
296
+ "primaryKey": false,
297
+ "notNull": false,
298
+ "autoincrement": false
299
+ },
300
+ "location": {
301
+ "name": "location",
302
+ "type": "text",
303
+ "primaryKey": false,
304
+ "notNull": true,
305
+ "autoincrement": false
306
+ },
307
+ "name": {
308
+ "name": "name",
309
+ "type": "text",
310
+ "primaryKey": false,
311
+ "notNull": true,
312
+ "autoincrement": false
313
+ },
314
+ "startAt": {
315
+ "name": "startAt",
316
+ "type": "integer",
317
+ "primaryKey": false,
318
+ "notNull": true,
319
+ "autoincrement": false
320
+ },
321
+ "topics": {
322
+ "name": "topics",
323
+ "type": "text",
324
+ "primaryKey": false,
325
+ "notNull": true,
326
+ "autoincrement": false,
327
+ "default": "'[]'"
328
+ },
329
+ "type": {
330
+ "name": "type",
331
+ "type": "text",
332
+ "primaryKey": false,
333
+ "notNull": true,
334
+ "autoincrement": false,
335
+ "default": "'MEETUP'"
336
+ },
337
+ "updatedAt": {
338
+ "name": "updatedAt",
339
+ "type": "integer",
340
+ "primaryKey": false,
341
+ "notNull": true,
342
+ "autoincrement": false,
343
+ "default": "(unixepoch())"
344
+ }
345
+ },
346
+ "indexes": {
347
+ "Event_hostId_idx": {
348
+ "name": "Event_hostId_idx",
349
+ "columns": ["hostId"],
350
+ "isUnique": false
351
+ }
352
+ },
353
+ "foreignKeys": {
354
+ "Event_hostId_user_id_fk": {
355
+ "name": "Event_hostId_user_id_fk",
356
+ "tableFrom": "Event",
357
+ "tableTo": "user",
358
+ "columnsFrom": ["hostId"],
359
+ "columnsTo": ["id"],
360
+ "onDelete": "cascade",
361
+ "onUpdate": "no action"
362
+ }
363
+ },
364
+ "compositePrimaryKeys": {},
365
+ "uniqueConstraints": {},
366
+ "checkConstraints": {}
367
+ },
368
+ "EventAttendee": {
369
+ "name": "EventAttendee",
370
+ "columns": {
371
+ "createdAt": {
372
+ "name": "createdAt",
373
+ "type": "integer",
374
+ "primaryKey": false,
375
+ "notNull": true,
376
+ "autoincrement": false,
377
+ "default": "(unixepoch())"
378
+ },
379
+ "eventId": {
380
+ "name": "eventId",
381
+ "type": "text",
382
+ "primaryKey": false,
383
+ "notNull": true,
384
+ "autoincrement": false
385
+ },
386
+ "id": {
387
+ "name": "id",
388
+ "type": "text",
389
+ "primaryKey": true,
390
+ "notNull": true,
391
+ "autoincrement": false
392
+ },
393
+ "notes": {
394
+ "name": "notes",
395
+ "type": "text",
396
+ "primaryKey": false,
397
+ "notNull": false,
398
+ "autoincrement": false
399
+ },
400
+ "status": {
401
+ "name": "status",
402
+ "type": "text",
403
+ "primaryKey": false,
404
+ "notNull": true,
405
+ "autoincrement": false,
406
+ "default": "'INVITED'"
407
+ },
408
+ "userId": {
409
+ "name": "userId",
410
+ "type": "text",
411
+ "primaryKey": false,
412
+ "notNull": true,
413
+ "autoincrement": false
414
+ }
415
+ },
416
+ "indexes": {
417
+ "EventAttendee_eventId_userId_key": {
418
+ "name": "EventAttendee_eventId_userId_key",
419
+ "columns": ["eventId", "userId"],
420
+ "isUnique": true
421
+ },
422
+ "EventAttendee_userId_idx": {
423
+ "name": "EventAttendee_userId_idx",
424
+ "columns": ["userId"],
425
+ "isUnique": false
426
+ }
427
+ },
428
+ "foreignKeys": {
429
+ "EventAttendee_eventId_Event_id_fk": {
430
+ "name": "EventAttendee_eventId_Event_id_fk",
431
+ "tableFrom": "EventAttendee",
432
+ "tableTo": "Event",
433
+ "columnsFrom": ["eventId"],
434
+ "columnsTo": ["id"],
435
+ "onDelete": "cascade",
436
+ "onUpdate": "no action"
437
+ },
438
+ "EventAttendee_userId_user_id_fk": {
439
+ "name": "EventAttendee_userId_user_id_fk",
440
+ "tableFrom": "EventAttendee",
441
+ "tableTo": "user",
442
+ "columnsFrom": ["userId"],
443
+ "columnsTo": ["id"],
444
+ "onDelete": "cascade",
445
+ "onUpdate": "no action"
446
+ }
447
+ },
448
+ "compositePrimaryKeys": {},
449
+ "uniqueConstraints": {},
450
+ "checkConstraints": {}
451
+ },
452
+ "Post": {
453
+ "name": "Post",
454
+ "columns": {
455
+ "authorId": {
456
+ "name": "authorId",
457
+ "type": "text",
458
+ "primaryKey": false,
459
+ "notNull": true,
460
+ "autoincrement": false
461
+ },
462
+ "categoryId": {
463
+ "name": "categoryId",
464
+ "type": "text",
465
+ "primaryKey": false,
466
+ "notNull": false,
467
+ "autoincrement": false
468
+ },
469
+ "content": {
470
+ "name": "content",
471
+ "type": "text",
472
+ "primaryKey": false,
473
+ "notNull": true,
474
+ "autoincrement": false
475
+ },
476
+ "createdAt": {
477
+ "name": "createdAt",
478
+ "type": "integer",
479
+ "primaryKey": false,
480
+ "notNull": true,
481
+ "autoincrement": false,
482
+ "default": "(unixepoch())"
483
+ },
484
+ "id": {
485
+ "name": "id",
486
+ "type": "text",
487
+ "primaryKey": true,
488
+ "notNull": true,
489
+ "autoincrement": false
490
+ },
491
+ "likes": {
492
+ "name": "likes",
493
+ "type": "integer",
494
+ "primaryKey": false,
495
+ "notNull": true,
496
+ "autoincrement": false,
497
+ "default": 0
498
+ },
499
+ "title": {
500
+ "name": "title",
501
+ "type": "text",
502
+ "primaryKey": false,
503
+ "notNull": true,
504
+ "autoincrement": false
505
+ },
506
+ "updatedAt": {
507
+ "name": "updatedAt",
508
+ "type": "integer",
509
+ "primaryKey": false,
510
+ "notNull": true,
511
+ "autoincrement": false,
512
+ "default": "(unixepoch())"
513
+ }
514
+ },
515
+ "indexes": {
516
+ "Post_authorId_idx": {
517
+ "name": "Post_authorId_idx",
518
+ "columns": ["authorId"],
519
+ "isUnique": false
520
+ }
521
+ },
522
+ "foreignKeys": {
523
+ "Post_authorId_user_id_fk": {
524
+ "name": "Post_authorId_user_id_fk",
525
+ "tableFrom": "Post",
526
+ "tableTo": "user",
527
+ "columnsFrom": ["authorId"],
528
+ "columnsTo": ["id"],
529
+ "onDelete": "cascade",
530
+ "onUpdate": "no action"
531
+ },
532
+ "Post_categoryId_Category_id_fk": {
533
+ "name": "Post_categoryId_Category_id_fk",
534
+ "tableFrom": "Post",
535
+ "tableTo": "Category",
536
+ "columnsFrom": ["categoryId"],
537
+ "columnsTo": ["id"],
538
+ "onDelete": "set null",
539
+ "onUpdate": "no action"
540
+ }
541
+ },
542
+ "compositePrimaryKeys": {},
543
+ "uniqueConstraints": {},
544
+ "checkConstraints": {}
545
+ },
546
+ "_PostTags": {
547
+ "name": "_PostTags",
548
+ "columns": {
549
+ "A": {
550
+ "name": "A",
551
+ "type": "text",
552
+ "primaryKey": false,
553
+ "notNull": true,
554
+ "autoincrement": false
555
+ },
556
+ "B": {
557
+ "name": "B",
558
+ "type": "text",
559
+ "primaryKey": false,
560
+ "notNull": true,
561
+ "autoincrement": false
562
+ }
563
+ },
564
+ "indexes": {
565
+ "_PostTags_B_index": {
566
+ "name": "_PostTags_B_index",
567
+ "columns": ["B"],
568
+ "isUnique": false
569
+ }
570
+ },
571
+ "foreignKeys": {
572
+ "_PostTags_A_Post_id_fk": {
573
+ "name": "_PostTags_A_Post_id_fk",
574
+ "tableFrom": "_PostTags",
575
+ "tableTo": "Post",
576
+ "columnsFrom": ["A"],
577
+ "columnsTo": ["id"],
578
+ "onDelete": "cascade",
579
+ "onUpdate": "no action"
580
+ },
581
+ "_PostTags_B_Tag_id_fk": {
582
+ "name": "_PostTags_B_Tag_id_fk",
583
+ "tableFrom": "_PostTags",
584
+ "tableTo": "Tag",
585
+ "columnsFrom": ["B"],
586
+ "columnsTo": ["id"],
587
+ "onDelete": "cascade",
588
+ "onUpdate": "no action"
589
+ }
590
+ },
591
+ "compositePrimaryKeys": {
592
+ "_PostTags_AB_pkey": {
593
+ "columns": ["A", "B"],
594
+ "name": "_PostTags_AB_pkey"
595
+ }
596
+ },
597
+ "uniqueConstraints": {},
598
+ "checkConstraints": {}
599
+ },
600
+ "session": {
601
+ "name": "session",
602
+ "columns": {
603
+ "createdAt": {
604
+ "name": "createdAt",
605
+ "type": "integer",
606
+ "primaryKey": false,
607
+ "notNull": true,
608
+ "autoincrement": false,
609
+ "default": "(unixepoch())"
610
+ },
611
+ "expiresAt": {
612
+ "name": "expiresAt",
613
+ "type": "integer",
614
+ "primaryKey": false,
615
+ "notNull": true,
616
+ "autoincrement": false
617
+ },
618
+ "id": {
619
+ "name": "id",
620
+ "type": "text",
621
+ "primaryKey": true,
622
+ "notNull": true,
623
+ "autoincrement": false
624
+ },
625
+ "ipAddress": {
626
+ "name": "ipAddress",
627
+ "type": "text",
628
+ "primaryKey": false,
629
+ "notNull": false,
630
+ "autoincrement": false
631
+ },
632
+ "token": {
633
+ "name": "token",
634
+ "type": "text",
635
+ "primaryKey": false,
636
+ "notNull": true,
637
+ "autoincrement": false
638
+ },
639
+ "updatedAt": {
640
+ "name": "updatedAt",
641
+ "type": "integer",
642
+ "primaryKey": false,
643
+ "notNull": true,
644
+ "autoincrement": false,
645
+ "default": "(unixepoch())"
646
+ },
647
+ "userAgent": {
648
+ "name": "userAgent",
649
+ "type": "text",
650
+ "primaryKey": false,
651
+ "notNull": false,
652
+ "autoincrement": false
653
+ },
654
+ "userId": {
655
+ "name": "userId",
656
+ "type": "text",
657
+ "primaryKey": false,
658
+ "notNull": true,
659
+ "autoincrement": false
660
+ }
661
+ },
662
+ "indexes": {
663
+ "session_token_key": {
664
+ "name": "session_token_key",
665
+ "columns": ["token"],
666
+ "isUnique": true
667
+ }
668
+ },
669
+ "foreignKeys": {
670
+ "session_userId_user_id_fk": {
671
+ "name": "session_userId_user_id_fk",
672
+ "tableFrom": "session",
673
+ "tableTo": "user",
674
+ "columnsFrom": ["userId"],
675
+ "columnsTo": ["id"],
676
+ "onDelete": "cascade",
677
+ "onUpdate": "no action"
678
+ }
679
+ },
680
+ "compositePrimaryKeys": {},
681
+ "uniqueConstraints": {},
682
+ "checkConstraints": {}
683
+ },
684
+ "Tag": {
685
+ "name": "Tag",
686
+ "columns": {
687
+ "createdAt": {
688
+ "name": "createdAt",
689
+ "type": "integer",
690
+ "primaryKey": false,
691
+ "notNull": true,
692
+ "autoincrement": false,
693
+ "default": "(unixepoch())"
694
+ },
695
+ "description": {
696
+ "name": "description",
697
+ "type": "text",
698
+ "primaryKey": false,
699
+ "notNull": false,
700
+ "autoincrement": false
701
+ },
702
+ "id": {
703
+ "name": "id",
704
+ "type": "text",
705
+ "primaryKey": true,
706
+ "notNull": true,
707
+ "autoincrement": false
708
+ },
709
+ "name": {
710
+ "name": "name",
711
+ "type": "text",
712
+ "primaryKey": false,
713
+ "notNull": true,
714
+ "autoincrement": false
715
+ }
716
+ },
717
+ "indexes": {
718
+ "Tag_name_key": {
719
+ "name": "Tag_name_key",
720
+ "columns": ["name"],
721
+ "isUnique": true
722
+ }
723
+ },
724
+ "foreignKeys": {},
725
+ "compositePrimaryKeys": {},
726
+ "uniqueConstraints": {},
727
+ "checkConstraints": {}
728
+ },
729
+ "user": {
730
+ "name": "user",
731
+ "columns": {
732
+ "banExpires": {
733
+ "name": "banExpires",
734
+ "type": "integer",
735
+ "primaryKey": false,
736
+ "notNull": false,
737
+ "autoincrement": false
738
+ },
739
+ "banned": {
740
+ "name": "banned",
741
+ "type": "integer",
742
+ "primaryKey": false,
743
+ "notNull": false,
744
+ "autoincrement": false
745
+ },
746
+ "banReason": {
747
+ "name": "banReason",
748
+ "type": "text",
749
+ "primaryKey": false,
750
+ "notNull": false,
751
+ "autoincrement": false
752
+ },
753
+ "createdAt": {
754
+ "name": "createdAt",
755
+ "type": "integer",
756
+ "primaryKey": false,
757
+ "notNull": true,
758
+ "autoincrement": false,
759
+ "default": "(unixepoch())"
760
+ },
761
+ "displayUsername": {
762
+ "name": "displayUsername",
763
+ "type": "text",
764
+ "primaryKey": false,
765
+ "notNull": false,
766
+ "autoincrement": false
767
+ },
768
+ "email": {
769
+ "name": "email",
770
+ "type": "text",
771
+ "primaryKey": false,
772
+ "notNull": true,
773
+ "autoincrement": false
774
+ },
775
+ "emailVerified": {
776
+ "name": "emailVerified",
777
+ "type": "integer",
778
+ "primaryKey": false,
779
+ "notNull": true,
780
+ "autoincrement": false,
781
+ "default": false
782
+ },
783
+ "id": {
784
+ "name": "id",
785
+ "type": "text",
786
+ "primaryKey": true,
787
+ "notNull": true,
788
+ "autoincrement": false
789
+ },
790
+ "image": {
791
+ "name": "image",
792
+ "type": "text",
793
+ "primaryKey": false,
794
+ "notNull": false,
795
+ "autoincrement": false
796
+ },
797
+ "name": {
798
+ "name": "name",
799
+ "type": "text",
800
+ "primaryKey": false,
801
+ "notNull": true,
802
+ "autoincrement": false
803
+ },
804
+ "password": {
805
+ "name": "password",
806
+ "type": "text",
807
+ "primaryKey": false,
808
+ "notNull": false,
809
+ "autoincrement": false
810
+ },
811
+ "role": {
812
+ "name": "role",
813
+ "type": "text",
814
+ "primaryKey": false,
815
+ "notNull": true,
816
+ "autoincrement": false,
817
+ "default": "'user'"
818
+ },
819
+ "updatedAt": {
820
+ "name": "updatedAt",
821
+ "type": "integer",
822
+ "primaryKey": false,
823
+ "notNull": true,
824
+ "autoincrement": false,
825
+ "default": "(unixepoch())"
826
+ },
827
+ "username": {
828
+ "name": "username",
829
+ "type": "text",
830
+ "primaryKey": false,
831
+ "notNull": false,
832
+ "autoincrement": false
833
+ }
834
+ },
835
+ "indexes": {
836
+ "user_email_key": {
837
+ "name": "user_email_key",
838
+ "columns": ["email"],
839
+ "isUnique": true
840
+ },
841
+ "user_username_key": {
842
+ "name": "user_username_key",
843
+ "columns": ["username"],
844
+ "isUnique": true
845
+ },
846
+ "user_id_idx": {
847
+ "name": "user_id_idx",
848
+ "columns": ["id"],
849
+ "isUnique": false
850
+ }
851
+ },
852
+ "foreignKeys": {},
853
+ "compositePrimaryKeys": {},
854
+ "uniqueConstraints": {},
855
+ "checkConstraints": {}
856
+ }
857
+ },
858
+ "views": {},
859
+ "enums": {},
860
+ "_meta": {
861
+ "schemas": {},
862
+ "tables": {},
863
+ "columns": {}
864
+ },
865
+ "internal": {
866
+ "indexes": {}
867
+ }
868
+ }