@mars-stack/cli 0.2.0 → 0.2.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 (173) hide show
  1. package/package.json +2 -2
  2. package/template/.cursor/rules/composition-patterns.mdc +186 -0
  3. package/template/.cursor/rules/data-access.mdc +29 -0
  4. package/template/.cursor/rules/project-structure.mdc +34 -0
  5. package/template/.cursor/rules/security.mdc +25 -0
  6. package/template/.cursor/rules/testing.mdc +24 -0
  7. package/template/.cursor/rules/ui-conventions.mdc +29 -0
  8. package/template/.cursor/skills/add-api-route/SKILL.md +122 -0
  9. package/template/.cursor/skills/add-audit-log/SKILL.md +373 -0
  10. package/template/.cursor/skills/add-blog/SKILL.md +447 -0
  11. package/template/.cursor/skills/add-command-palette/SKILL.md +438 -0
  12. package/template/.cursor/skills/add-component/SKILL.md +158 -0
  13. package/template/.cursor/skills/add-crud-routes/SKILL.md +221 -0
  14. package/template/.cursor/skills/add-e2e-test/SKILL.md +227 -0
  15. package/template/.cursor/skills/add-error-boundary/SKILL.md +472 -0
  16. package/template/.cursor/skills/add-feature/SKILL.md +174 -0
  17. package/template/.cursor/skills/add-middleware/SKILL.md +135 -0
  18. package/template/.cursor/skills/add-page/SKILL.md +151 -0
  19. package/template/.cursor/skills/add-prisma-model/SKILL.md +148 -0
  20. package/template/.cursor/skills/add-protected-resource/SKILL.md +192 -0
  21. package/template/.cursor/skills/add-role/SKILL.md +156 -0
  22. package/template/.cursor/skills/add-server-action/SKILL.md +167 -0
  23. package/template/.cursor/skills/add-webhook/SKILL.md +192 -0
  24. package/template/.cursor/skills/build-complete-feature/SKILL.md +227 -0
  25. package/template/.cursor/skills/build-dashboard/SKILL.md +211 -0
  26. package/template/.cursor/skills/build-data-table/SKILL.md +283 -0
  27. package/template/.cursor/skills/build-form/SKILL.md +231 -0
  28. package/template/.cursor/skills/build-landing-page/SKILL.md +248 -0
  29. package/template/.cursor/skills/configure-ai/SKILL.md +617 -0
  30. package/template/.cursor/skills/configure-analytics/SKILL.md +413 -0
  31. package/template/.cursor/skills/configure-dark-mode/SKILL.md +309 -0
  32. package/template/.cursor/skills/configure-email/SKILL.md +170 -0
  33. package/template/.cursor/skills/configure-email-verification/SKILL.md +333 -0
  34. package/template/.cursor/skills/configure-feature-flags/SKILL.md +361 -0
  35. package/template/.cursor/skills/configure-i18n/SKILL.md +518 -0
  36. package/template/.cursor/skills/configure-jobs/SKILL.md +500 -0
  37. package/template/.cursor/skills/configure-magic-links/SKILL.md +385 -0
  38. package/template/.cursor/skills/configure-multi-tenancy/SKILL.md +611 -0
  39. package/template/.cursor/skills/configure-notifications/SKILL.md +569 -0
  40. package/template/.cursor/skills/configure-oauth/SKILL.md +217 -0
  41. package/template/.cursor/skills/configure-onboarding/SKILL.md +483 -0
  42. package/template/.cursor/skills/configure-payments/SKILL.md +243 -0
  43. package/template/.cursor/skills/configure-realtime/SKILL.md +733 -0
  44. package/template/.cursor/skills/configure-search/SKILL.md +581 -0
  45. package/template/.cursor/skills/configure-storage/SKILL.md +273 -0
  46. package/template/.cursor/skills/configure-two-factor/SKILL.md +518 -0
  47. package/template/.cursor/skills/create-execution-plan/SKILL.md +204 -0
  48. package/template/.cursor/skills/create-seed/SKILL.md +191 -0
  49. package/template/.cursor/skills/deploy-to-vercel/SKILL.md +300 -0
  50. package/template/.cursor/skills/design-tokens/SKILL.md +138 -0
  51. package/template/.cursor/skills/mars-capture-conversation-context/SKILL.md +119 -0
  52. package/template/.cursor/skills/setup-billing/SKILL.md +322 -0
  53. package/template/.cursor/skills/setup-project/SKILL.md +104 -0
  54. package/template/.cursor/skills/setup-teams/SKILL.md +682 -0
  55. package/template/.cursor/skills/test-api-route/SKILL.md +219 -0
  56. package/template/.cursor/skills/update-architecture-docs/SKILL.md +99 -0
  57. package/template/AGENTS.md +104 -0
  58. package/template/ARCHITECTURE.md +102 -0
  59. package/template/docs/QUALITY_SCORE.md +20 -0
  60. package/template/docs/design-docs/conversation-as-system-record.md +70 -0
  61. package/template/docs/design-docs/core-beliefs.md +43 -0
  62. package/template/docs/design-docs/index.md +8 -0
  63. package/template/docs/exec-plans/active/.gitkeep +0 -0
  64. package/template/docs/exec-plans/completed/.gitkeep +0 -0
  65. package/template/docs/exec-plans/tech-debt.md +7 -0
  66. package/template/docs/generated/.gitkeep +0 -0
  67. package/template/docs/product-specs/index.md +7 -0
  68. package/template/docs/references/index.md +18 -0
  69. package/template/e2e/api.spec.ts +20 -0
  70. package/template/e2e/auth.spec.ts +24 -0
  71. package/template/e2e/public.spec.ts +25 -0
  72. package/template/eslint.config.mjs +24 -0
  73. package/template/next-env.d.ts +6 -0
  74. package/template/next.config.ts +45 -0
  75. package/template/package.json +80 -0
  76. package/template/playwright.config.ts +31 -0
  77. package/template/postcss.config.mjs +8 -0
  78. package/template/prisma/generated/prisma/browser.ts +49 -0
  79. package/template/prisma/generated/prisma/client.ts +73 -0
  80. package/template/prisma/generated/prisma/commonInputTypes.ts +406 -0
  81. package/template/prisma/generated/prisma/enums.ts +15 -0
  82. package/template/prisma/generated/prisma/internal/class.ts +254 -0
  83. package/template/prisma/generated/prisma/internal/prismaNamespace.ts +1240 -0
  84. package/template/prisma/generated/prisma/internal/prismaNamespaceBrowser.ts +190 -0
  85. package/template/prisma/generated/prisma/models/Account.ts +1543 -0
  86. package/template/prisma/generated/prisma/models/File.ts +1529 -0
  87. package/template/prisma/generated/prisma/models/Session.ts +1415 -0
  88. package/template/prisma/generated/prisma/models/Subscription.ts +1455 -0
  89. package/template/prisma/generated/prisma/models/User.ts +2235 -0
  90. package/template/prisma/generated/prisma/models/VerificationToken.ts +1099 -0
  91. package/template/prisma/generated/prisma/models.ts +17 -0
  92. package/template/prisma/schema/auth.prisma +69 -0
  93. package/template/prisma/schema/base.prisma +8 -0
  94. package/template/prisma/schema/file.prisma +15 -0
  95. package/template/prisma/schema/subscription.prisma +17 -0
  96. package/template/prisma.config.ts +13 -0
  97. package/template/scripts/check-architecture.ts +221 -0
  98. package/template/scripts/check-doc-freshness.ts +242 -0
  99. package/template/scripts/ensure-db.mjs +291 -0
  100. package/template/scripts/generate-docs.ts +143 -0
  101. package/template/scripts/generate-env-example.ts +89 -0
  102. package/template/scripts/seed.ts +56 -0
  103. package/template/scripts/update-quality-score.ts +263 -0
  104. package/template/src/__tests__/architecture.test.ts +114 -0
  105. package/template/src/app/(auth)/forgotten-password/page.tsx +92 -0
  106. package/template/src/app/(auth)/layout.tsx +11 -0
  107. package/template/src/app/(auth)/register/page.tsx +162 -0
  108. package/template/src/app/(auth)/reset-password/page.tsx +109 -0
  109. package/template/src/app/(auth)/sign-in/page.tsx +122 -0
  110. package/template/src/app/(auth)/verify/[token]/page.tsx +87 -0
  111. package/template/src/app/(auth)/verify/page.tsx +56 -0
  112. package/template/src/app/(protected)/admin/page.tsx +108 -0
  113. package/template/src/app/(protected)/dashboard/loading.tsx +20 -0
  114. package/template/src/app/(protected)/dashboard/page.tsx +22 -0
  115. package/template/src/app/(protected)/layout.tsx +262 -0
  116. package/template/src/app/(protected)/settings/page.tsx +370 -0
  117. package/template/src/app/api/auth/forgot/route.ts +63 -0
  118. package/template/src/app/api/auth/login/route.ts +121 -0
  119. package/template/src/app/api/auth/logout/route.ts +19 -0
  120. package/template/src/app/api/auth/me/route.ts +30 -0
  121. package/template/src/app/api/auth/reset/route.ts +45 -0
  122. package/template/src/app/api/auth/signup/route.ts +85 -0
  123. package/template/src/app/api/auth/verify/route.ts +46 -0
  124. package/template/src/app/api/csrf/route.ts +12 -0
  125. package/template/src/app/api/health/route.ts +10 -0
  126. package/template/src/app/api/protected/admin/users/route.ts +24 -0
  127. package/template/src/app/api/protected/billing/checkout/route.ts +83 -0
  128. package/template/src/app/api/protected/billing/portal/route.ts +39 -0
  129. package/template/src/app/api/protected/files/[fileId]/route.ts +86 -0
  130. package/template/src/app/api/protected/files/upload/route.ts +64 -0
  131. package/template/src/app/api/protected/user/password/route.ts +63 -0
  132. package/template/src/app/api/protected/user/profile/route.ts +35 -0
  133. package/template/src/app/api/protected/user/sessions/[sessionId]/route.ts +33 -0
  134. package/template/src/app/api/protected/user/sessions/route.ts +22 -0
  135. package/template/src/app/api/readiness/route.ts +15 -0
  136. package/template/src/app/api/webhooks/stripe/route.ts +166 -0
  137. package/template/src/app/error.tsx +33 -0
  138. package/template/src/app/layout.tsx +29 -0
  139. package/template/src/app/not-found.tsx +20 -0
  140. package/template/src/app/page.tsx +136 -0
  141. package/template/src/app/privacy/page.tsx +178 -0
  142. package/template/src/app/providers.tsx +8 -0
  143. package/template/src/app/terms/page.tsx +139 -0
  144. package/template/src/config/app.config.ts +70 -0
  145. package/template/src/config/routes.ts +17 -0
  146. package/template/src/features/admin/index.ts +11 -0
  147. package/template/src/features/admin/permissions.ts +64 -0
  148. package/template/src/features/auth/context/AuthContext.tsx +96 -0
  149. package/template/src/features/auth/context/index.ts +2 -0
  150. package/template/src/features/auth/index.ts +3 -0
  151. package/template/src/features/auth/server/consent.ts +66 -0
  152. package/template/src/features/auth/server/session-revocation.ts +20 -0
  153. package/template/src/features/auth/server/sessions.ts +66 -0
  154. package/template/src/features/auth/server/user.ts +166 -0
  155. package/template/src/features/auth/types.ts +19 -0
  156. package/template/src/features/auth/validators.ts +29 -0
  157. package/template/src/features/billing/server/index.ts +66 -0
  158. package/template/src/features/billing/types.ts +43 -0
  159. package/template/src/features/uploads/server/index.ts +49 -0
  160. package/template/src/features/uploads/types.ts +26 -0
  161. package/template/src/lib/core/email/templates/base-layout.ts +122 -0
  162. package/template/src/lib/core/email/templates/index.ts +4 -0
  163. package/template/src/lib/core/email/templates/password-reset-email.ts +42 -0
  164. package/template/src/lib/core/email/templates/verification-email.ts +41 -0
  165. package/template/src/lib/core/email/templates/welcome-email.ts +40 -0
  166. package/template/src/lib/mars.ts +56 -0
  167. package/template/src/lib/prisma.ts +19 -0
  168. package/template/src/proxy.ts +92 -0
  169. package/template/src/styles/brand.css +17 -0
  170. package/template/src/styles/globals.css +6 -0
  171. package/template/tsconfig.json +59 -0
  172. package/template/vitest.config.ts +41 -0
  173. package/template/vitest.setup.ts +24 -0
