@next-friday/create-app 0.0.0-stage → 1.0.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 (234) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +94 -2
  3. package/dist/main.mjs +414 -0
  4. package/package.json +84 -3
  5. package/templates/base/.agents/hooks/agent-shell-gate.sh +355 -0
  6. package/templates/base/.agents/hooks/agent-suppression-gate.sh +45 -0
  7. package/templates/base/.agents/rules/automation-owned-checks.md +5 -0
  8. package/templates/base/.agents/rules/code-comments.md +3 -0
  9. package/templates/base/.agents/rules/current-state-authority.md +17 -0
  10. package/templates/base/.agents/rules/demand-driven-configuration.md +7 -0
  11. package/templates/base/.agents/rules/dependency-security.md +5 -0
  12. package/templates/base/.agents/rules/deterministic-testing.md +15 -0
  13. package/templates/base/.agents/rules/diagnostics-and-error-handling.md +7 -0
  14. package/templates/base/.agents/rules/git-workflow.md +10 -0
  15. package/templates/base/.agents/rules/no-suppression.md +7 -0
  16. package/templates/base/.agents/rules/script-driven-changes.md +7 -0
  17. package/templates/base/.agents/rules/single-author-style.md +7 -0
  18. package/templates/base/.claude/rules/agents-guide.md +1 -0
  19. package/templates/base/.claude/rules/automation-owned-checks.md +1 -0
  20. package/templates/base/.claude/rules/code-comments.md +1 -0
  21. package/templates/base/.claude/rules/current-state-authority.md +1 -0
  22. package/templates/base/.claude/rules/demand-driven-configuration.md +1 -0
  23. package/templates/base/.claude/rules/dependency-security.md +12 -0
  24. package/templates/base/.claude/rules/diagnostics-and-error-handling.md +1 -0
  25. package/templates/base/.claude/rules/git-workflow.md +1 -0
  26. package/templates/base/.claude/rules/no-suppression.md +1 -0
  27. package/templates/base/.claude/rules/script-driven-changes.md +1 -0
  28. package/templates/base/.claude/rules/single-author-style.md +1 -0
  29. package/templates/base/.claude/settings.json +61 -0
  30. package/templates/base/.commitlintrc.json +3 -0
  31. package/templates/base/.cursor/BUGBOT.md +17 -0
  32. package/templates/base/.cursor/hooks/agent-constitution-gate.sh +32 -0
  33. package/templates/base/.cursor/hooks.json +26 -0
  34. package/templates/base/.cursor/rules/automation-owned-checks.mdc +10 -0
  35. package/templates/base/.cursor/rules/code-comments.mdc +8 -0
  36. package/templates/base/.cursor/rules/current-state-authority.mdc +22 -0
  37. package/templates/base/.cursor/rules/demand-driven-configuration.mdc +12 -0
  38. package/templates/base/.cursor/rules/dependency-security.mdc +11 -0
  39. package/templates/base/.cursor/rules/diagnostics-and-error-handling.mdc +12 -0
  40. package/templates/base/.cursor/rules/git-workflow.mdc +15 -0
  41. package/templates/base/.cursor/rules/no-suppression.mdc +12 -0
  42. package/templates/base/.cursor/rules/script-driven-changes.mdc +12 -0
  43. package/templates/base/.cursor/rules/single-author-style.mdc +12 -0
  44. package/templates/base/.editorconfig +13 -0
  45. package/templates/base/.gitattributes +1 -0
  46. package/templates/base/.github/CODEOWNERS +2 -0
  47. package/templates/base/.github/ISSUE_TEMPLATE/config.yml +1 -0
  48. package/templates/base/.github/dependabot.yml +77 -0
  49. package/templates/base/.github/file-filters.yml +19 -0
  50. package/templates/base/.github/labeler.yml +25 -0
  51. package/templates/base/.github/requirements/diff-cover.txt +213 -0
  52. package/templates/base/.github/workflows/deploy.yml +124 -0
  53. package/templates/base/.github/workflows/osv-scanner.yml +34 -0
  54. package/templates/base/.github/workflows/pr-triage.yml +29 -0
  55. package/templates/base/.github/workflows/secret-scan.yml +50 -0
  56. package/templates/base/.github/workflows/validate-pr-title.yml +48 -0
  57. package/templates/base/.github/workflows/zizmor.yml +62 -0
  58. package/templates/base/.github/zizmor.yml +4 -0
  59. package/templates/base/.gitleaks.toml +14 -0
  60. package/templates/base/.husky/commit-msg +3 -0
  61. package/templates/base/.husky/pre-commit +17 -0
  62. package/templates/base/.husky/pre-merge-commit +7 -0
  63. package/templates/base/.husky/pre-push +15 -0
  64. package/templates/base/.nvmrc +1 -0
  65. package/templates/base/SECURITY.md +15 -0
  66. package/templates/base/knip.json +3 -0
  67. package/templates/base/pnpm-workspace.yaml +18 -0
  68. package/templates/base/railway.json +9 -0
  69. package/templates/base/scripts/check-agent-gates.ts +252 -0
  70. package/templates/base/scripts/sync-agent-rules.ts +121 -0
  71. package/templates/nestjs/.agents/rules/typescript-first.md +7 -0
  72. package/templates/nestjs/.agents/rules.json +41 -0
  73. package/templates/nestjs/.claude/rules/deterministic-testing.md +20 -0
  74. package/templates/nestjs/.claude/rules/typescript-first.md +13 -0
  75. package/templates/nestjs/.cursor/rules/deterministic-testing.mdc +21 -0
  76. package/templates/nestjs/.cursor/rules/typescript-first.mdc +13 -0
  77. package/templates/nestjs/.dependency-cruiser.json +28 -0
  78. package/templates/nestjs/.dockerignore +8 -0
  79. package/templates/nestjs/.env.example +1 -0
  80. package/templates/nestjs/.github/ISSUE_TEMPLATE/bug.yml +66 -0
  81. package/templates/nestjs/.github/ISSUE_TEMPLATE/feature.yml +50 -0
  82. package/templates/nestjs/.github/pull_request_template.md +25 -0
  83. package/templates/nestjs/.github/workflows/ci.yml +181 -0
  84. package/templates/nestjs/.github/workflows/sast.yml +45 -0
  85. package/templates/nestjs/.lintstagedrc.json +10 -0
  86. package/templates/nestjs/.prettierignore +2 -0
  87. package/templates/nestjs/.prettierrc.json +1 -0
  88. package/templates/nestjs/AGENTS.md +8 -0
  89. package/templates/nestjs/CONTRIBUTING.md +57 -0
  90. package/templates/nestjs/Dockerfile +27 -0
  91. package/templates/nestjs/README.md +78 -0
  92. package/templates/nestjs/_gitignore +47 -0
  93. package/templates/nestjs/eslint.config.ts +7 -0
  94. package/templates/nestjs/package.json +83 -0
  95. package/templates/nestjs/src/app.controller.test.ts +23 -0
  96. package/templates/nestjs/src/app.controller.ts +13 -0
  97. package/templates/nestjs/src/app.module.ts +12 -0
  98. package/templates/nestjs/src/app.service.ts +10 -0
  99. package/templates/nestjs/src/health/health.controller.test.ts +17 -0
  100. package/templates/nestjs/src/health/health.controller.ts +14 -0
  101. package/templates/nestjs/src/health/health.module.ts +10 -0
  102. package/templates/nestjs/src/main.ts +25 -0
  103. package/templates/nestjs/src/port.test.ts +29 -0
  104. package/templates/nestjs/src/port.ts +20 -0
  105. package/templates/nestjs/test/app.e2e.test.ts +40 -0
  106. package/templates/nestjs/tsconfig.build.json +9 -0
  107. package/templates/nestjs/tsconfig.json +20 -0
  108. package/templates/nestjs/vitest.config.ts +13 -0
  109. package/templates/nestjs/vitest.e2e.config.ts +8 -0
  110. package/templates/nextjs/.agents/rules/typescript-first.md +7 -0
  111. package/templates/nextjs/.agents/rules.json +41 -0
  112. package/templates/nextjs/.claude/rules/deterministic-testing.md +21 -0
  113. package/templates/nextjs/.claude/rules/typescript-first.md +15 -0
  114. package/templates/nextjs/.cursor/rules/deterministic-testing.mdc +21 -0
  115. package/templates/nextjs/.cursor/rules/typescript-first.mdc +13 -0
  116. package/templates/nextjs/.dependency-cruiser.json +34 -0
  117. package/templates/nextjs/.dockerignore +10 -0
  118. package/templates/nextjs/.env.example +1 -0
  119. package/templates/nextjs/.github/ISSUE_TEMPLATE/bug.yml +66 -0
  120. package/templates/nextjs/.github/ISSUE_TEMPLATE/feature.yml +50 -0
  121. package/templates/nextjs/.github/pull_request_template.md +25 -0
  122. package/templates/nextjs/.github/workflows/ci.yml +187 -0
  123. package/templates/nextjs/.github/workflows/sast.yml +46 -0
  124. package/templates/nextjs/.lintstagedrc.json +10 -0
  125. package/templates/nextjs/.prettierignore +2 -0
  126. package/templates/nextjs/AGENTS.md +18 -0
  127. package/templates/nextjs/CONTRIBUTING.md +57 -0
  128. package/templates/nextjs/Dockerfile +23 -0
  129. package/templates/nextjs/README.md +74 -0
  130. package/templates/nextjs/_gitignore +51 -0
  131. package/templates/nextjs/app/favicon.ico +0 -0
  132. package/templates/nextjs/app/globals.css +26 -0
  133. package/templates/nextjs/app/health/route.test.ts +20 -0
  134. package/templates/nextjs/app/health/route.ts +23 -0
  135. package/templates/nextjs/app/layout.tsx +29 -0
  136. package/templates/nextjs/app/page.test.ts +11 -0
  137. package/templates/nextjs/app/page.tsx +8 -0
  138. package/templates/nextjs/eslint.config.ts +32 -0
  139. package/templates/nextjs/knip.json +4 -0
  140. package/templates/nextjs/next.config.ts +35 -0
  141. package/templates/nextjs/package.json +78 -0
  142. package/templates/nextjs/playwright.config.ts +27 -0
  143. package/templates/nextjs/postcss.config.mjs +7 -0
  144. package/templates/nextjs/prettier.config.ts +11 -0
  145. package/templates/nextjs/test/home.e2e.test.ts +11 -0
  146. package/templates/nextjs/tsconfig.json +33 -0
  147. package/templates/nextjs/vitest.config.ts +12 -0
  148. package/templates/nodejs/.agents/rules/typescript-first.md +7 -0
  149. package/templates/nodejs/.agents/rules.json +41 -0
  150. package/templates/nodejs/.claude/rules/deterministic-testing.md +20 -0
  151. package/templates/nodejs/.claude/rules/typescript-first.md +13 -0
  152. package/templates/nodejs/.cursor/rules/deterministic-testing.mdc +21 -0
  153. package/templates/nodejs/.cursor/rules/typescript-first.mdc +13 -0
  154. package/templates/nodejs/.dependency-cruiser.json +28 -0
  155. package/templates/nodejs/.dockerignore +8 -0
  156. package/templates/nodejs/.env.example +1 -0
  157. package/templates/nodejs/.github/ISSUE_TEMPLATE/bug.yml +66 -0
  158. package/templates/nodejs/.github/ISSUE_TEMPLATE/feature.yml +50 -0
  159. package/templates/nodejs/.github/pull_request_template.md +25 -0
  160. package/templates/nodejs/.github/workflows/ci.yml +179 -0
  161. package/templates/nodejs/.github/workflows/sast.yml +45 -0
  162. package/templates/nodejs/.lintstagedrc.json +10 -0
  163. package/templates/nodejs/.prettierignore +2 -0
  164. package/templates/nodejs/.prettierrc.json +1 -0
  165. package/templates/nodejs/AGENTS.md +8 -0
  166. package/templates/nodejs/CONTRIBUTING.md +56 -0
  167. package/templates/nodejs/Dockerfile +27 -0
  168. package/templates/nodejs/README.md +74 -0
  169. package/templates/nodejs/_gitignore +47 -0
  170. package/templates/nodejs/eslint.config.ts +7 -0
  171. package/templates/nodejs/package.json +66 -0
  172. package/templates/nodejs/src/main.ts +22 -0
  173. package/templates/nodejs/src/port.test.ts +30 -0
  174. package/templates/nodejs/src/port.ts +20 -0
  175. package/templates/nodejs/src/server.test.ts +60 -0
  176. package/templates/nodejs/src/server.ts +37 -0
  177. package/templates/nodejs/tsconfig.build.json +9 -0
  178. package/templates/nodejs/tsconfig.json +19 -0
  179. package/templates/nodejs/vitest.config.ts +12 -0
  180. package/templates/payload/.agents/rules/typescript-first.md +7 -0
  181. package/templates/payload/.agents/rules.json +41 -0
  182. package/templates/payload/.claude/rules/deterministic-testing.md +21 -0
  183. package/templates/payload/.claude/rules/typescript-first.md +15 -0
  184. package/templates/payload/.cursor/rules/deterministic-testing.mdc +21 -0
  185. package/templates/payload/.cursor/rules/typescript-first.mdc +13 -0
  186. package/templates/payload/.dependency-cruiser.json +34 -0
  187. package/templates/payload/.dockerignore +9 -0
  188. package/templates/payload/.editorconfig-checker.json +3 -0
  189. package/templates/payload/.env.example +4 -0
  190. package/templates/payload/.github/ISSUE_TEMPLATE/bug.yml +66 -0
  191. package/templates/payload/.github/ISSUE_TEMPLATE/feature.yml +50 -0
  192. package/templates/payload/.github/pull_request_template.md +25 -0
  193. package/templates/payload/.github/workflows/ci.yml +204 -0
  194. package/templates/payload/.github/workflows/sast.yml +46 -0
  195. package/templates/payload/.lintstagedrc.json +10 -0
  196. package/templates/payload/.prettierignore +5 -0
  197. package/templates/payload/.prettierrc.json +1 -0
  198. package/templates/payload/AGENTS.md +19 -0
  199. package/templates/payload/CONTRIBUTING.md +58 -0
  200. package/templates/payload/Dockerfile +26 -0
  201. package/templates/payload/README.md +98 -0
  202. package/templates/payload/_gitignore +52 -0
  203. package/templates/payload/eslint.config.ts +35 -0
  204. package/templates/payload/next.config.ts +43 -0
  205. package/templates/payload/package.json +86 -0
  206. package/templates/payload/playwright.config.ts +27 -0
  207. package/templates/payload/src/app/(frontend)/layout.tsx +18 -0
  208. package/templates/payload/src/app/(frontend)/page.test.ts +14 -0
  209. package/templates/payload/src/app/(frontend)/page.tsx +14 -0
  210. package/templates/payload/src/app/(frontend)/styles.css +15 -0
  211. package/templates/payload/src/app/(payload)/admin/[[...segments]]/not-found.tsx +24 -0
  212. package/templates/payload/src/app/(payload)/admin/[[...segments]]/page.tsx +24 -0
  213. package/templates/payload/src/app/(payload)/admin/importMap.ts +6 -0
  214. package/templates/payload/src/app/(payload)/api/[...slug]/route.ts +19 -0
  215. package/templates/payload/src/app/(payload)/api/graphql/route.ts +8 -0
  216. package/templates/payload/src/app/(payload)/api/graphql-playground/route.ts +7 -0
  217. package/templates/payload/src/app/(payload)/custom.scss +0 -0
  218. package/templates/payload/src/app/(payload)/layout.tsx +31 -0
  219. package/templates/payload/src/app/health/route.test.ts +20 -0
  220. package/templates/payload/src/app/health/route.ts +23 -0
  221. package/templates/payload/src/collections/media.test.ts +27 -0
  222. package/templates/payload/src/collections/media.ts +18 -0
  223. package/templates/payload/src/collections/users.test.ts +10 -0
  224. package/templates/payload/src/collections/users.ts +10 -0
  225. package/templates/payload/src/environment.test.ts +32 -0
  226. package/templates/payload/src/environment.ts +14 -0
  227. package/templates/payload/src/migrations/20261030_005055_initial.json +969 -0
  228. package/templates/payload/src/migrations/20261030_005055_initial.ts +134 -0
  229. package/templates/payload/src/migrations/index.ts +9 -0
  230. package/templates/payload/src/payload-types.ts +339 -0
  231. package/templates/payload/src/payload.config.ts +47 -0
  232. package/templates/payload/test/home.e2e.test.ts +16 -0
  233. package/templates/payload/tsconfig.json +34 -0
  234. package/templates/payload/vitest.config.ts +19 -0
@@ -0,0 +1,969 @@
1
+ {
2
+ "version": "7",
3
+ "dialect": "postgresql",
4
+ "tables": {
5
+ "public.users_sessions": {
6
+ "name": "users_sessions",
7
+ "schema": "",
8
+ "columns": {
9
+ "_order": {
10
+ "name": "_order",
11
+ "type": "integer",
12
+ "primaryKey": false,
13
+ "notNull": true
14
+ },
15
+ "_parent_id": {
16
+ "name": "_parent_id",
17
+ "type": "integer",
18
+ "primaryKey": false,
19
+ "notNull": true
20
+ },
21
+ "id": {
22
+ "name": "id",
23
+ "type": "varchar",
24
+ "primaryKey": true,
25
+ "notNull": true
26
+ },
27
+ "created_at": {
28
+ "name": "created_at",
29
+ "type": "timestamp(3) with time zone",
30
+ "primaryKey": false,
31
+ "notNull": false
32
+ },
33
+ "expires_at": {
34
+ "name": "expires_at",
35
+ "type": "timestamp(3) with time zone",
36
+ "primaryKey": false,
37
+ "notNull": true
38
+ }
39
+ },
40
+ "indexes": {
41
+ "users_sessions_order_idx": {
42
+ "name": "users_sessions_order_idx",
43
+ "columns": [
44
+ {
45
+ "expression": "_order",
46
+ "isExpression": false,
47
+ "asc": true,
48
+ "nulls": "last"
49
+ }
50
+ ],
51
+ "isUnique": false,
52
+ "concurrently": false,
53
+ "method": "btree",
54
+ "with": {}
55
+ },
56
+ "users_sessions_parent_id_idx": {
57
+ "name": "users_sessions_parent_id_idx",
58
+ "columns": [
59
+ {
60
+ "expression": "_parent_id",
61
+ "isExpression": false,
62
+ "asc": true,
63
+ "nulls": "last"
64
+ }
65
+ ],
66
+ "isUnique": false,
67
+ "concurrently": false,
68
+ "method": "btree",
69
+ "with": {}
70
+ }
71
+ },
72
+ "foreignKeys": {
73
+ "users_sessions_parent_id_fk": {
74
+ "name": "users_sessions_parent_id_fk",
75
+ "tableFrom": "users_sessions",
76
+ "tableTo": "users",
77
+ "columnsFrom": [
78
+ "_parent_id"
79
+ ],
80
+ "columnsTo": [
81
+ "id"
82
+ ],
83
+ "onDelete": "cascade",
84
+ "onUpdate": "no action"
85
+ }
86
+ },
87
+ "compositePrimaryKeys": {},
88
+ "uniqueConstraints": {},
89
+ "policies": {},
90
+ "checkConstraints": {},
91
+ "isRLSEnabled": false
92
+ },
93
+ "public.users": {
94
+ "name": "users",
95
+ "schema": "",
96
+ "columns": {
97
+ "id": {
98
+ "name": "id",
99
+ "type": "serial",
100
+ "primaryKey": true,
101
+ "notNull": true
102
+ },
103
+ "updated_at": {
104
+ "name": "updated_at",
105
+ "type": "timestamp(3) with time zone",
106
+ "primaryKey": false,
107
+ "notNull": true,
108
+ "default": "now()"
109
+ },
110
+ "created_at": {
111
+ "name": "created_at",
112
+ "type": "timestamp(3) with time zone",
113
+ "primaryKey": false,
114
+ "notNull": true,
115
+ "default": "now()"
116
+ },
117
+ "email": {
118
+ "name": "email",
119
+ "type": "varchar",
120
+ "primaryKey": false,
121
+ "notNull": true
122
+ },
123
+ "reset_password_token": {
124
+ "name": "reset_password_token",
125
+ "type": "varchar",
126
+ "primaryKey": false,
127
+ "notNull": false
128
+ },
129
+ "reset_password_expiration": {
130
+ "name": "reset_password_expiration",
131
+ "type": "timestamp(3) with time zone",
132
+ "primaryKey": false,
133
+ "notNull": false
134
+ },
135
+ "salt": {
136
+ "name": "salt",
137
+ "type": "varchar",
138
+ "primaryKey": false,
139
+ "notNull": false
140
+ },
141
+ "hash": {
142
+ "name": "hash",
143
+ "type": "varchar",
144
+ "primaryKey": false,
145
+ "notNull": false
146
+ },
147
+ "reset_password_requested_at": {
148
+ "name": "reset_password_requested_at",
149
+ "type": "timestamp(3) with time zone",
150
+ "primaryKey": false,
151
+ "notNull": false
152
+ },
153
+ "login_attempts": {
154
+ "name": "login_attempts",
155
+ "type": "numeric",
156
+ "primaryKey": false,
157
+ "notNull": false,
158
+ "default": 0
159
+ },
160
+ "lock_until": {
161
+ "name": "lock_until",
162
+ "type": "timestamp(3) with time zone",
163
+ "primaryKey": false,
164
+ "notNull": false
165
+ }
166
+ },
167
+ "indexes": {
168
+ "users_updated_at_idx": {
169
+ "name": "users_updated_at_idx",
170
+ "columns": [
171
+ {
172
+ "expression": "updated_at",
173
+ "isExpression": false,
174
+ "asc": true,
175
+ "nulls": "last"
176
+ }
177
+ ],
178
+ "isUnique": false,
179
+ "concurrently": false,
180
+ "method": "btree",
181
+ "with": {}
182
+ },
183
+ "users_created_at_idx": {
184
+ "name": "users_created_at_idx",
185
+ "columns": [
186
+ {
187
+ "expression": "created_at",
188
+ "isExpression": false,
189
+ "asc": true,
190
+ "nulls": "last"
191
+ }
192
+ ],
193
+ "isUnique": false,
194
+ "concurrently": false,
195
+ "method": "btree",
196
+ "with": {}
197
+ },
198
+ "users_email_idx": {
199
+ "name": "users_email_idx",
200
+ "columns": [
201
+ {
202
+ "expression": "email",
203
+ "isExpression": false,
204
+ "asc": true,
205
+ "nulls": "last"
206
+ }
207
+ ],
208
+ "isUnique": true,
209
+ "concurrently": false,
210
+ "method": "btree",
211
+ "with": {}
212
+ }
213
+ },
214
+ "foreignKeys": {},
215
+ "compositePrimaryKeys": {},
216
+ "uniqueConstraints": {},
217
+ "policies": {},
218
+ "checkConstraints": {},
219
+ "isRLSEnabled": false
220
+ },
221
+ "public.media": {
222
+ "name": "media",
223
+ "schema": "",
224
+ "columns": {
225
+ "id": {
226
+ "name": "id",
227
+ "type": "serial",
228
+ "primaryKey": true,
229
+ "notNull": true
230
+ },
231
+ "alt": {
232
+ "name": "alt",
233
+ "type": "varchar",
234
+ "primaryKey": false,
235
+ "notNull": true
236
+ },
237
+ "updated_at": {
238
+ "name": "updated_at",
239
+ "type": "timestamp(3) with time zone",
240
+ "primaryKey": false,
241
+ "notNull": true,
242
+ "default": "now()"
243
+ },
244
+ "created_at": {
245
+ "name": "created_at",
246
+ "type": "timestamp(3) with time zone",
247
+ "primaryKey": false,
248
+ "notNull": true,
249
+ "default": "now()"
250
+ },
251
+ "url": {
252
+ "name": "url",
253
+ "type": "varchar",
254
+ "primaryKey": false,
255
+ "notNull": false
256
+ },
257
+ "thumbnail_u_r_l": {
258
+ "name": "thumbnail_u_r_l",
259
+ "type": "varchar",
260
+ "primaryKey": false,
261
+ "notNull": false
262
+ },
263
+ "filename": {
264
+ "name": "filename",
265
+ "type": "varchar",
266
+ "primaryKey": false,
267
+ "notNull": false
268
+ },
269
+ "mime_type": {
270
+ "name": "mime_type",
271
+ "type": "varchar",
272
+ "primaryKey": false,
273
+ "notNull": false
274
+ },
275
+ "filesize": {
276
+ "name": "filesize",
277
+ "type": "numeric",
278
+ "primaryKey": false,
279
+ "notNull": false
280
+ },
281
+ "width": {
282
+ "name": "width",
283
+ "type": "numeric",
284
+ "primaryKey": false,
285
+ "notNull": false
286
+ },
287
+ "height": {
288
+ "name": "height",
289
+ "type": "numeric",
290
+ "primaryKey": false,
291
+ "notNull": false
292
+ },
293
+ "focal_x": {
294
+ "name": "focal_x",
295
+ "type": "numeric",
296
+ "primaryKey": false,
297
+ "notNull": false
298
+ },
299
+ "focal_y": {
300
+ "name": "focal_y",
301
+ "type": "numeric",
302
+ "primaryKey": false,
303
+ "notNull": false
304
+ }
305
+ },
306
+ "indexes": {
307
+ "media_updated_at_idx": {
308
+ "name": "media_updated_at_idx",
309
+ "columns": [
310
+ {
311
+ "expression": "updated_at",
312
+ "isExpression": false,
313
+ "asc": true,
314
+ "nulls": "last"
315
+ }
316
+ ],
317
+ "isUnique": false,
318
+ "concurrently": false,
319
+ "method": "btree",
320
+ "with": {}
321
+ },
322
+ "media_created_at_idx": {
323
+ "name": "media_created_at_idx",
324
+ "columns": [
325
+ {
326
+ "expression": "created_at",
327
+ "isExpression": false,
328
+ "asc": true,
329
+ "nulls": "last"
330
+ }
331
+ ],
332
+ "isUnique": false,
333
+ "concurrently": false,
334
+ "method": "btree",
335
+ "with": {}
336
+ },
337
+ "media_filename_idx": {
338
+ "name": "media_filename_idx",
339
+ "columns": [
340
+ {
341
+ "expression": "filename",
342
+ "isExpression": false,
343
+ "asc": true,
344
+ "nulls": "last"
345
+ }
346
+ ],
347
+ "isUnique": true,
348
+ "concurrently": false,
349
+ "method": "btree",
350
+ "with": {}
351
+ }
352
+ },
353
+ "foreignKeys": {},
354
+ "compositePrimaryKeys": {},
355
+ "uniqueConstraints": {},
356
+ "policies": {},
357
+ "checkConstraints": {},
358
+ "isRLSEnabled": false
359
+ },
360
+ "public.payload_kv": {
361
+ "name": "payload_kv",
362
+ "schema": "",
363
+ "columns": {
364
+ "id": {
365
+ "name": "id",
366
+ "type": "serial",
367
+ "primaryKey": true,
368
+ "notNull": true
369
+ },
370
+ "key": {
371
+ "name": "key",
372
+ "type": "varchar",
373
+ "primaryKey": false,
374
+ "notNull": true
375
+ },
376
+ "data": {
377
+ "name": "data",
378
+ "type": "jsonb",
379
+ "primaryKey": false,
380
+ "notNull": true
381
+ }
382
+ },
383
+ "indexes": {
384
+ "payload_kv_key_idx": {
385
+ "name": "payload_kv_key_idx",
386
+ "columns": [
387
+ {
388
+ "expression": "key",
389
+ "isExpression": false,
390
+ "asc": true,
391
+ "nulls": "last"
392
+ }
393
+ ],
394
+ "isUnique": true,
395
+ "concurrently": false,
396
+ "method": "btree",
397
+ "with": {}
398
+ }
399
+ },
400
+ "foreignKeys": {},
401
+ "compositePrimaryKeys": {},
402
+ "uniqueConstraints": {},
403
+ "policies": {},
404
+ "checkConstraints": {},
405
+ "isRLSEnabled": false
406
+ },
407
+ "public.payload_locked_documents": {
408
+ "name": "payload_locked_documents",
409
+ "schema": "",
410
+ "columns": {
411
+ "id": {
412
+ "name": "id",
413
+ "type": "serial",
414
+ "primaryKey": true,
415
+ "notNull": true
416
+ },
417
+ "global_slug": {
418
+ "name": "global_slug",
419
+ "type": "varchar",
420
+ "primaryKey": false,
421
+ "notNull": false
422
+ },
423
+ "updated_at": {
424
+ "name": "updated_at",
425
+ "type": "timestamp(3) with time zone",
426
+ "primaryKey": false,
427
+ "notNull": true,
428
+ "default": "now()"
429
+ },
430
+ "created_at": {
431
+ "name": "created_at",
432
+ "type": "timestamp(3) with time zone",
433
+ "primaryKey": false,
434
+ "notNull": true,
435
+ "default": "now()"
436
+ }
437
+ },
438
+ "indexes": {
439
+ "payload_locked_documents_global_slug_idx": {
440
+ "name": "payload_locked_documents_global_slug_idx",
441
+ "columns": [
442
+ {
443
+ "expression": "global_slug",
444
+ "isExpression": false,
445
+ "asc": true,
446
+ "nulls": "last"
447
+ }
448
+ ],
449
+ "isUnique": false,
450
+ "concurrently": false,
451
+ "method": "btree",
452
+ "with": {}
453
+ },
454
+ "payload_locked_documents_updated_at_idx": {
455
+ "name": "payload_locked_documents_updated_at_idx",
456
+ "columns": [
457
+ {
458
+ "expression": "updated_at",
459
+ "isExpression": false,
460
+ "asc": true,
461
+ "nulls": "last"
462
+ }
463
+ ],
464
+ "isUnique": false,
465
+ "concurrently": false,
466
+ "method": "btree",
467
+ "with": {}
468
+ },
469
+ "payload_locked_documents_created_at_idx": {
470
+ "name": "payload_locked_documents_created_at_idx",
471
+ "columns": [
472
+ {
473
+ "expression": "created_at",
474
+ "isExpression": false,
475
+ "asc": true,
476
+ "nulls": "last"
477
+ }
478
+ ],
479
+ "isUnique": false,
480
+ "concurrently": false,
481
+ "method": "btree",
482
+ "with": {}
483
+ }
484
+ },
485
+ "foreignKeys": {},
486
+ "compositePrimaryKeys": {},
487
+ "uniqueConstraints": {},
488
+ "policies": {},
489
+ "checkConstraints": {},
490
+ "isRLSEnabled": false
491
+ },
492
+ "public.payload_locked_documents_rels": {
493
+ "name": "payload_locked_documents_rels",
494
+ "schema": "",
495
+ "columns": {
496
+ "id": {
497
+ "name": "id",
498
+ "type": "serial",
499
+ "primaryKey": true,
500
+ "notNull": true
501
+ },
502
+ "order": {
503
+ "name": "order",
504
+ "type": "integer",
505
+ "primaryKey": false,
506
+ "notNull": false
507
+ },
508
+ "parent_id": {
509
+ "name": "parent_id",
510
+ "type": "integer",
511
+ "primaryKey": false,
512
+ "notNull": true
513
+ },
514
+ "path": {
515
+ "name": "path",
516
+ "type": "varchar",
517
+ "primaryKey": false,
518
+ "notNull": true
519
+ },
520
+ "users_id": {
521
+ "name": "users_id",
522
+ "type": "integer",
523
+ "primaryKey": false,
524
+ "notNull": false
525
+ },
526
+ "media_id": {
527
+ "name": "media_id",
528
+ "type": "integer",
529
+ "primaryKey": false,
530
+ "notNull": false
531
+ }
532
+ },
533
+ "indexes": {
534
+ "payload_locked_documents_rels_order_idx": {
535
+ "name": "payload_locked_documents_rels_order_idx",
536
+ "columns": [
537
+ {
538
+ "expression": "order",
539
+ "isExpression": false,
540
+ "asc": true,
541
+ "nulls": "last"
542
+ }
543
+ ],
544
+ "isUnique": false,
545
+ "concurrently": false,
546
+ "method": "btree",
547
+ "with": {}
548
+ },
549
+ "payload_locked_documents_rels_parent_idx": {
550
+ "name": "payload_locked_documents_rels_parent_idx",
551
+ "columns": [
552
+ {
553
+ "expression": "parent_id",
554
+ "isExpression": false,
555
+ "asc": true,
556
+ "nulls": "last"
557
+ }
558
+ ],
559
+ "isUnique": false,
560
+ "concurrently": false,
561
+ "method": "btree",
562
+ "with": {}
563
+ },
564
+ "payload_locked_documents_rels_path_idx": {
565
+ "name": "payload_locked_documents_rels_path_idx",
566
+ "columns": [
567
+ {
568
+ "expression": "path",
569
+ "isExpression": false,
570
+ "asc": true,
571
+ "nulls": "last"
572
+ }
573
+ ],
574
+ "isUnique": false,
575
+ "concurrently": false,
576
+ "method": "btree",
577
+ "with": {}
578
+ },
579
+ "payload_locked_documents_rels_users_id_idx": {
580
+ "name": "payload_locked_documents_rels_users_id_idx",
581
+ "columns": [
582
+ {
583
+ "expression": "users_id",
584
+ "isExpression": false,
585
+ "asc": true,
586
+ "nulls": "last"
587
+ }
588
+ ],
589
+ "isUnique": false,
590
+ "concurrently": false,
591
+ "method": "btree",
592
+ "with": {}
593
+ },
594
+ "payload_locked_documents_rels_media_id_idx": {
595
+ "name": "payload_locked_documents_rels_media_id_idx",
596
+ "columns": [
597
+ {
598
+ "expression": "media_id",
599
+ "isExpression": false,
600
+ "asc": true,
601
+ "nulls": "last"
602
+ }
603
+ ],
604
+ "isUnique": false,
605
+ "concurrently": false,
606
+ "method": "btree",
607
+ "with": {}
608
+ }
609
+ },
610
+ "foreignKeys": {
611
+ "payload_locked_documents_rels_parent_fk": {
612
+ "name": "payload_locked_documents_rels_parent_fk",
613
+ "tableFrom": "payload_locked_documents_rels",
614
+ "tableTo": "payload_locked_documents",
615
+ "columnsFrom": [
616
+ "parent_id"
617
+ ],
618
+ "columnsTo": [
619
+ "id"
620
+ ],
621
+ "onDelete": "cascade",
622
+ "onUpdate": "no action"
623
+ },
624
+ "payload_locked_documents_rels_users_fk": {
625
+ "name": "payload_locked_documents_rels_users_fk",
626
+ "tableFrom": "payload_locked_documents_rels",
627
+ "tableTo": "users",
628
+ "columnsFrom": [
629
+ "users_id"
630
+ ],
631
+ "columnsTo": [
632
+ "id"
633
+ ],
634
+ "onDelete": "cascade",
635
+ "onUpdate": "no action"
636
+ },
637
+ "payload_locked_documents_rels_media_fk": {
638
+ "name": "payload_locked_documents_rels_media_fk",
639
+ "tableFrom": "payload_locked_documents_rels",
640
+ "tableTo": "media",
641
+ "columnsFrom": [
642
+ "media_id"
643
+ ],
644
+ "columnsTo": [
645
+ "id"
646
+ ],
647
+ "onDelete": "cascade",
648
+ "onUpdate": "no action"
649
+ }
650
+ },
651
+ "compositePrimaryKeys": {},
652
+ "uniqueConstraints": {},
653
+ "policies": {},
654
+ "checkConstraints": {},
655
+ "isRLSEnabled": false
656
+ },
657
+ "public.payload_preferences": {
658
+ "name": "payload_preferences",
659
+ "schema": "",
660
+ "columns": {
661
+ "id": {
662
+ "name": "id",
663
+ "type": "serial",
664
+ "primaryKey": true,
665
+ "notNull": true
666
+ },
667
+ "key": {
668
+ "name": "key",
669
+ "type": "varchar",
670
+ "primaryKey": false,
671
+ "notNull": false
672
+ },
673
+ "value": {
674
+ "name": "value",
675
+ "type": "jsonb",
676
+ "primaryKey": false,
677
+ "notNull": false
678
+ },
679
+ "updated_at": {
680
+ "name": "updated_at",
681
+ "type": "timestamp(3) with time zone",
682
+ "primaryKey": false,
683
+ "notNull": true,
684
+ "default": "now()"
685
+ },
686
+ "created_at": {
687
+ "name": "created_at",
688
+ "type": "timestamp(3) with time zone",
689
+ "primaryKey": false,
690
+ "notNull": true,
691
+ "default": "now()"
692
+ }
693
+ },
694
+ "indexes": {
695
+ "payload_preferences_key_idx": {
696
+ "name": "payload_preferences_key_idx",
697
+ "columns": [
698
+ {
699
+ "expression": "key",
700
+ "isExpression": false,
701
+ "asc": true,
702
+ "nulls": "last"
703
+ }
704
+ ],
705
+ "isUnique": false,
706
+ "concurrently": false,
707
+ "method": "btree",
708
+ "with": {}
709
+ },
710
+ "payload_preferences_updated_at_idx": {
711
+ "name": "payload_preferences_updated_at_idx",
712
+ "columns": [
713
+ {
714
+ "expression": "updated_at",
715
+ "isExpression": false,
716
+ "asc": true,
717
+ "nulls": "last"
718
+ }
719
+ ],
720
+ "isUnique": false,
721
+ "concurrently": false,
722
+ "method": "btree",
723
+ "with": {}
724
+ },
725
+ "payload_preferences_created_at_idx": {
726
+ "name": "payload_preferences_created_at_idx",
727
+ "columns": [
728
+ {
729
+ "expression": "created_at",
730
+ "isExpression": false,
731
+ "asc": true,
732
+ "nulls": "last"
733
+ }
734
+ ],
735
+ "isUnique": false,
736
+ "concurrently": false,
737
+ "method": "btree",
738
+ "with": {}
739
+ }
740
+ },
741
+ "foreignKeys": {},
742
+ "compositePrimaryKeys": {},
743
+ "uniqueConstraints": {},
744
+ "policies": {},
745
+ "checkConstraints": {},
746
+ "isRLSEnabled": false
747
+ },
748
+ "public.payload_preferences_rels": {
749
+ "name": "payload_preferences_rels",
750
+ "schema": "",
751
+ "columns": {
752
+ "id": {
753
+ "name": "id",
754
+ "type": "serial",
755
+ "primaryKey": true,
756
+ "notNull": true
757
+ },
758
+ "order": {
759
+ "name": "order",
760
+ "type": "integer",
761
+ "primaryKey": false,
762
+ "notNull": false
763
+ },
764
+ "parent_id": {
765
+ "name": "parent_id",
766
+ "type": "integer",
767
+ "primaryKey": false,
768
+ "notNull": true
769
+ },
770
+ "path": {
771
+ "name": "path",
772
+ "type": "varchar",
773
+ "primaryKey": false,
774
+ "notNull": true
775
+ },
776
+ "users_id": {
777
+ "name": "users_id",
778
+ "type": "integer",
779
+ "primaryKey": false,
780
+ "notNull": false
781
+ }
782
+ },
783
+ "indexes": {
784
+ "payload_preferences_rels_order_idx": {
785
+ "name": "payload_preferences_rels_order_idx",
786
+ "columns": [
787
+ {
788
+ "expression": "order",
789
+ "isExpression": false,
790
+ "asc": true,
791
+ "nulls": "last"
792
+ }
793
+ ],
794
+ "isUnique": false,
795
+ "concurrently": false,
796
+ "method": "btree",
797
+ "with": {}
798
+ },
799
+ "payload_preferences_rels_parent_idx": {
800
+ "name": "payload_preferences_rels_parent_idx",
801
+ "columns": [
802
+ {
803
+ "expression": "parent_id",
804
+ "isExpression": false,
805
+ "asc": true,
806
+ "nulls": "last"
807
+ }
808
+ ],
809
+ "isUnique": false,
810
+ "concurrently": false,
811
+ "method": "btree",
812
+ "with": {}
813
+ },
814
+ "payload_preferences_rels_path_idx": {
815
+ "name": "payload_preferences_rels_path_idx",
816
+ "columns": [
817
+ {
818
+ "expression": "path",
819
+ "isExpression": false,
820
+ "asc": true,
821
+ "nulls": "last"
822
+ }
823
+ ],
824
+ "isUnique": false,
825
+ "concurrently": false,
826
+ "method": "btree",
827
+ "with": {}
828
+ },
829
+ "payload_preferences_rels_users_id_idx": {
830
+ "name": "payload_preferences_rels_users_id_idx",
831
+ "columns": [
832
+ {
833
+ "expression": "users_id",
834
+ "isExpression": false,
835
+ "asc": true,
836
+ "nulls": "last"
837
+ }
838
+ ],
839
+ "isUnique": false,
840
+ "concurrently": false,
841
+ "method": "btree",
842
+ "with": {}
843
+ }
844
+ },
845
+ "foreignKeys": {
846
+ "payload_preferences_rels_parent_fk": {
847
+ "name": "payload_preferences_rels_parent_fk",
848
+ "tableFrom": "payload_preferences_rels",
849
+ "tableTo": "payload_preferences",
850
+ "columnsFrom": [
851
+ "parent_id"
852
+ ],
853
+ "columnsTo": [
854
+ "id"
855
+ ],
856
+ "onDelete": "cascade",
857
+ "onUpdate": "no action"
858
+ },
859
+ "payload_preferences_rels_users_fk": {
860
+ "name": "payload_preferences_rels_users_fk",
861
+ "tableFrom": "payload_preferences_rels",
862
+ "tableTo": "users",
863
+ "columnsFrom": [
864
+ "users_id"
865
+ ],
866
+ "columnsTo": [
867
+ "id"
868
+ ],
869
+ "onDelete": "cascade",
870
+ "onUpdate": "no action"
871
+ }
872
+ },
873
+ "compositePrimaryKeys": {},
874
+ "uniqueConstraints": {},
875
+ "policies": {},
876
+ "checkConstraints": {},
877
+ "isRLSEnabled": false
878
+ },
879
+ "public.payload_migrations": {
880
+ "name": "payload_migrations",
881
+ "schema": "",
882
+ "columns": {
883
+ "id": {
884
+ "name": "id",
885
+ "type": "serial",
886
+ "primaryKey": true,
887
+ "notNull": true
888
+ },
889
+ "name": {
890
+ "name": "name",
891
+ "type": "varchar",
892
+ "primaryKey": false,
893
+ "notNull": false
894
+ },
895
+ "batch": {
896
+ "name": "batch",
897
+ "type": "numeric",
898
+ "primaryKey": false,
899
+ "notNull": false
900
+ },
901
+ "updated_at": {
902
+ "name": "updated_at",
903
+ "type": "timestamp(3) with time zone",
904
+ "primaryKey": false,
905
+ "notNull": true,
906
+ "default": "now()"
907
+ },
908
+ "created_at": {
909
+ "name": "created_at",
910
+ "type": "timestamp(3) with time zone",
911
+ "primaryKey": false,
912
+ "notNull": true,
913
+ "default": "now()"
914
+ }
915
+ },
916
+ "indexes": {
917
+ "payload_migrations_updated_at_idx": {
918
+ "name": "payload_migrations_updated_at_idx",
919
+ "columns": [
920
+ {
921
+ "expression": "updated_at",
922
+ "isExpression": false,
923
+ "asc": true,
924
+ "nulls": "last"
925
+ }
926
+ ],
927
+ "isUnique": false,
928
+ "concurrently": false,
929
+ "method": "btree",
930
+ "with": {}
931
+ },
932
+ "payload_migrations_created_at_idx": {
933
+ "name": "payload_migrations_created_at_idx",
934
+ "columns": [
935
+ {
936
+ "expression": "created_at",
937
+ "isExpression": false,
938
+ "asc": true,
939
+ "nulls": "last"
940
+ }
941
+ ],
942
+ "isUnique": false,
943
+ "concurrently": false,
944
+ "method": "btree",
945
+ "with": {}
946
+ }
947
+ },
948
+ "foreignKeys": {},
949
+ "compositePrimaryKeys": {},
950
+ "uniqueConstraints": {},
951
+ "policies": {},
952
+ "checkConstraints": {},
953
+ "isRLSEnabled": false
954
+ }
955
+ },
956
+ "enums": {},
957
+ "schemas": {},
958
+ "sequences": {},
959
+ "roles": {},
960
+ "policies": {},
961
+ "views": {},
962
+ "_meta": {
963
+ "schemas": {},
964
+ "tables": {},
965
+ "columns": {}
966
+ },
967
+ "id": "f25ac125-7adf-472d-b01a-fc7db147f596",
968
+ "prevId": "00000000-0000-0000-0000-000000000000"
969
+ }