@@ -0,0 +1,1529 @@
1
+
2
+ /* !!! This is code generated by Prisma. Do not edit directly. !!! */
3
+ /* eslint-disable */
4
+ // biome-ignore-all lint: generated file
5
+ // @ts-nocheck
6
+ /*
7
+ * This file exports the `File` model and its related types.
8
+ *
9
+ * 🟢 You can import this file directly.
10
+ */
11
+ import type * as runtime from "@prisma/client/runtime/client"
12
+ import type * as $Enums from "../enums"
13
+ import type * as Prisma from "../internal/prismaNamespace"
14
+
15
+ /**
16
+ * Model File
17
+ *
18
+ */
19
+ export type FileModel = runtime.Types.Result.DefaultSelection<Prisma.$FilePayload>
20
+
21
+ export type AggregateFile = {
22
+ _count: FileCountAggregateOutputType | null
23
+ _avg: FileAvgAggregateOutputType | null
24
+ _sum: FileSumAggregateOutputType | null
25
+ _min: FileMinAggregateOutputType | null
26
+ _max: FileMaxAggregateOutputType | null
27
+ }
28
+
29
+ export type FileAvgAggregateOutputType = {
30
+ size: number | null
31
+ }
32
+
33
+ export type FileSumAggregateOutputType = {
34
+ size: number | null
35
+ }
36
+
37
+ export type FileMinAggregateOutputType = {
38
+ id: string | null
39
+ userId: string | null
40
+ filename: string | null
41
+ url: string | null
42
+ contentType: string | null
43
+ size: number | null
44
+ access: string | null
45
+ createdAt: Date | null
46
+ updatedAt: Date | null
47
+ }
48
+
49
+ export type FileMaxAggregateOutputType = {
50
+ id: string | null
51
+ userId: string | null
52
+ filename: string | null
53
+ url: string | null
54
+ contentType: string | null
55
+ size: number | null
56
+ access: string | null
57
+ createdAt: Date | null
58
+ updatedAt: Date | null
59
+ }
60
+
61
+ export type FileCountAggregateOutputType = {
62
+ id: number
63
+ userId: number
64
+ filename: number
65
+ url: number
66
+ contentType: number
67
+ size: number
68
+ access: number
69
+ createdAt: number
70
+ updatedAt: number
71
+ _all: number
72
+ }
73
+
74
+
75
+ export type FileAvgAggregateInputType = {
76
+ size?: true
77
+ }
78
+
79
+ export type FileSumAggregateInputType = {
80
+ size?: true
81
+ }
82
+
83
+ export type FileMinAggregateInputType = {
84
+ id?: true
85
+ userId?: true
86
+ filename?: true
87
+ url?: true
88
+ contentType?: true
89
+ size?: true
90
+ access?: true
91
+ createdAt?: true
92
+ updatedAt?: true
93
+ }
94
+
95
+ export type FileMaxAggregateInputType = {
96
+ id?: true
97
+ userId?: true
98
+ filename?: true
99
+ url?: true
100
+ contentType?: true
101
+ size?: true
102
+ access?: true
103
+ createdAt?: true
104
+ updatedAt?: true
105
+ }
106
+
107
+ export type FileCountAggregateInputType = {
108
+ id?: true
109
+ userId?: true
110
+ filename?: true
111
+ url?: true
112
+ contentType?: true
113
+ size?: true
114
+ access?: true
115
+ createdAt?: true
116
+ updatedAt?: true
117
+ _all?: true
118
+ }
119
+
120
+ export type FileAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
121
+ /**
122
+ * Filter which File to aggregate.
123
+ */
124
+ where?: Prisma.FileWhereInput
125
+ /**
126
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
127
+ *
128
+ * Determine the order of Files to fetch.
129
+ */
130
+ orderBy?: Prisma.FileOrderByWithRelationInput | Prisma.FileOrderByWithRelationInput[]
131
+ /**
132
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
133
+ *
134
+ * Sets the start position
135
+ */
136
+ cursor?: Prisma.FileWhereUniqueInput
137
+ /**
138
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
139
+ *
140
+ * Take `±n` Files from the position of the cursor.
141
+ */
142
+ take?: number
143
+ /**
144
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
145
+ *
146
+ * Skip the first `n` Files.
147
+ */
148
+ skip?: number
149
+ /**
150
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
151
+ *
152
+ * Count returned Files
153
+ **/
154
+ _count?: true | FileCountAggregateInputType
155
+ /**
156
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
157
+ *
158
+ * Select which fields to average
159
+ **/
160
+ _avg?: FileAvgAggregateInputType
161
+ /**
162
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
163
+ *
164
+ * Select which fields to sum
165
+ **/
166
+ _sum?: FileSumAggregateInputType
167
+ /**
168
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
169
+ *
170
+ * Select which fields to find the minimum value
171
+ **/
172
+ _min?: FileMinAggregateInputType
173
+ /**
174
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
175
+ *
176
+ * Select which fields to find the maximum value
177
+ **/
178
+ _max?: FileMaxAggregateInputType
179
+ }
180
+
181
+ export type GetFileAggregateType<T extends FileAggregateArgs> = {
182
+ [P in keyof T & keyof AggregateFile]: P extends '_count' | 'count'
183
+ ? T[P] extends true
184
+ ? number
185
+ : Prisma.GetScalarType<T[P], AggregateFile[P]>
186
+ : Prisma.GetScalarType<T[P], AggregateFile[P]>
187
+ }
188
+
189
+
190
+
191
+
192
+ export type FileGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
193
+ where?: Prisma.FileWhereInput
194
+ orderBy?: Prisma.FileOrderByWithAggregationInput | Prisma.FileOrderByWithAggregationInput[]
195
+ by: Prisma.FileScalarFieldEnum[] | Prisma.FileScalarFieldEnum
196
+ having?: Prisma.FileScalarWhereWithAggregatesInput
197
+ take?: number
198
+ skip?: number
199
+ _count?: FileCountAggregateInputType | true
200
+ _avg?: FileAvgAggregateInputType
201
+ _sum?: FileSumAggregateInputType
202
+ _min?: FileMinAggregateInputType
203
+ _max?: FileMaxAggregateInputType
204
+ }
205
+
206
+ export type FileGroupByOutputType = {
207
+ id: string
208
+ userId: string
209
+ filename: string
210
+ url: string
211
+ contentType: string
212
+ size: number
213
+ access: string
214
+ createdAt: Date
215
+ updatedAt: Date
216
+ _count: FileCountAggregateOutputType | null
217
+ _avg: FileAvgAggregateOutputType | null
218
+ _sum: FileSumAggregateOutputType | null
219
+ _min: FileMinAggregateOutputType | null
220
+ _max: FileMaxAggregateOutputType | null
221
+ }
222
+
223
+ type GetFileGroupByPayload<T extends FileGroupByArgs> = Prisma.PrismaPromise<
224
+ Array<
225
+ Prisma.PickEnumerable<FileGroupByOutputType, T['by']> &
226
+ {
227
+ [P in ((keyof T) & (keyof FileGroupByOutputType))]: P extends '_count'
228
+ ? T[P] extends boolean
229
+ ? number
230
+ : Prisma.GetScalarType<T[P], FileGroupByOutputType[P]>
231
+ : Prisma.GetScalarType<T[P], FileGroupByOutputType[P]>
232
+ }
233
+ >
234
+ >
235
+
236
+
237
+
238
+ export type FileWhereInput = {
239
+ AND?: Prisma.FileWhereInput | Prisma.FileWhereInput[]
240
+ OR?: Prisma.FileWhereInput[]
241
+ NOT?: Prisma.FileWhereInput | Prisma.FileWhereInput[]
242
+ id?: Prisma.StringFilter<"File"> | string
243
+ userId?: Prisma.StringFilter<"File"> | string
244
+ filename?: Prisma.StringFilter<"File"> | string
245
+ url?: Prisma.StringFilter<"File"> | string
246
+ contentType?: Prisma.StringFilter<"File"> | string
247
+ size?: Prisma.IntFilter<"File"> | number
248
+ access?: Prisma.StringFilter<"File"> | string
249
+ createdAt?: Prisma.DateTimeFilter<"File"> | Date | string
250
+ updatedAt?: Prisma.DateTimeFilter<"File"> | Date | string
251
+ user?: Prisma.XOR<Prisma.UserScalarRelationFilter, Prisma.UserWhereInput>
252
+ }
253
+
254
+ export type FileOrderByWithRelationInput = {
255
+ id?: Prisma.SortOrder
256
+ userId?: Prisma.SortOrder
257
+ filename?: Prisma.SortOrder
258
+ url?: Prisma.SortOrder
259
+ contentType?: Prisma.SortOrder
260
+ size?: Prisma.SortOrder
261
+ access?: Prisma.SortOrder
262
+ createdAt?: Prisma.SortOrder
263
+ updatedAt?: Prisma.SortOrder
264
+ user?: Prisma.UserOrderByWithRelationInput
265
+ }
266
+
267
+ export type FileWhereUniqueInput = Prisma.AtLeast<{
268
+ id?: string
269
+ AND?: Prisma.FileWhereInput | Prisma.FileWhereInput[]
270
+ OR?: Prisma.FileWhereInput[]
271
+ NOT?: Prisma.FileWhereInput | Prisma.FileWhereInput[]
272
+ userId?: Prisma.StringFilter<"File"> | string
273
+ filename?: Prisma.StringFilter<"File"> | string
274
+ url?: Prisma.StringFilter<"File"> | string
275
+ contentType?: Prisma.StringFilter<"File"> | string
276
+ size?: Prisma.IntFilter<"File"> | number
277
+ access?: Prisma.StringFilter<"File"> | string
278
+ createdAt?: Prisma.DateTimeFilter<"File"> | Date | string
279
+ updatedAt?: Prisma.DateTimeFilter<"File"> | Date | string
280
+ user?: Prisma.XOR<Prisma.UserScalarRelationFilter, Prisma.UserWhereInput>
281
+ }, "id">
282
+
283
+ export type FileOrderByWithAggregationInput = {
284
+ id?: Prisma.SortOrder
285
+ userId?: Prisma.SortOrder
286
+ filename?: Prisma.SortOrder
287
+ url?: Prisma.SortOrder
288
+ contentType?: Prisma.SortOrder
289
+ size?: Prisma.SortOrder
290
+ access?: Prisma.SortOrder
291
+ createdAt?: Prisma.SortOrder
292
+ updatedAt?: Prisma.SortOrder
293
+ _count?: Prisma.FileCountOrderByAggregateInput
294
+ _avg?: Prisma.FileAvgOrderByAggregateInput
295
+ _max?: Prisma.FileMaxOrderByAggregateInput
296
+ _min?: Prisma.FileMinOrderByAggregateInput
297
+ _sum?: Prisma.FileSumOrderByAggregateInput
298
+ }
299
+
300
+ export type FileScalarWhereWithAggregatesInput = {
301
+ AND?: Prisma.FileScalarWhereWithAggregatesInput | Prisma.FileScalarWhereWithAggregatesInput[]
302
+ OR?: Prisma.FileScalarWhereWithAggregatesInput[]
303
+ NOT?: Prisma.FileScalarWhereWithAggregatesInput | Prisma.FileScalarWhereWithAggregatesInput[]
304
+ id?: Prisma.StringWithAggregatesFilter<"File"> | string
305
+ userId?: Prisma.StringWithAggregatesFilter<"File"> | string
306
+ filename?: Prisma.StringWithAggregatesFilter<"File"> | string
307
+ url?: Prisma.StringWithAggregatesFilter<"File"> | string
308
+ contentType?: Prisma.StringWithAggregatesFilter<"File"> | string
309
+ size?: Prisma.IntWithAggregatesFilter<"File"> | number
310
+ access?: Prisma.StringWithAggregatesFilter<"File"> | string
311
+ createdAt?: Prisma.DateTimeWithAggregatesFilter<"File"> | Date | string
312
+ updatedAt?: Prisma.DateTimeWithAggregatesFilter<"File"> | Date | string
313
+ }
314
+
315
+ export type FileCreateInput = {
316
+ id?: string
317
+ filename: string
318
+ url: string
319
+ contentType: string
320
+ size: number
321
+ access?: string
322
+ createdAt?: Date | string
323
+ updatedAt?: Date | string
324
+ user: Prisma.UserCreateNestedOneWithoutFilesInput
325
+ }
326
+
327
+ export type FileUncheckedCreateInput = {
328
+ id?: string
329
+ userId: string
330
+ filename: string
331
+ url: string
332
+ contentType: string
333
+ size: number
334
+ access?: string
335
+ createdAt?: Date | string
336
+ updatedAt?: Date | string
337
+ }
338
+
339
+ export type FileUpdateInput = {
340
+ id?: Prisma.StringFieldUpdateOperationsInput | string
341
+ filename?: Prisma.StringFieldUpdateOperationsInput | string
342
+ url?: Prisma.StringFieldUpdateOperationsInput | string
343
+ contentType?: Prisma.StringFieldUpdateOperationsInput | string
344
+ size?: Prisma.IntFieldUpdateOperationsInput | number
345
+ access?: Prisma.StringFieldUpdateOperationsInput | string
346
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
347
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
348
+ user?: Prisma.UserUpdateOneRequiredWithoutFilesNestedInput
349
+ }
350
+
351
+ export type FileUncheckedUpdateInput = {
352
+ id?: Prisma.StringFieldUpdateOperationsInput | string
353
+ userId?: Prisma.StringFieldUpdateOperationsInput | string
354
+ filename?: Prisma.StringFieldUpdateOperationsInput | string
355
+ url?: Prisma.StringFieldUpdateOperationsInput | string
356
+ contentType?: Prisma.StringFieldUpdateOperationsInput | string
357
+ size?: Prisma.IntFieldUpdateOperationsInput | number
358
+ access?: Prisma.StringFieldUpdateOperationsInput | string
359
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
360
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
361
+ }
362
+
363
+ export type FileCreateManyInput = {
364
+ id?: string
365
+ userId: string
366
+ filename: string
367
+ url: string
368
+ contentType: string
369
+ size: number
370
+ access?: string
371
+ createdAt?: Date | string
372
+ updatedAt?: Date | string
373
+ }
374
+
375
+ export type FileUpdateManyMutationInput = {
376
+ id?: Prisma.StringFieldUpdateOperationsInput | string
377
+ filename?: Prisma.StringFieldUpdateOperationsInput | string
378
+ url?: Prisma.StringFieldUpdateOperationsInput | string
379
+ contentType?: Prisma.StringFieldUpdateOperationsInput | string
380
+ size?: Prisma.IntFieldUpdateOperationsInput | number
381
+ access?: Prisma.StringFieldUpdateOperationsInput | string
382
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
383
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
384
+ }
385
+
386
+ export type FileUncheckedUpdateManyInput = {
387
+ id?: Prisma.StringFieldUpdateOperationsInput | string
388
+ userId?: Prisma.StringFieldUpdateOperationsInput | string
389
+ filename?: Prisma.StringFieldUpdateOperationsInput | string
390
+ url?: Prisma.StringFieldUpdateOperationsInput | string
391
+ contentType?: Prisma.StringFieldUpdateOperationsInput | string
392
+ size?: Prisma.IntFieldUpdateOperationsInput | number
393
+ access?: Prisma.StringFieldUpdateOperationsInput | string
394
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
395
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
396
+ }
397
+
398
+ export type FileListRelationFilter = {
399
+ every?: Prisma.FileWhereInput
400
+ some?: Prisma.FileWhereInput
401
+ none?: Prisma.FileWhereInput
402
+ }
403
+
404
+ export type FileOrderByRelationAggregateInput = {
405
+ _count?: Prisma.SortOrder
406
+ }
407
+
408
+ export type FileCountOrderByAggregateInput = {
409
+ id?: Prisma.SortOrder
410
+ userId?: Prisma.SortOrder
411
+ filename?: Prisma.SortOrder
412
+ url?: Prisma.SortOrder
413
+ contentType?: Prisma.SortOrder
414
+ size?: Prisma.SortOrder
415
+ access?: Prisma.SortOrder
416
+ createdAt?: Prisma.SortOrder
417
+ updatedAt?: Prisma.SortOrder
418
+ }
419
+
420
+ export type FileAvgOrderByAggregateInput = {
421
+ size?: Prisma.SortOrder
422
+ }
423
+
424
+ export type FileMaxOrderByAggregateInput = {
425
+ id?: Prisma.SortOrder
426
+ userId?: Prisma.SortOrder
427
+ filename?: Prisma.SortOrder
428
+ url?: Prisma.SortOrder
429
+ contentType?: Prisma.SortOrder
430
+ size?: Prisma.SortOrder
431
+ access?: Prisma.SortOrder
432
+ createdAt?: Prisma.SortOrder
433
+ updatedAt?: Prisma.SortOrder
434
+ }
435
+
436
+ export type FileMinOrderByAggregateInput = {
437
+ id?: Prisma.SortOrder
438
+ userId?: Prisma.SortOrder
439
+ filename?: Prisma.SortOrder
440
+ url?: Prisma.SortOrder
441
+ contentType?: Prisma.SortOrder
442
+ size?: Prisma.SortOrder
443
+ access?: Prisma.SortOrder
444
+ createdAt?: Prisma.SortOrder
445
+ updatedAt?: Prisma.SortOrder
446
+ }
447
+
448
+ export type FileSumOrderByAggregateInput = {
449
+ size?: Prisma.SortOrder
450
+ }
451
+
452
+ export type FileCreateNestedManyWithoutUserInput = {
453
+ create?: Prisma.XOR<Prisma.FileCreateWithoutUserInput, Prisma.FileUncheckedCreateWithoutUserInput> | Prisma.FileCreateWithoutUserInput[] | Prisma.FileUncheckedCreateWithoutUserInput[]
454
+ connectOrCreate?: Prisma.FileCreateOrConnectWithoutUserInput | Prisma.FileCreateOrConnectWithoutUserInput[]
455
+ createMany?: Prisma.FileCreateManyUserInputEnvelope
456
+ connect?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
457
+ }
458
+
459
+ export type FileUncheckedCreateNestedManyWithoutUserInput = {
460
+ create?: Prisma.XOR<Prisma.FileCreateWithoutUserInput, Prisma.FileUncheckedCreateWithoutUserInput> | Prisma.FileCreateWithoutUserInput[] | Prisma.FileUncheckedCreateWithoutUserInput[]
461
+ connectOrCreate?: Prisma.FileCreateOrConnectWithoutUserInput | Prisma.FileCreateOrConnectWithoutUserInput[]
462
+ createMany?: Prisma.FileCreateManyUserInputEnvelope
463
+ connect?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
464
+ }
465
+
466
+ export type FileUpdateManyWithoutUserNestedInput = {
467
+ create?: Prisma.XOR<Prisma.FileCreateWithoutUserInput, Prisma.FileUncheckedCreateWithoutUserInput> | Prisma.FileCreateWithoutUserInput[] | Prisma.FileUncheckedCreateWithoutUserInput[]
468
+ connectOrCreate?: Prisma.FileCreateOrConnectWithoutUserInput | Prisma.FileCreateOrConnectWithoutUserInput[]
469
+ upsert?: Prisma.FileUpsertWithWhereUniqueWithoutUserInput | Prisma.FileUpsertWithWhereUniqueWithoutUserInput[]
470
+ createMany?: Prisma.FileCreateManyUserInputEnvelope
471
+ set?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
472
+ disconnect?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
473
+ delete?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
474
+ connect?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
475
+ update?: Prisma.FileUpdateWithWhereUniqueWithoutUserInput | Prisma.FileUpdateWithWhereUniqueWithoutUserInput[]
476
+ updateMany?: Prisma.FileUpdateManyWithWhereWithoutUserInput | Prisma.FileUpdateManyWithWhereWithoutUserInput[]
477
+ deleteMany?: Prisma.FileScalarWhereInput | Prisma.FileScalarWhereInput[]
478
+ }
479
+
480
+ export type FileUncheckedUpdateManyWithoutUserNestedInput = {
481
+ create?: Prisma.XOR<Prisma.FileCreateWithoutUserInput, Prisma.FileUncheckedCreateWithoutUserInput> | Prisma.FileCreateWithoutUserInput[] | Prisma.FileUncheckedCreateWithoutUserInput[]
482
+ connectOrCreate?: Prisma.FileCreateOrConnectWithoutUserInput | Prisma.FileCreateOrConnectWithoutUserInput[]
483
+ upsert?: Prisma.FileUpsertWithWhereUniqueWithoutUserInput | Prisma.FileUpsertWithWhereUniqueWithoutUserInput[]
484
+ createMany?: Prisma.FileCreateManyUserInputEnvelope
485
+ set?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
486
+ disconnect?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
487
+ delete?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
488
+ connect?: Prisma.FileWhereUniqueInput | Prisma.FileWhereUniqueInput[]
489
+ update?: Prisma.FileUpdateWithWhereUniqueWithoutUserInput | Prisma.FileUpdateWithWhereUniqueWithoutUserInput[]
490
+ updateMany?: Prisma.FileUpdateManyWithWhereWithoutUserInput | Prisma.FileUpdateManyWithWhereWithoutUserInput[]
491
+ deleteMany?: Prisma.FileScalarWhereInput | Prisma.FileScalarWhereInput[]
492
+ }
493
+
494
+ export type FileCreateWithoutUserInput = {
495
+ id?: string
496
+ filename: string
497
+ url: string
498
+ contentType: string
499
+ size: number
500
+ access?: string
501
+ createdAt?: Date | string
502
+ updatedAt?: Date | string
503
+ }
504
+
505
+ export type FileUncheckedCreateWithoutUserInput = {
506
+ id?: string
507
+ filename: string
508
+ url: string
509
+ contentType: string
510
+ size: number
511
+ access?: string
512
+ createdAt?: Date | string
513
+ updatedAt?: Date | string
514
+ }
515
+
516
+ export type FileCreateOrConnectWithoutUserInput = {
517
+ where: Prisma.FileWhereUniqueInput
518
+ create: Prisma.XOR<Prisma.FileCreateWithoutUserInput, Prisma.FileUncheckedCreateWithoutUserInput>
519
+ }
520
+
521
+ export type FileCreateManyUserInputEnvelope = {
522
+ data: Prisma.FileCreateManyUserInput | Prisma.FileCreateManyUserInput[]
523
+ skipDuplicates?: boolean
524
+ }
525
+
526
+ export type FileUpsertWithWhereUniqueWithoutUserInput = {
527
+ where: Prisma.FileWhereUniqueInput
528
+ update: Prisma.XOR<Prisma.FileUpdateWithoutUserInput, Prisma.FileUncheckedUpdateWithoutUserInput>
529
+ create: Prisma.XOR<Prisma.FileCreateWithoutUserInput, Prisma.FileUncheckedCreateWithoutUserInput>
530
+ }
531
+
532
+ export type FileUpdateWithWhereUniqueWithoutUserInput = {
533
+ where: Prisma.FileWhereUniqueInput
534
+ data: Prisma.XOR<Prisma.FileUpdateWithoutUserInput, Prisma.FileUncheckedUpdateWithoutUserInput>
535
+ }
536
+
537
+ export type FileUpdateManyWithWhereWithoutUserInput = {
538
+ where: Prisma.FileScalarWhereInput
539
+ data: Prisma.XOR<Prisma.FileUpdateManyMutationInput, Prisma.FileUncheckedUpdateManyWithoutUserInput>
540
+ }
541
+
542
+ export type FileScalarWhereInput = {
543
+ AND?: Prisma.FileScalarWhereInput | Prisma.FileScalarWhereInput[]
544
+ OR?: Prisma.FileScalarWhereInput[]
545
+ NOT?: Prisma.FileScalarWhereInput | Prisma.FileScalarWhereInput[]
546
+ id?: Prisma.StringFilter<"File"> | string
547
+ userId?: Prisma.StringFilter<"File"> | string
548
+ filename?: Prisma.StringFilter<"File"> | string
549
+ url?: Prisma.StringFilter<"File"> | string
550
+ contentType?: Prisma.StringFilter<"File"> | string
551
+ size?: Prisma.IntFilter<"File"> | number
552
+ access?: Prisma.StringFilter<"File"> | string
553
+ createdAt?: Prisma.DateTimeFilter<"File"> | Date | string
554
+ updatedAt?: Prisma.DateTimeFilter<"File"> | Date | string
555
+ }
556
+
557
+ export type FileCreateManyUserInput = {
558
+ id?: string
559
+ filename: string
560
+ url: string
561
+ contentType: string
562
+ size: number
563
+ access?: string
564
+ createdAt?: Date | string
565
+ updatedAt?: Date | string
566
+ }
567
+
568
+ export type FileUpdateWithoutUserInput = {
569
+ id?: Prisma.StringFieldUpdateOperationsInput | string
570
+ filename?: Prisma.StringFieldUpdateOperationsInput | string
571
+ url?: Prisma.StringFieldUpdateOperationsInput | string
572
+ contentType?: Prisma.StringFieldUpdateOperationsInput | string
573
+ size?: Prisma.IntFieldUpdateOperationsInput | number
574
+ access?: Prisma.StringFieldUpdateOperationsInput | string
575
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
576
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
577
+ }
578
+
579
+ export type FileUncheckedUpdateWithoutUserInput = {
580
+ id?: Prisma.StringFieldUpdateOperationsInput | string
581
+ filename?: Prisma.StringFieldUpdateOperationsInput | string
582
+ url?: Prisma.StringFieldUpdateOperationsInput | string
583
+ contentType?: Prisma.StringFieldUpdateOperationsInput | string
584
+ size?: Prisma.IntFieldUpdateOperationsInput | number
585
+ access?: Prisma.StringFieldUpdateOperationsInput | string
586
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
587
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
588
+ }
589
+
590
+ export type FileUncheckedUpdateManyWithoutUserInput = {
591
+ id?: Prisma.StringFieldUpdateOperationsInput | string
592
+ filename?: Prisma.StringFieldUpdateOperationsInput | string
593
+ url?: Prisma.StringFieldUpdateOperationsInput | string
594
+ contentType?: Prisma.StringFieldUpdateOperationsInput | string
595
+ size?: Prisma.IntFieldUpdateOperationsInput | number
596
+ access?: Prisma.StringFieldUpdateOperationsInput | string
597
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
598
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
599
+ }
600
+
601
+
602
+
603
+ export type FileSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
604
+ id?: boolean
605
+ userId?: boolean
606
+ filename?: boolean
607
+ url?: boolean
608
+ contentType?: boolean
609
+ size?: boolean
610
+ access?: boolean
611
+ createdAt?: boolean
612
+ updatedAt?: boolean
613
+ user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
614
+ }, ExtArgs["result"]["file"]>
615
+
616
+ export type FileSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
617
+ id?: boolean
618
+ userId?: boolean
619
+ filename?: boolean
620
+ url?: boolean
621
+ contentType?: boolean
622
+ size?: boolean
623
+ access?: boolean
624
+ createdAt?: boolean
625
+ updatedAt?: boolean
626
+ user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
627
+ }, ExtArgs["result"]["file"]>
628
+
629
+ export type FileSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
630
+ id?: boolean
631
+ userId?: boolean
632
+ filename?: boolean
633
+ url?: boolean
634
+ contentType?: boolean
635
+ size?: boolean
636
+ access?: boolean
637
+ createdAt?: boolean
638
+ updatedAt?: boolean
639
+ user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
640
+ }, ExtArgs["result"]["file"]>
641
+
642
+ export type FileSelectScalar = {
643
+ id?: boolean
644
+ userId?: boolean
645
+ filename?: boolean
646
+ url?: boolean
647
+ contentType?: boolean
648
+ size?: boolean
649
+ access?: boolean
650
+ createdAt?: boolean
651
+ updatedAt?: boolean
652
+ }
653
+
654
+ export type FileOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "userId" | "filename" | "url" | "contentType" | "size" | "access" | "createdAt" | "updatedAt", ExtArgs["result"]["file"]>
655
+ export type FileInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
656
+ user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
657
+ }
658
+ export type FileIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
659
+ user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
660
+ }
661
+ export type FileIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
662
+ user?: boolean | Prisma.UserDefaultArgs<ExtArgs>
663
+ }
664
+
665
+ export type $FilePayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
666
+ name: "File"
667
+ objects: {
668
+ user: Prisma.$UserPayload<ExtArgs>
669
+ }
670
+ scalars: runtime.Types.Extensions.GetPayloadResult<{
671
+ id: string
672
+ userId: string
673
+ filename: string
674
+ url: string
675
+ contentType: string
676
+ size: number
677
+ access: string
678
+ createdAt: Date
679
+ updatedAt: Date
680
+ }, ExtArgs["result"]["file"]>
681
+ composites: {}
682
+ }
683
+
684
+ export type FileGetPayload<S extends boolean | null | undefined | FileDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$FilePayload, S>
685
+
686
+ export type FileCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> =
687
+ Omit<FileFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
688
+ select?: FileCountAggregateInputType | true
689
+ }
690
+
691
+ export interface FileDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
692
+ [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['File'], meta: { name: 'File' } }
693
+ /**
694
+ * Find zero or one File that matches the filter.
695
+ * @param {FileFindUniqueArgs} args - Arguments to find a File
696
+ * @example
697
+ * // Get one File
698
+ * const file = await prisma.file.findUnique({
699
+ * where: {
700
+ * // ... provide filter here
701
+ * }
702
+ * })
703
+ */
704
+ findUnique<T extends FileFindUniqueArgs>(args: Prisma.SelectSubset<T, FileFindUniqueArgs<ExtArgs>>): Prisma.Prisma__FileClient<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
705
+
706
+ /**
707
+ * Find one File that matches the filter or throw an error with `error.code='P2025'`
708
+ * if no matches were found.
709
+ * @param {FileFindUniqueOrThrowArgs} args - Arguments to find a File
710
+ * @example
711
+ * // Get one File
712
+ * const file = await prisma.file.findUniqueOrThrow({
713
+ * where: {
714
+ * // ... provide filter here
715
+ * }
716
+ * })
717
+ */
718
+ findUniqueOrThrow<T extends FileFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, FileFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__FileClient<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
719
+
720
+ /**
721
+ * Find the first File that matches the filter.
722
+ * Note, that providing `undefined` is treated as the value not being there.
723
+ * Read more here: https://pris.ly/d/null-undefined
724
+ * @param {FileFindFirstArgs} args - Arguments to find a File
725
+ * @example
726
+ * // Get one File
727
+ * const file = await prisma.file.findFirst({
728
+ * where: {
729
+ * // ... provide filter here
730
+ * }
731
+ * })
732
+ */
733
+ findFirst<T extends FileFindFirstArgs>(args?: Prisma.SelectSubset<T, FileFindFirstArgs<ExtArgs>>): Prisma.Prisma__FileClient<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
734
+
735
+ /**
736
+ * Find the first File that matches the filter or
737
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
738
+ * Note, that providing `undefined` is treated as the value not being there.
739
+ * Read more here: https://pris.ly/d/null-undefined
740
+ * @param {FileFindFirstOrThrowArgs} args - Arguments to find a File
741
+ * @example
742
+ * // Get one File
743
+ * const file = await prisma.file.findFirstOrThrow({
744
+ * where: {
745
+ * // ... provide filter here
746
+ * }
747
+ * })
748
+ */
749
+ findFirstOrThrow<T extends FileFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, FileFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__FileClient<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
750
+
751
+ /**
752
+ * Find zero or more Files that matches the filter.
753
+ * Note, that providing `undefined` is treated as the value not being there.
754
+ * Read more here: https://pris.ly/d/null-undefined
755
+ * @param {FileFindManyArgs} args - Arguments to filter and select certain fields only.
756
+ * @example
757
+ * // Get all Files
758
+ * const files = await prisma.file.findMany()
759
+ *
760
+ * // Get first 10 Files
761
+ * const files = await prisma.file.findMany({ take: 10 })
762
+ *
763
+ * // Only select the `id`
764
+ * const fileWithIdOnly = await prisma.file.findMany({ select: { id: true } })
765
+ *
766
+ */
767
+ findMany<T extends FileFindManyArgs>(args?: Prisma.SelectSubset<T, FileFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
768
+
769
+ /**
770
+ * Create a File.
771
+ * @param {FileCreateArgs} args - Arguments to create a File.
772
+ * @example
773
+ * // Create one File
774
+ * const File = await prisma.file.create({
775
+ * data: {
776
+ * // ... data to create a File
777
+ * }
778
+ * })
779
+ *
780
+ */
781
+ create<T extends FileCreateArgs>(args: Prisma.SelectSubset<T, FileCreateArgs<ExtArgs>>): Prisma.Prisma__FileClient<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
782
+
783
+ /**
784
+ * Create many Files.
785
+ * @param {FileCreateManyArgs} args - Arguments to create many Files.
786
+ * @example
787
+ * // Create many Files
788
+ * const file = await prisma.file.createMany({
789
+ * data: [
790
+ * // ... provide data here
791
+ * ]
792
+ * })
793
+ *
794
+ */
795
+ createMany<T extends FileCreateManyArgs>(args?: Prisma.SelectSubset<T, FileCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
796
+
797
+ /**
798
+ * Create many Files and returns the data saved in the database.
799
+ * @param {FileCreateManyAndReturnArgs} args - Arguments to create many Files.
800
+ * @example
801
+ * // Create many Files
802
+ * const file = await prisma.file.createManyAndReturn({
803
+ * data: [
804
+ * // ... provide data here
805
+ * ]
806
+ * })
807
+ *
808
+ * // Create many Files and only return the `id`
809
+ * const fileWithIdOnly = await prisma.file.createManyAndReturn({
810
+ * select: { id: true },
811
+ * data: [
812
+ * // ... provide data here
813
+ * ]
814
+ * })
815
+ * Note, that providing `undefined` is treated as the value not being there.
816
+ * Read more here: https://pris.ly/d/null-undefined
817
+ *
818
+ */
819
+ createManyAndReturn<T extends FileCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, FileCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
820
+
821
+ /**
822
+ * Delete a File.
823
+ * @param {FileDeleteArgs} args - Arguments to delete one File.
824
+ * @example
825
+ * // Delete one File
826
+ * const File = await prisma.file.delete({
827
+ * where: {
828
+ * // ... filter to delete one File
829
+ * }
830
+ * })
831
+ *
832
+ */
833
+ delete<T extends FileDeleteArgs>(args: Prisma.SelectSubset<T, FileDeleteArgs<ExtArgs>>): Prisma.Prisma__FileClient<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
834
+
835
+ /**
836
+ * Update one File.
837
+ * @param {FileUpdateArgs} args - Arguments to update one File.
838
+ * @example
839
+ * // Update one File
840
+ * const file = await prisma.file.update({
841
+ * where: {
842
+ * // ... provide filter here
843
+ * },
844
+ * data: {
845
+ * // ... provide data here
846
+ * }
847
+ * })
848
+ *
849
+ */
850
+ update<T extends FileUpdateArgs>(args: Prisma.SelectSubset<T, FileUpdateArgs<ExtArgs>>): Prisma.Prisma__FileClient<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
851
+
852
+ /**
853
+ * Delete zero or more Files.
854
+ * @param {FileDeleteManyArgs} args - Arguments to filter Files to delete.
855
+ * @example
856
+ * // Delete a few Files
857
+ * const { count } = await prisma.file.deleteMany({
858
+ * where: {
859
+ * // ... provide filter here
860
+ * }
861
+ * })
862
+ *
863
+ */
864
+ deleteMany<T extends FileDeleteManyArgs>(args?: Prisma.SelectSubset<T, FileDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
865
+
866
+ /**
867
+ * Update zero or more Files.
868
+ * Note, that providing `undefined` is treated as the value not being there.
869
+ * Read more here: https://pris.ly/d/null-undefined
870
+ * @param {FileUpdateManyArgs} args - Arguments to update one or more rows.
871
+ * @example
872
+ * // Update many Files
873
+ * const file = await prisma.file.updateMany({
874
+ * where: {
875
+ * // ... provide filter here
876
+ * },
877
+ * data: {
878
+ * // ... provide data here
879
+ * }
880
+ * })
881
+ *
882
+ */
883
+ updateMany<T extends FileUpdateManyArgs>(args: Prisma.SelectSubset<T, FileUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
884
+
885
+ /**
886
+ * Update zero or more Files and returns the data updated in the database.
887
+ * @param {FileUpdateManyAndReturnArgs} args - Arguments to update many Files.
888
+ * @example
889
+ * // Update many Files
890
+ * const file = await prisma.file.updateManyAndReturn({
891
+ * where: {
892
+ * // ... provide filter here
893
+ * },
894
+ * data: [
895
+ * // ... provide data here
896
+ * ]
897
+ * })
898
+ *
899
+ * // Update zero or more Files and only return the `id`
900
+ * const fileWithIdOnly = await prisma.file.updateManyAndReturn({
901
+ * select: { id: true },
902
+ * where: {
903
+ * // ... provide filter here
904
+ * },
905
+ * data: [
906
+ * // ... provide data here
907
+ * ]
908
+ * })
909
+ * Note, that providing `undefined` is treated as the value not being there.
910
+ * Read more here: https://pris.ly/d/null-undefined
911
+ *
912
+ */
913
+ updateManyAndReturn<T extends FileUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, FileUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
914
+
915
+ /**
916
+ * Create or update one File.
917
+ * @param {FileUpsertArgs} args - Arguments to update or create a File.
918
+ * @example
919
+ * // Update or create a File
920
+ * const file = await prisma.file.upsert({
921
+ * create: {
922
+ * // ... data to create a File
923
+ * },
924
+ * update: {
925
+ * // ... in case it already exists, update
926
+ * },
927
+ * where: {
928
+ * // ... the filter for the File we want to update
929
+ * }
930
+ * })
931
+ */
932
+ upsert<T extends FileUpsertArgs>(args: Prisma.SelectSubset<T, FileUpsertArgs<ExtArgs>>): Prisma.Prisma__FileClient<runtime.Types.Result.GetResult<Prisma.$FilePayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
933
+
934
+
935
+ /**
936
+ * Count the number of Files.
937
+ * Note, that providing `undefined` is treated as the value not being there.
938
+ * Read more here: https://pris.ly/d/null-undefined
939
+ * @param {FileCountArgs} args - Arguments to filter Files to count.
940
+ * @example
941
+ * // Count the number of Files
942
+ * const count = await prisma.file.count({
943
+ * where: {
944
+ * // ... the filter for the Files we want to count
945
+ * }
946
+ * })
947
+ **/
948
+ count<T extends FileCountArgs>(
949
+ args?: Prisma.Subset<T, FileCountArgs>,
950
+ ): Prisma.PrismaPromise<
951
+ T extends runtime.Types.Utils.Record<'select', any>
952
+ ? T['select'] extends true
953
+ ? number
954
+ : Prisma.GetScalarType<T['select'], FileCountAggregateOutputType>
955
+ : number
956
+ >
957
+
958
+ /**
959
+ * Allows you to perform aggregations operations on a File.
960
+ * Note, that providing `undefined` is treated as the value not being there.
961
+ * Read more here: https://pris.ly/d/null-undefined
962
+ * @param {FileAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
963
+ * @example
964
+ * // Ordered by age ascending
965
+ * // Where email contains prisma.io
966
+ * // Limited to the 10 users
967
+ * const aggregations = await prisma.user.aggregate({
968
+ * _avg: {
969
+ * age: true,
970
+ * },
971
+ * where: {
972
+ * email: {
973
+ * contains: "prisma.io",
974
+ * },
975
+ * },
976
+ * orderBy: {
977
+ * age: "asc",
978
+ * },
979
+ * take: 10,
980
+ * })
981
+ **/
982
+ aggregate<T extends FileAggregateArgs>(args: Prisma.Subset<T, FileAggregateArgs>): Prisma.PrismaPromise<GetFileAggregateType<T>>
983
+
984
+ /**
985
+ * Group by File.
986
+ * Note, that providing `undefined` is treated as the value not being there.
987
+ * Read more here: https://pris.ly/d/null-undefined
988
+ * @param {FileGroupByArgs} args - Group by arguments.
989
+ * @example
990
+ * // Group by city, order by createdAt, get count
991
+ * const result = await prisma.user.groupBy({
992
+ * by: ['city', 'createdAt'],
993
+ * orderBy: {
994
+ * createdAt: true
995
+ * },
996
+ * _count: {
997
+ * _all: true
998
+ * },
999
+ * })
1000
+ *
1001
+ **/
1002
+ groupBy<
1003
+ T extends FileGroupByArgs,
1004
+ HasSelectOrTake extends Prisma.Or<
1005
+ Prisma.Extends<'skip', Prisma.Keys<T>>,
1006
+ Prisma.Extends<'take', Prisma.Keys<T>>
1007
+ >,
1008
+ OrderByArg extends Prisma.True extends HasSelectOrTake
1009
+ ? { orderBy: FileGroupByArgs['orderBy'] }
1010
+ : { orderBy?: FileGroupByArgs['orderBy'] },
1011
+ OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
1012
+ ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
1013
+ ByValid extends Prisma.Has<ByFields, OrderFields>,
1014
+ HavingFields extends Prisma.GetHavingFields<T['having']>,
1015
+ HavingValid extends Prisma.Has<ByFields, HavingFields>,
1016
+ ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False,
1017
+ InputErrors extends ByEmpty extends Prisma.True
1018
+ ? `Error: "by" must not be empty.`
1019
+ : HavingValid extends Prisma.False
1020
+ ? {
1021
+ [P in HavingFields]: P extends ByFields
1022
+ ? never
1023
+ : P extends string
1024
+ ? `Error: Field "${P}" used in "having" needs to be provided in "by".`
1025
+ : [
1026
+ Error,
1027
+ 'Field ',
1028
+ P,
1029
+ ` in "having" needs to be provided in "by"`,
1030
+ ]
1031
+ }[HavingFields]
1032
+ : 'take' extends Prisma.Keys<T>
1033
+ ? 'orderBy' extends Prisma.Keys<T>
1034
+ ? ByValid extends Prisma.True
1035
+ ? {}
1036
+ : {
1037
+ [P in OrderFields]: P extends ByFields
1038
+ ? never
1039
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
1040
+ }[OrderFields]
1041
+ : 'Error: If you provide "take", you also need to provide "orderBy"'
1042
+ : 'skip' extends Prisma.Keys<T>
1043
+ ? 'orderBy' extends Prisma.Keys<T>
1044
+ ? ByValid extends Prisma.True
1045
+ ? {}
1046
+ : {
1047
+ [P in OrderFields]: P extends ByFields
1048
+ ? never
1049
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
1050
+ }[OrderFields]
1051
+ : 'Error: If you provide "skip", you also need to provide "orderBy"'
1052
+ : ByValid extends Prisma.True
1053
+ ? {}
1054
+ : {
1055
+ [P in OrderFields]: P extends ByFields
1056
+ ? never
1057
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
1058
+ }[OrderFields]
1059
+ >(args: Prisma.SubsetIntersection<T, FileGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetFileGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
1060
+ /**
1061
+ * Fields of the File model
1062
+ */
1063
+ readonly fields: FileFieldRefs;
1064
+ }
1065
+
1066
+ /**
1067
+ * The delegate class that acts as a "Promise-like" for File.
1068
+ * Why is this prefixed with `Prisma__`?
1069
+ * Because we want to prevent naming conflicts as mentioned in
1070
+ * https://github.com/prisma/prisma-client-js/issues/707
1071
+ */
1072
+ export interface Prisma__FileClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
1073
+ readonly [Symbol.toStringTag]: "PrismaPromise"
1074
+ user<T extends Prisma.UserDefaultArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.UserDefaultArgs<ExtArgs>>): Prisma.Prisma__UserClient<runtime.Types.Result.GetResult<Prisma.$UserPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | Null, Null, ExtArgs, GlobalOmitOptions>
1075
+ /**
1076
+ * Attaches callbacks for the resolution and/or rejection of the Promise.
1077
+ * @param onfulfilled The callback to execute when the Promise is resolved.
1078
+ * @param onrejected The callback to execute when the Promise is rejected.
1079
+ * @returns A Promise for the completion of which ever callback is executed.
1080
+ */
1081
+ then<TResult1 = T, TResult2 = never>(onfulfilled?: ((value: T) => TResult1 | PromiseLike<TResult1>) | undefined | null, onrejected?: ((reason: any) => TResult2 | PromiseLike<TResult2>) | undefined | null): runtime.Types.Utils.JsPromise<TResult1 | TResult2>
1082
+ /**
1083
+ * Attaches a callback for only the rejection of the Promise.
1084
+ * @param onrejected The callback to execute when the Promise is rejected.
1085
+ * @returns A Promise for the completion of the callback.
1086
+ */
1087
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>
1088
+ /**
1089
+ * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
1090
+ * resolved value cannot be modified from the callback.
1091
+ * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
1092
+ * @returns A Promise for the completion of the callback.
1093
+ */
1094
+ finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>
1095
+ }
1096
+
1097
+
1098
+
1099
+
1100
+ /**
1101
+ * Fields of the File model
1102
+ */
1103
+ export interface FileFieldRefs {
1104
+ readonly id: Prisma.FieldRef<"File", 'String'>
1105
+ readonly userId: Prisma.FieldRef<"File", 'String'>
1106
+ readonly filename: Prisma.FieldRef<"File", 'String'>
1107
+ readonly url: Prisma.FieldRef<"File", 'String'>
1108
+ readonly contentType: Prisma.FieldRef<"File", 'String'>
1109
+ readonly size: Prisma.FieldRef<"File", 'Int'>
1110
+ readonly access: Prisma.FieldRef<"File", 'String'>
1111
+ readonly createdAt: Prisma.FieldRef<"File", 'DateTime'>
1112
+ readonly updatedAt: Prisma.FieldRef<"File", 'DateTime'>
1113
+ }
1114
+
1115
+
1116
+ // Custom InputTypes
1117
+ /**
1118
+ * File findUnique
1119
+ */
1120
+ export type FileFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1121
+ /**
1122
+ * Select specific fields to fetch from the File
1123
+ */
1124
+ select?: Prisma.FileSelect<ExtArgs> | null
1125
+ /**
1126
+ * Omit specific fields from the File
1127
+ */
1128
+ omit?: Prisma.FileOmit<ExtArgs> | null
1129
+ /**
1130
+ * Choose, which related nodes to fetch as well
1131
+ */
1132
+ include?: Prisma.FileInclude<ExtArgs> | null
1133
+ /**
1134
+ * Filter, which File to fetch.
1135
+ */
1136
+ where: Prisma.FileWhereUniqueInput
1137
+ }
1138
+
1139
+ /**
1140
+ * File findUniqueOrThrow
1141
+ */
1142
+ export type FileFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1143
+ /**
1144
+ * Select specific fields to fetch from the File
1145
+ */
1146
+ select?: Prisma.FileSelect<ExtArgs> | null
1147
+ /**
1148
+ * Omit specific fields from the File
1149
+ */
1150
+ omit?: Prisma.FileOmit<ExtArgs> | null
1151
+ /**
1152
+ * Choose, which related nodes to fetch as well
1153
+ */
1154
+ include?: Prisma.FileInclude<ExtArgs> | null
1155
+ /**
1156
+ * Filter, which File to fetch.
1157
+ */
1158
+ where: Prisma.FileWhereUniqueInput
1159
+ }
1160
+
1161
+ /**
1162
+ * File findFirst
1163
+ */
1164
+ export type FileFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1165
+ /**
1166
+ * Select specific fields to fetch from the File
1167
+ */
1168
+ select?: Prisma.FileSelect<ExtArgs> | null
1169
+ /**
1170
+ * Omit specific fields from the File
1171
+ */
1172
+ omit?: Prisma.FileOmit<ExtArgs> | null
1173
+ /**
1174
+ * Choose, which related nodes to fetch as well
1175
+ */
1176
+ include?: Prisma.FileInclude<ExtArgs> | null
1177
+ /**
1178
+ * Filter, which File to fetch.
1179
+ */
1180
+ where?: Prisma.FileWhereInput
1181
+ /**
1182
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1183
+ *
1184
+ * Determine the order of Files to fetch.
1185
+ */
1186
+ orderBy?: Prisma.FileOrderByWithRelationInput | Prisma.FileOrderByWithRelationInput[]
1187
+ /**
1188
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1189
+ *
1190
+ * Sets the position for searching for Files.
1191
+ */
1192
+ cursor?: Prisma.FileWhereUniqueInput
1193
+ /**
1194
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1195
+ *
1196
+ * Take `±n` Files from the position of the cursor.
1197
+ */
1198
+ take?: number
1199
+ /**
1200
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1201
+ *
1202
+ * Skip the first `n` Files.
1203
+ */
1204
+ skip?: number
1205
+ /**
1206
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1207
+ *
1208
+ * Filter by unique combinations of Files.
1209
+ */
1210
+ distinct?: Prisma.FileScalarFieldEnum | Prisma.FileScalarFieldEnum[]
1211
+ }
1212
+
1213
+ /**
1214
+ * File findFirstOrThrow
1215
+ */
1216
+ export type FileFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1217
+ /**
1218
+ * Select specific fields to fetch from the File
1219
+ */
1220
+ select?: Prisma.FileSelect<ExtArgs> | null
1221
+ /**
1222
+ * Omit specific fields from the File
1223
+ */
1224
+ omit?: Prisma.FileOmit<ExtArgs> | null
1225
+ /**
1226
+ * Choose, which related nodes to fetch as well
1227
+ */
1228
+ include?: Prisma.FileInclude<ExtArgs> | null
1229
+ /**
1230
+ * Filter, which File to fetch.
1231
+ */
1232
+ where?: Prisma.FileWhereInput
1233
+ /**
1234
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1235
+ *
1236
+ * Determine the order of Files to fetch.
1237
+ */
1238
+ orderBy?: Prisma.FileOrderByWithRelationInput | Prisma.FileOrderByWithRelationInput[]
1239
+ /**
1240
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1241
+ *
1242
+ * Sets the position for searching for Files.
1243
+ */
1244
+ cursor?: Prisma.FileWhereUniqueInput
1245
+ /**
1246
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1247
+ *
1248
+ * Take `±n` Files from the position of the cursor.
1249
+ */
1250
+ take?: number
1251
+ /**
1252
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1253
+ *
1254
+ * Skip the first `n` Files.
1255
+ */
1256
+ skip?: number
1257
+ /**
1258
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1259
+ *
1260
+ * Filter by unique combinations of Files.
1261
+ */
1262
+ distinct?: Prisma.FileScalarFieldEnum | Prisma.FileScalarFieldEnum[]
1263
+ }
1264
+
1265
+ /**
1266
+ * File findMany
1267
+ */
1268
+ export type FileFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1269
+ /**
1270
+ * Select specific fields to fetch from the File
1271
+ */
1272
+ select?: Prisma.FileSelect<ExtArgs> | null
1273
+ /**
1274
+ * Omit specific fields from the File
1275
+ */
1276
+ omit?: Prisma.FileOmit<ExtArgs> | null
1277
+ /**
1278
+ * Choose, which related nodes to fetch as well
1279
+ */
1280
+ include?: Prisma.FileInclude<ExtArgs> | null
1281
+ /**
1282
+ * Filter, which Files to fetch.
1283
+ */
1284
+ where?: Prisma.FileWhereInput
1285
+ /**
1286
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1287
+ *
1288
+ * Determine the order of Files to fetch.
1289
+ */
1290
+ orderBy?: Prisma.FileOrderByWithRelationInput | Prisma.FileOrderByWithRelationInput[]
1291
+ /**
1292
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1293
+ *
1294
+ * Sets the position for listing Files.
1295
+ */
1296
+ cursor?: Prisma.FileWhereUniqueInput
1297
+ /**
1298
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1299
+ *
1300
+ * Take `±n` Files from the position of the cursor.
1301
+ */
1302
+ take?: number
1303
+ /**
1304
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1305
+ *
1306
+ * Skip the first `n` Files.
1307
+ */
1308
+ skip?: number
1309
+ /**
1310
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1311
+ *
1312
+ * Filter by unique combinations of Files.
1313
+ */
1314
+ distinct?: Prisma.FileScalarFieldEnum | Prisma.FileScalarFieldEnum[]
1315
+ }
1316
+
1317
+ /**
1318
+ * File create
1319
+ */
1320
+ export type FileCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1321
+ /**
1322
+ * Select specific fields to fetch from the File
1323
+ */
1324
+ select?: Prisma.FileSelect<ExtArgs> | null
1325
+ /**
1326
+ * Omit specific fields from the File
1327
+ */
1328
+ omit?: Prisma.FileOmit<ExtArgs> | null
1329
+ /**
1330
+ * Choose, which related nodes to fetch as well
1331
+ */
1332
+ include?: Prisma.FileInclude<ExtArgs> | null
1333
+ /**
1334
+ * The data needed to create a File.
1335
+ */
1336
+ data: Prisma.XOR<Prisma.FileCreateInput, Prisma.FileUncheckedCreateInput>
1337
+ }
1338
+
1339
+ /**
1340
+ * File createMany
1341
+ */
1342
+ export type FileCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1343
+ /**
1344
+ * The data used to create many Files.
1345
+ */
1346
+ data: Prisma.FileCreateManyInput | Prisma.FileCreateManyInput[]
1347
+ skipDuplicates?: boolean
1348
+ }
1349
+
1350
+ /**
1351
+ * File createManyAndReturn
1352
+ */
1353
+ export type FileCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1354
+ /**
1355
+ * Select specific fields to fetch from the File
1356
+ */
1357
+ select?: Prisma.FileSelectCreateManyAndReturn<ExtArgs> | null
1358
+ /**
1359
+ * Omit specific fields from the File
1360
+ */
1361
+ omit?: Prisma.FileOmit<ExtArgs> | null
1362
+ /**
1363
+ * The data used to create many Files.
1364
+ */
1365
+ data: Prisma.FileCreateManyInput | Prisma.FileCreateManyInput[]
1366
+ skipDuplicates?: boolean
1367
+ /**
1368
+ * Choose, which related nodes to fetch as well
1369
+ */
1370
+ include?: Prisma.FileIncludeCreateManyAndReturn<ExtArgs> | null
1371
+ }
1372
+
1373
+ /**
1374
+ * File update
1375
+ */
1376
+ export type FileUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1377
+ /**
1378
+ * Select specific fields to fetch from the File
1379
+ */
1380
+ select?: Prisma.FileSelect<ExtArgs> | null
1381
+ /**
1382
+ * Omit specific fields from the File
1383
+ */
1384
+ omit?: Prisma.FileOmit<ExtArgs> | null
1385
+ /**
1386
+ * Choose, which related nodes to fetch as well
1387
+ */
1388
+ include?: Prisma.FileInclude<ExtArgs> | null
1389
+ /**
1390
+ * The data needed to update a File.
1391
+ */
1392
+ data: Prisma.XOR<Prisma.FileUpdateInput, Prisma.FileUncheckedUpdateInput>
1393
+ /**
1394
+ * Choose, which File to update.
1395
+ */
1396
+ where: Prisma.FileWhereUniqueInput
1397
+ }
1398
+
1399
+ /**
1400
+ * File updateMany
1401
+ */
1402
+ export type FileUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1403
+ /**
1404
+ * The data used to update Files.
1405
+ */
1406
+ data: Prisma.XOR<Prisma.FileUpdateManyMutationInput, Prisma.FileUncheckedUpdateManyInput>
1407
+ /**
1408
+ * Filter which Files to update
1409
+ */
1410
+ where?: Prisma.FileWhereInput
1411
+ /**
1412
+ * Limit how many Files to update.
1413
+ */
1414
+ limit?: number
1415
+ }
1416
+
1417
+ /**
1418
+ * File updateManyAndReturn
1419
+ */
1420
+ export type FileUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1421
+ /**
1422
+ * Select specific fields to fetch from the File
1423
+ */
1424
+ select?: Prisma.FileSelectUpdateManyAndReturn<ExtArgs> | null
1425
+ /**
1426
+ * Omit specific fields from the File
1427
+ */
1428
+ omit?: Prisma.FileOmit<ExtArgs> | null
1429
+ /**
1430
+ * The data used to update Files.
1431
+ */
1432
+ data: Prisma.XOR<Prisma.FileUpdateManyMutationInput, Prisma.FileUncheckedUpdateManyInput>
1433
+ /**
1434
+ * Filter which Files to update
1435
+ */
1436
+ where?: Prisma.FileWhereInput
1437
+ /**
1438
+ * Limit how many Files to update.
1439
+ */
1440
+ limit?: number
1441
+ /**
1442
+ * Choose, which related nodes to fetch as well
1443
+ */
1444
+ include?: Prisma.FileIncludeUpdateManyAndReturn<ExtArgs> | null
1445
+ }
1446
+
1447
+ /**
1448
+ * File upsert
1449
+ */
1450
+ export type FileUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1451
+ /**
1452
+ * Select specific fields to fetch from the File
1453
+ */
1454
+ select?: Prisma.FileSelect<ExtArgs> | null
1455
+ /**
1456
+ * Omit specific fields from the File
1457
+ */
1458
+ omit?: Prisma.FileOmit<ExtArgs> | null
1459
+ /**
1460
+ * Choose, which related nodes to fetch as well
1461
+ */
1462
+ include?: Prisma.FileInclude<ExtArgs> | null
1463
+ /**
1464
+ * The filter to search for the File to update in case it exists.
1465
+ */
1466
+ where: Prisma.FileWhereUniqueInput
1467
+ /**
1468
+ * In case the File found by the `where` argument doesn't exist, create a new File with this data.
1469
+ */
1470
+ create: Prisma.XOR<Prisma.FileCreateInput, Prisma.FileUncheckedCreateInput>
1471
+ /**
1472
+ * In case the File was found with the provided `where` argument, update it with this data.
1473
+ */
1474
+ update: Prisma.XOR<Prisma.FileUpdateInput, Prisma.FileUncheckedUpdateInput>
1475
+ }
1476
+
1477
+ /**
1478
+ * File delete
1479
+ */
1480
+ export type FileDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1481
+ /**
1482
+ * Select specific fields to fetch from the File
1483
+ */
1484
+ select?: Prisma.FileSelect<ExtArgs> | null
1485
+ /**
1486
+ * Omit specific fields from the File
1487
+ */
1488
+ omit?: Prisma.FileOmit<ExtArgs> | null
1489
+ /**
1490
+ * Choose, which related nodes to fetch as well
1491
+ */
1492
+ include?: Prisma.FileInclude<ExtArgs> | null
1493
+ /**
1494
+ * Filter which File to delete.
1495
+ */
1496
+ where: Prisma.FileWhereUniqueInput
1497
+ }
1498
+
1499
+ /**
1500
+ * File deleteMany
1501
+ */
1502
+ export type FileDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1503
+ /**
1504
+ * Filter which Files to delete
1505
+ */
1506
+ where?: Prisma.FileWhereInput
1507
+ /**
1508
+ * Limit how many Files to delete.
1509
+ */
1510
+ limit?: number
1511
+ }
1512
+
1513
+ /**
1514
+ * File without action
1515
+ */
1516
+ export type FileDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1517
+ /**
1518
+ * Select specific fields to fetch from the File
1519
+ */
1520
+ select?: Prisma.FileSelect<ExtArgs> | null
1521
+ /**
1522
+ * Omit specific fields from the File
1523
+ */
1524
+ omit?: Prisma.FileOmit<ExtArgs> | null
1525
+ /**
1526
+ * Choose, which related nodes to fetch as well
1527
+ */
1528
+ include?: Prisma.FileInclude<ExtArgs> | null
1529
+ }