pacatui 0.1.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 (51) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +153 -0
  3. package/generated/prisma/browser.ts +59 -0
  4. package/generated/prisma/client.ts +81 -0
  5. package/generated/prisma/commonInputTypes.ts +402 -0
  6. package/generated/prisma/enums.ts +15 -0
  7. package/generated/prisma/internal/class.ts +260 -0
  8. package/generated/prisma/internal/prismaNamespace.ts +1362 -0
  9. package/generated/prisma/internal/prismaNamespaceBrowser.ts +190 -0
  10. package/generated/prisma/models/Customer.ts +1489 -0
  11. package/generated/prisma/models/Invoice.ts +1837 -0
  12. package/generated/prisma/models/Project.ts +1981 -0
  13. package/generated/prisma/models/Setting.ts +1086 -0
  14. package/generated/prisma/models/Tag.ts +1288 -0
  15. package/generated/prisma/models/Task.ts +1669 -0
  16. package/generated/prisma/models/TaskTag.ts +1340 -0
  17. package/generated/prisma/models/TimeEntry.ts +1602 -0
  18. package/generated/prisma/models.ts +19 -0
  19. package/package.json +71 -0
  20. package/prisma/migrations/20260115051911_init/migration.sql +71 -0
  21. package/prisma/migrations/20260115062427_add_time_tracking/migration.sql +20 -0
  22. package/prisma/migrations/20260117233250_add_customers_invoices/migration.sql +81 -0
  23. package/prisma/migrations/migration_lock.toml +3 -0
  24. package/prisma/schema.prisma +162 -0
  25. package/src/App.tsx +1492 -0
  26. package/src/components/CreateInvoiceModal.tsx +222 -0
  27. package/src/components/CustomerModal.tsx +158 -0
  28. package/src/components/CustomerSelectModal.tsx +142 -0
  29. package/src/components/Dashboard.tsx +242 -0
  30. package/src/components/DateTimePicker.tsx +335 -0
  31. package/src/components/EditTimeEntryModal.tsx +293 -0
  32. package/src/components/Header.tsx +65 -0
  33. package/src/components/HelpView.tsx +109 -0
  34. package/src/components/InputModal.tsx +79 -0
  35. package/src/components/InvoicesView.tsx +297 -0
  36. package/src/components/Modal.tsx +38 -0
  37. package/src/components/ProjectList.tsx +114 -0
  38. package/src/components/ProjectModal.tsx +116 -0
  39. package/src/components/SettingsView.tsx +145 -0
  40. package/src/components/SplashScreen.tsx +25 -0
  41. package/src/components/StatusBar.tsx +93 -0
  42. package/src/components/TaskList.tsx +143 -0
  43. package/src/components/Timer.tsx +95 -0
  44. package/src/components/TimerModals.tsx +120 -0
  45. package/src/components/TimesheetView.tsx +218 -0
  46. package/src/components/index.ts +17 -0
  47. package/src/db.ts +629 -0
  48. package/src/hooks/usePaste.ts +69 -0
  49. package/src/index.tsx +75 -0
  50. package/src/stripe.ts +163 -0
  51. package/src/types.ts +361 -0
@@ -0,0 +1,1981 @@
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 `Project` 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.ts"
13
+ import type * as Prisma from "../internal/prismaNamespace.ts"
14
+
15
+ /**
16
+ * Model Project
17
+ *
18
+ */
19
+ export type ProjectModel = runtime.Types.Result.DefaultSelection<Prisma.$ProjectPayload>
20
+
21
+ export type AggregateProject = {
22
+ _count: ProjectCountAggregateOutputType | null
23
+ _avg: ProjectAvgAggregateOutputType | null
24
+ _sum: ProjectSumAggregateOutputType | null
25
+ _min: ProjectMinAggregateOutputType | null
26
+ _max: ProjectMaxAggregateOutputType | null
27
+ }
28
+
29
+ export type ProjectAvgAggregateOutputType = {
30
+ hourlyRate: number | null
31
+ }
32
+
33
+ export type ProjectSumAggregateOutputType = {
34
+ hourlyRate: number | null
35
+ }
36
+
37
+ export type ProjectMinAggregateOutputType = {
38
+ id: string | null
39
+ name: string | null
40
+ description: string | null
41
+ color: string | null
42
+ hourlyRate: number | null
43
+ archived: boolean | null
44
+ createdAt: Date | null
45
+ updatedAt: Date | null
46
+ customerId: string | null
47
+ }
48
+
49
+ export type ProjectMaxAggregateOutputType = {
50
+ id: string | null
51
+ name: string | null
52
+ description: string | null
53
+ color: string | null
54
+ hourlyRate: number | null
55
+ archived: boolean | null
56
+ createdAt: Date | null
57
+ updatedAt: Date | null
58
+ customerId: string | null
59
+ }
60
+
61
+ export type ProjectCountAggregateOutputType = {
62
+ id: number
63
+ name: number
64
+ description: number
65
+ color: number
66
+ hourlyRate: number
67
+ archived: number
68
+ createdAt: number
69
+ updatedAt: number
70
+ customerId: number
71
+ _all: number
72
+ }
73
+
74
+
75
+ export type ProjectAvgAggregateInputType = {
76
+ hourlyRate?: true
77
+ }
78
+
79
+ export type ProjectSumAggregateInputType = {
80
+ hourlyRate?: true
81
+ }
82
+
83
+ export type ProjectMinAggregateInputType = {
84
+ id?: true
85
+ name?: true
86
+ description?: true
87
+ color?: true
88
+ hourlyRate?: true
89
+ archived?: true
90
+ createdAt?: true
91
+ updatedAt?: true
92
+ customerId?: true
93
+ }
94
+
95
+ export type ProjectMaxAggregateInputType = {
96
+ id?: true
97
+ name?: true
98
+ description?: true
99
+ color?: true
100
+ hourlyRate?: true
101
+ archived?: true
102
+ createdAt?: true
103
+ updatedAt?: true
104
+ customerId?: true
105
+ }
106
+
107
+ export type ProjectCountAggregateInputType = {
108
+ id?: true
109
+ name?: true
110
+ description?: true
111
+ color?: true
112
+ hourlyRate?: true
113
+ archived?: true
114
+ createdAt?: true
115
+ updatedAt?: true
116
+ customerId?: true
117
+ _all?: true
118
+ }
119
+
120
+ export type ProjectAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
121
+ /**
122
+ * Filter which Project to aggregate.
123
+ */
124
+ where?: Prisma.ProjectWhereInput
125
+ /**
126
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
127
+ *
128
+ * Determine the order of Projects to fetch.
129
+ */
130
+ orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[]
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.ProjectWhereUniqueInput
137
+ /**
138
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
139
+ *
140
+ * Take `±n` Projects 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` Projects.
147
+ */
148
+ skip?: number
149
+ /**
150
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
151
+ *
152
+ * Count returned Projects
153
+ **/
154
+ _count?: true | ProjectCountAggregateInputType
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?: ProjectAvgAggregateInputType
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?: ProjectSumAggregateInputType
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?: ProjectMinAggregateInputType
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?: ProjectMaxAggregateInputType
179
+ }
180
+
181
+ export type GetProjectAggregateType<T extends ProjectAggregateArgs> = {
182
+ [P in keyof T & keyof AggregateProject]: P extends '_count' | 'count'
183
+ ? T[P] extends true
184
+ ? number
185
+ : Prisma.GetScalarType<T[P], AggregateProject[P]>
186
+ : Prisma.GetScalarType<T[P], AggregateProject[P]>
187
+ }
188
+
189
+
190
+
191
+
192
+ export type ProjectGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
193
+ where?: Prisma.ProjectWhereInput
194
+ orderBy?: Prisma.ProjectOrderByWithAggregationInput | Prisma.ProjectOrderByWithAggregationInput[]
195
+ by: Prisma.ProjectScalarFieldEnum[] | Prisma.ProjectScalarFieldEnum
196
+ having?: Prisma.ProjectScalarWhereWithAggregatesInput
197
+ take?: number
198
+ skip?: number
199
+ _count?: ProjectCountAggregateInputType | true
200
+ _avg?: ProjectAvgAggregateInputType
201
+ _sum?: ProjectSumAggregateInputType
202
+ _min?: ProjectMinAggregateInputType
203
+ _max?: ProjectMaxAggregateInputType
204
+ }
205
+
206
+ export type ProjectGroupByOutputType = {
207
+ id: string
208
+ name: string
209
+ description: string | null
210
+ color: string
211
+ hourlyRate: number | null
212
+ archived: boolean
213
+ createdAt: Date
214
+ updatedAt: Date
215
+ customerId: string | null
216
+ _count: ProjectCountAggregateOutputType | null
217
+ _avg: ProjectAvgAggregateOutputType | null
218
+ _sum: ProjectSumAggregateOutputType | null
219
+ _min: ProjectMinAggregateOutputType | null
220
+ _max: ProjectMaxAggregateOutputType | null
221
+ }
222
+
223
+ type GetProjectGroupByPayload<T extends ProjectGroupByArgs> = Prisma.PrismaPromise<
224
+ Array<
225
+ Prisma.PickEnumerable<ProjectGroupByOutputType, T['by']> &
226
+ {
227
+ [P in ((keyof T) & (keyof ProjectGroupByOutputType))]: P extends '_count'
228
+ ? T[P] extends boolean
229
+ ? number
230
+ : Prisma.GetScalarType<T[P], ProjectGroupByOutputType[P]>
231
+ : Prisma.GetScalarType<T[P], ProjectGroupByOutputType[P]>
232
+ }
233
+ >
234
+ >
235
+
236
+
237
+
238
+ export type ProjectWhereInput = {
239
+ AND?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
240
+ OR?: Prisma.ProjectWhereInput[]
241
+ NOT?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
242
+ id?: Prisma.StringFilter<"Project"> | string
243
+ name?: Prisma.StringFilter<"Project"> | string
244
+ description?: Prisma.StringNullableFilter<"Project"> | string | null
245
+ color?: Prisma.StringFilter<"Project"> | string
246
+ hourlyRate?: Prisma.FloatNullableFilter<"Project"> | number | null
247
+ archived?: Prisma.BoolFilter<"Project"> | boolean
248
+ createdAt?: Prisma.DateTimeFilter<"Project"> | Date | string
249
+ updatedAt?: Prisma.DateTimeFilter<"Project"> | Date | string
250
+ customerId?: Prisma.StringNullableFilter<"Project"> | string | null
251
+ tasks?: Prisma.TaskListRelationFilter
252
+ timeEntries?: Prisma.TimeEntryListRelationFilter
253
+ customer?: Prisma.XOR<Prisma.CustomerNullableScalarRelationFilter, Prisma.CustomerWhereInput> | null
254
+ invoices?: Prisma.InvoiceListRelationFilter
255
+ }
256
+
257
+ export type ProjectOrderByWithRelationInput = {
258
+ id?: Prisma.SortOrder
259
+ name?: Prisma.SortOrder
260
+ description?: Prisma.SortOrderInput | Prisma.SortOrder
261
+ color?: Prisma.SortOrder
262
+ hourlyRate?: Prisma.SortOrderInput | Prisma.SortOrder
263
+ archived?: Prisma.SortOrder
264
+ createdAt?: Prisma.SortOrder
265
+ updatedAt?: Prisma.SortOrder
266
+ customerId?: Prisma.SortOrderInput | Prisma.SortOrder
267
+ tasks?: Prisma.TaskOrderByRelationAggregateInput
268
+ timeEntries?: Prisma.TimeEntryOrderByRelationAggregateInput
269
+ customer?: Prisma.CustomerOrderByWithRelationInput
270
+ invoices?: Prisma.InvoiceOrderByRelationAggregateInput
271
+ }
272
+
273
+ export type ProjectWhereUniqueInput = Prisma.AtLeast<{
274
+ id?: string
275
+ AND?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
276
+ OR?: Prisma.ProjectWhereInput[]
277
+ NOT?: Prisma.ProjectWhereInput | Prisma.ProjectWhereInput[]
278
+ name?: Prisma.StringFilter<"Project"> | string
279
+ description?: Prisma.StringNullableFilter<"Project"> | string | null
280
+ color?: Prisma.StringFilter<"Project"> | string
281
+ hourlyRate?: Prisma.FloatNullableFilter<"Project"> | number | null
282
+ archived?: Prisma.BoolFilter<"Project"> | boolean
283
+ createdAt?: Prisma.DateTimeFilter<"Project"> | Date | string
284
+ updatedAt?: Prisma.DateTimeFilter<"Project"> | Date | string
285
+ customerId?: Prisma.StringNullableFilter<"Project"> | string | null
286
+ tasks?: Prisma.TaskListRelationFilter
287
+ timeEntries?: Prisma.TimeEntryListRelationFilter
288
+ customer?: Prisma.XOR<Prisma.CustomerNullableScalarRelationFilter, Prisma.CustomerWhereInput> | null
289
+ invoices?: Prisma.InvoiceListRelationFilter
290
+ }, "id">
291
+
292
+ export type ProjectOrderByWithAggregationInput = {
293
+ id?: Prisma.SortOrder
294
+ name?: Prisma.SortOrder
295
+ description?: Prisma.SortOrderInput | Prisma.SortOrder
296
+ color?: Prisma.SortOrder
297
+ hourlyRate?: Prisma.SortOrderInput | Prisma.SortOrder
298
+ archived?: Prisma.SortOrder
299
+ createdAt?: Prisma.SortOrder
300
+ updatedAt?: Prisma.SortOrder
301
+ customerId?: Prisma.SortOrderInput | Prisma.SortOrder
302
+ _count?: Prisma.ProjectCountOrderByAggregateInput
303
+ _avg?: Prisma.ProjectAvgOrderByAggregateInput
304
+ _max?: Prisma.ProjectMaxOrderByAggregateInput
305
+ _min?: Prisma.ProjectMinOrderByAggregateInput
306
+ _sum?: Prisma.ProjectSumOrderByAggregateInput
307
+ }
308
+
309
+ export type ProjectScalarWhereWithAggregatesInput = {
310
+ AND?: Prisma.ProjectScalarWhereWithAggregatesInput | Prisma.ProjectScalarWhereWithAggregatesInput[]
311
+ OR?: Prisma.ProjectScalarWhereWithAggregatesInput[]
312
+ NOT?: Prisma.ProjectScalarWhereWithAggregatesInput | Prisma.ProjectScalarWhereWithAggregatesInput[]
313
+ id?: Prisma.StringWithAggregatesFilter<"Project"> | string
314
+ name?: Prisma.StringWithAggregatesFilter<"Project"> | string
315
+ description?: Prisma.StringNullableWithAggregatesFilter<"Project"> | string | null
316
+ color?: Prisma.StringWithAggregatesFilter<"Project"> | string
317
+ hourlyRate?: Prisma.FloatNullableWithAggregatesFilter<"Project"> | number | null
318
+ archived?: Prisma.BoolWithAggregatesFilter<"Project"> | boolean
319
+ createdAt?: Prisma.DateTimeWithAggregatesFilter<"Project"> | Date | string
320
+ updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Project"> | Date | string
321
+ customerId?: Prisma.StringNullableWithAggregatesFilter<"Project"> | string | null
322
+ }
323
+
324
+ export type ProjectCreateInput = {
325
+ id?: string
326
+ name: string
327
+ description?: string | null
328
+ color?: string
329
+ hourlyRate?: number | null
330
+ archived?: boolean
331
+ createdAt?: Date | string
332
+ updatedAt?: Date | string
333
+ tasks?: Prisma.TaskCreateNestedManyWithoutProjectInput
334
+ timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutProjectInput
335
+ customer?: Prisma.CustomerCreateNestedOneWithoutProjectsInput
336
+ invoices?: Prisma.InvoiceCreateNestedManyWithoutProjectInput
337
+ }
338
+
339
+ export type ProjectUncheckedCreateInput = {
340
+ id?: string
341
+ name: string
342
+ description?: string | null
343
+ color?: string
344
+ hourlyRate?: number | null
345
+ archived?: boolean
346
+ createdAt?: Date | string
347
+ updatedAt?: Date | string
348
+ customerId?: string | null
349
+ tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutProjectInput
350
+ timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutProjectInput
351
+ invoices?: Prisma.InvoiceUncheckedCreateNestedManyWithoutProjectInput
352
+ }
353
+
354
+ export type ProjectUpdateInput = {
355
+ id?: Prisma.StringFieldUpdateOperationsInput | string
356
+ name?: Prisma.StringFieldUpdateOperationsInput | string
357
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
358
+ color?: Prisma.StringFieldUpdateOperationsInput | string
359
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
360
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
361
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
362
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
363
+ tasks?: Prisma.TaskUpdateManyWithoutProjectNestedInput
364
+ timeEntries?: Prisma.TimeEntryUpdateManyWithoutProjectNestedInput
365
+ customer?: Prisma.CustomerUpdateOneWithoutProjectsNestedInput
366
+ invoices?: Prisma.InvoiceUpdateManyWithoutProjectNestedInput
367
+ }
368
+
369
+ export type ProjectUncheckedUpdateInput = {
370
+ id?: Prisma.StringFieldUpdateOperationsInput | string
371
+ name?: Prisma.StringFieldUpdateOperationsInput | string
372
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
373
+ color?: Prisma.StringFieldUpdateOperationsInput | string
374
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
375
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
376
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
377
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
378
+ customerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
379
+ tasks?: Prisma.TaskUncheckedUpdateManyWithoutProjectNestedInput
380
+ timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutProjectNestedInput
381
+ invoices?: Prisma.InvoiceUncheckedUpdateManyWithoutProjectNestedInput
382
+ }
383
+
384
+ export type ProjectCreateManyInput = {
385
+ id?: string
386
+ name: string
387
+ description?: string | null
388
+ color?: string
389
+ hourlyRate?: number | null
390
+ archived?: boolean
391
+ createdAt?: Date | string
392
+ updatedAt?: Date | string
393
+ customerId?: string | null
394
+ }
395
+
396
+ export type ProjectUpdateManyMutationInput = {
397
+ id?: Prisma.StringFieldUpdateOperationsInput | string
398
+ name?: Prisma.StringFieldUpdateOperationsInput | string
399
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
400
+ color?: Prisma.StringFieldUpdateOperationsInput | string
401
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
402
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
403
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
404
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
405
+ }
406
+
407
+ export type ProjectUncheckedUpdateManyInput = {
408
+ id?: Prisma.StringFieldUpdateOperationsInput | string
409
+ name?: Prisma.StringFieldUpdateOperationsInput | string
410
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
411
+ color?: Prisma.StringFieldUpdateOperationsInput | string
412
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
413
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
414
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
415
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
416
+ customerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
417
+ }
418
+
419
+ export type ProjectListRelationFilter = {
420
+ every?: Prisma.ProjectWhereInput
421
+ some?: Prisma.ProjectWhereInput
422
+ none?: Prisma.ProjectWhereInput
423
+ }
424
+
425
+ export type ProjectOrderByRelationAggregateInput = {
426
+ _count?: Prisma.SortOrder
427
+ }
428
+
429
+ export type ProjectCountOrderByAggregateInput = {
430
+ id?: Prisma.SortOrder
431
+ name?: Prisma.SortOrder
432
+ description?: Prisma.SortOrder
433
+ color?: Prisma.SortOrder
434
+ hourlyRate?: Prisma.SortOrder
435
+ archived?: Prisma.SortOrder
436
+ createdAt?: Prisma.SortOrder
437
+ updatedAt?: Prisma.SortOrder
438
+ customerId?: Prisma.SortOrder
439
+ }
440
+
441
+ export type ProjectAvgOrderByAggregateInput = {
442
+ hourlyRate?: Prisma.SortOrder
443
+ }
444
+
445
+ export type ProjectMaxOrderByAggregateInput = {
446
+ id?: Prisma.SortOrder
447
+ name?: Prisma.SortOrder
448
+ description?: Prisma.SortOrder
449
+ color?: Prisma.SortOrder
450
+ hourlyRate?: Prisma.SortOrder
451
+ archived?: Prisma.SortOrder
452
+ createdAt?: Prisma.SortOrder
453
+ updatedAt?: Prisma.SortOrder
454
+ customerId?: Prisma.SortOrder
455
+ }
456
+
457
+ export type ProjectMinOrderByAggregateInput = {
458
+ id?: Prisma.SortOrder
459
+ name?: Prisma.SortOrder
460
+ description?: Prisma.SortOrder
461
+ color?: Prisma.SortOrder
462
+ hourlyRate?: Prisma.SortOrder
463
+ archived?: Prisma.SortOrder
464
+ createdAt?: Prisma.SortOrder
465
+ updatedAt?: Prisma.SortOrder
466
+ customerId?: Prisma.SortOrder
467
+ }
468
+
469
+ export type ProjectSumOrderByAggregateInput = {
470
+ hourlyRate?: Prisma.SortOrder
471
+ }
472
+
473
+ export type ProjectScalarRelationFilter = {
474
+ is?: Prisma.ProjectWhereInput
475
+ isNot?: Prisma.ProjectWhereInput
476
+ }
477
+
478
+ export type ProjectCreateNestedManyWithoutCustomerInput = {
479
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutCustomerInput, Prisma.ProjectUncheckedCreateWithoutCustomerInput> | Prisma.ProjectCreateWithoutCustomerInput[] | Prisma.ProjectUncheckedCreateWithoutCustomerInput[]
480
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutCustomerInput | Prisma.ProjectCreateOrConnectWithoutCustomerInput[]
481
+ createMany?: Prisma.ProjectCreateManyCustomerInputEnvelope
482
+ connect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
483
+ }
484
+
485
+ export type ProjectUncheckedCreateNestedManyWithoutCustomerInput = {
486
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutCustomerInput, Prisma.ProjectUncheckedCreateWithoutCustomerInput> | Prisma.ProjectCreateWithoutCustomerInput[] | Prisma.ProjectUncheckedCreateWithoutCustomerInput[]
487
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutCustomerInput | Prisma.ProjectCreateOrConnectWithoutCustomerInput[]
488
+ createMany?: Prisma.ProjectCreateManyCustomerInputEnvelope
489
+ connect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
490
+ }
491
+
492
+ export type ProjectUpdateManyWithoutCustomerNestedInput = {
493
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutCustomerInput, Prisma.ProjectUncheckedCreateWithoutCustomerInput> | Prisma.ProjectCreateWithoutCustomerInput[] | Prisma.ProjectUncheckedCreateWithoutCustomerInput[]
494
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutCustomerInput | Prisma.ProjectCreateOrConnectWithoutCustomerInput[]
495
+ upsert?: Prisma.ProjectUpsertWithWhereUniqueWithoutCustomerInput | Prisma.ProjectUpsertWithWhereUniqueWithoutCustomerInput[]
496
+ createMany?: Prisma.ProjectCreateManyCustomerInputEnvelope
497
+ set?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
498
+ disconnect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
499
+ delete?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
500
+ connect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
501
+ update?: Prisma.ProjectUpdateWithWhereUniqueWithoutCustomerInput | Prisma.ProjectUpdateWithWhereUniqueWithoutCustomerInput[]
502
+ updateMany?: Prisma.ProjectUpdateManyWithWhereWithoutCustomerInput | Prisma.ProjectUpdateManyWithWhereWithoutCustomerInput[]
503
+ deleteMany?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[]
504
+ }
505
+
506
+ export type ProjectUncheckedUpdateManyWithoutCustomerNestedInput = {
507
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutCustomerInput, Prisma.ProjectUncheckedCreateWithoutCustomerInput> | Prisma.ProjectCreateWithoutCustomerInput[] | Prisma.ProjectUncheckedCreateWithoutCustomerInput[]
508
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutCustomerInput | Prisma.ProjectCreateOrConnectWithoutCustomerInput[]
509
+ upsert?: Prisma.ProjectUpsertWithWhereUniqueWithoutCustomerInput | Prisma.ProjectUpsertWithWhereUniqueWithoutCustomerInput[]
510
+ createMany?: Prisma.ProjectCreateManyCustomerInputEnvelope
511
+ set?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
512
+ disconnect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
513
+ delete?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
514
+ connect?: Prisma.ProjectWhereUniqueInput | Prisma.ProjectWhereUniqueInput[]
515
+ update?: Prisma.ProjectUpdateWithWhereUniqueWithoutCustomerInput | Prisma.ProjectUpdateWithWhereUniqueWithoutCustomerInput[]
516
+ updateMany?: Prisma.ProjectUpdateManyWithWhereWithoutCustomerInput | Prisma.ProjectUpdateManyWithWhereWithoutCustomerInput[]
517
+ deleteMany?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[]
518
+ }
519
+
520
+ export type NullableFloatFieldUpdateOperationsInput = {
521
+ set?: number | null
522
+ increment?: number
523
+ decrement?: number
524
+ multiply?: number
525
+ divide?: number
526
+ }
527
+
528
+ export type BoolFieldUpdateOperationsInput = {
529
+ set?: boolean
530
+ }
531
+
532
+ export type ProjectCreateNestedOneWithoutTimeEntriesInput = {
533
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutTimeEntriesInput, Prisma.ProjectUncheckedCreateWithoutTimeEntriesInput>
534
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutTimeEntriesInput
535
+ connect?: Prisma.ProjectWhereUniqueInput
536
+ }
537
+
538
+ export type ProjectUpdateOneRequiredWithoutTimeEntriesNestedInput = {
539
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutTimeEntriesInput, Prisma.ProjectUncheckedCreateWithoutTimeEntriesInput>
540
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutTimeEntriesInput
541
+ upsert?: Prisma.ProjectUpsertWithoutTimeEntriesInput
542
+ connect?: Prisma.ProjectWhereUniqueInput
543
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProjectUpdateToOneWithWhereWithoutTimeEntriesInput, Prisma.ProjectUpdateWithoutTimeEntriesInput>, Prisma.ProjectUncheckedUpdateWithoutTimeEntriesInput>
544
+ }
545
+
546
+ export type ProjectCreateNestedOneWithoutInvoicesInput = {
547
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutInvoicesInput, Prisma.ProjectUncheckedCreateWithoutInvoicesInput>
548
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutInvoicesInput
549
+ connect?: Prisma.ProjectWhereUniqueInput
550
+ }
551
+
552
+ export type ProjectUpdateOneRequiredWithoutInvoicesNestedInput = {
553
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutInvoicesInput, Prisma.ProjectUncheckedCreateWithoutInvoicesInput>
554
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutInvoicesInput
555
+ upsert?: Prisma.ProjectUpsertWithoutInvoicesInput
556
+ connect?: Prisma.ProjectWhereUniqueInput
557
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProjectUpdateToOneWithWhereWithoutInvoicesInput, Prisma.ProjectUpdateWithoutInvoicesInput>, Prisma.ProjectUncheckedUpdateWithoutInvoicesInput>
558
+ }
559
+
560
+ export type ProjectCreateNestedOneWithoutTasksInput = {
561
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutTasksInput, Prisma.ProjectUncheckedCreateWithoutTasksInput>
562
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutTasksInput
563
+ connect?: Prisma.ProjectWhereUniqueInput
564
+ }
565
+
566
+ export type ProjectUpdateOneRequiredWithoutTasksNestedInput = {
567
+ create?: Prisma.XOR<Prisma.ProjectCreateWithoutTasksInput, Prisma.ProjectUncheckedCreateWithoutTasksInput>
568
+ connectOrCreate?: Prisma.ProjectCreateOrConnectWithoutTasksInput
569
+ upsert?: Prisma.ProjectUpsertWithoutTasksInput
570
+ connect?: Prisma.ProjectWhereUniqueInput
571
+ update?: Prisma.XOR<Prisma.XOR<Prisma.ProjectUpdateToOneWithWhereWithoutTasksInput, Prisma.ProjectUpdateWithoutTasksInput>, Prisma.ProjectUncheckedUpdateWithoutTasksInput>
572
+ }
573
+
574
+ export type ProjectCreateWithoutCustomerInput = {
575
+ id?: string
576
+ name: string
577
+ description?: string | null
578
+ color?: string
579
+ hourlyRate?: number | null
580
+ archived?: boolean
581
+ createdAt?: Date | string
582
+ updatedAt?: Date | string
583
+ tasks?: Prisma.TaskCreateNestedManyWithoutProjectInput
584
+ timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutProjectInput
585
+ invoices?: Prisma.InvoiceCreateNestedManyWithoutProjectInput
586
+ }
587
+
588
+ export type ProjectUncheckedCreateWithoutCustomerInput = {
589
+ id?: string
590
+ name: string
591
+ description?: string | null
592
+ color?: string
593
+ hourlyRate?: number | null
594
+ archived?: boolean
595
+ createdAt?: Date | string
596
+ updatedAt?: Date | string
597
+ tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutProjectInput
598
+ timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutProjectInput
599
+ invoices?: Prisma.InvoiceUncheckedCreateNestedManyWithoutProjectInput
600
+ }
601
+
602
+ export type ProjectCreateOrConnectWithoutCustomerInput = {
603
+ where: Prisma.ProjectWhereUniqueInput
604
+ create: Prisma.XOR<Prisma.ProjectCreateWithoutCustomerInput, Prisma.ProjectUncheckedCreateWithoutCustomerInput>
605
+ }
606
+
607
+ export type ProjectCreateManyCustomerInputEnvelope = {
608
+ data: Prisma.ProjectCreateManyCustomerInput | Prisma.ProjectCreateManyCustomerInput[]
609
+ }
610
+
611
+ export type ProjectUpsertWithWhereUniqueWithoutCustomerInput = {
612
+ where: Prisma.ProjectWhereUniqueInput
613
+ update: Prisma.XOR<Prisma.ProjectUpdateWithoutCustomerInput, Prisma.ProjectUncheckedUpdateWithoutCustomerInput>
614
+ create: Prisma.XOR<Prisma.ProjectCreateWithoutCustomerInput, Prisma.ProjectUncheckedCreateWithoutCustomerInput>
615
+ }
616
+
617
+ export type ProjectUpdateWithWhereUniqueWithoutCustomerInput = {
618
+ where: Prisma.ProjectWhereUniqueInput
619
+ data: Prisma.XOR<Prisma.ProjectUpdateWithoutCustomerInput, Prisma.ProjectUncheckedUpdateWithoutCustomerInput>
620
+ }
621
+
622
+ export type ProjectUpdateManyWithWhereWithoutCustomerInput = {
623
+ where: Prisma.ProjectScalarWhereInput
624
+ data: Prisma.XOR<Prisma.ProjectUpdateManyMutationInput, Prisma.ProjectUncheckedUpdateManyWithoutCustomerInput>
625
+ }
626
+
627
+ export type ProjectScalarWhereInput = {
628
+ AND?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[]
629
+ OR?: Prisma.ProjectScalarWhereInput[]
630
+ NOT?: Prisma.ProjectScalarWhereInput | Prisma.ProjectScalarWhereInput[]
631
+ id?: Prisma.StringFilter<"Project"> | string
632
+ name?: Prisma.StringFilter<"Project"> | string
633
+ description?: Prisma.StringNullableFilter<"Project"> | string | null
634
+ color?: Prisma.StringFilter<"Project"> | string
635
+ hourlyRate?: Prisma.FloatNullableFilter<"Project"> | number | null
636
+ archived?: Prisma.BoolFilter<"Project"> | boolean
637
+ createdAt?: Prisma.DateTimeFilter<"Project"> | Date | string
638
+ updatedAt?: Prisma.DateTimeFilter<"Project"> | Date | string
639
+ customerId?: Prisma.StringNullableFilter<"Project"> | string | null
640
+ }
641
+
642
+ export type ProjectCreateWithoutTimeEntriesInput = {
643
+ id?: string
644
+ name: string
645
+ description?: string | null
646
+ color?: string
647
+ hourlyRate?: number | null
648
+ archived?: boolean
649
+ createdAt?: Date | string
650
+ updatedAt?: Date | string
651
+ tasks?: Prisma.TaskCreateNestedManyWithoutProjectInput
652
+ customer?: Prisma.CustomerCreateNestedOneWithoutProjectsInput
653
+ invoices?: Prisma.InvoiceCreateNestedManyWithoutProjectInput
654
+ }
655
+
656
+ export type ProjectUncheckedCreateWithoutTimeEntriesInput = {
657
+ id?: string
658
+ name: string
659
+ description?: string | null
660
+ color?: string
661
+ hourlyRate?: number | null
662
+ archived?: boolean
663
+ createdAt?: Date | string
664
+ updatedAt?: Date | string
665
+ customerId?: string | null
666
+ tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutProjectInput
667
+ invoices?: Prisma.InvoiceUncheckedCreateNestedManyWithoutProjectInput
668
+ }
669
+
670
+ export type ProjectCreateOrConnectWithoutTimeEntriesInput = {
671
+ where: Prisma.ProjectWhereUniqueInput
672
+ create: Prisma.XOR<Prisma.ProjectCreateWithoutTimeEntriesInput, Prisma.ProjectUncheckedCreateWithoutTimeEntriesInput>
673
+ }
674
+
675
+ export type ProjectUpsertWithoutTimeEntriesInput = {
676
+ update: Prisma.XOR<Prisma.ProjectUpdateWithoutTimeEntriesInput, Prisma.ProjectUncheckedUpdateWithoutTimeEntriesInput>
677
+ create: Prisma.XOR<Prisma.ProjectCreateWithoutTimeEntriesInput, Prisma.ProjectUncheckedCreateWithoutTimeEntriesInput>
678
+ where?: Prisma.ProjectWhereInput
679
+ }
680
+
681
+ export type ProjectUpdateToOneWithWhereWithoutTimeEntriesInput = {
682
+ where?: Prisma.ProjectWhereInput
683
+ data: Prisma.XOR<Prisma.ProjectUpdateWithoutTimeEntriesInput, Prisma.ProjectUncheckedUpdateWithoutTimeEntriesInput>
684
+ }
685
+
686
+ export type ProjectUpdateWithoutTimeEntriesInput = {
687
+ id?: Prisma.StringFieldUpdateOperationsInput | string
688
+ name?: Prisma.StringFieldUpdateOperationsInput | string
689
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
690
+ color?: Prisma.StringFieldUpdateOperationsInput | string
691
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
692
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
693
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
694
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
695
+ tasks?: Prisma.TaskUpdateManyWithoutProjectNestedInput
696
+ customer?: Prisma.CustomerUpdateOneWithoutProjectsNestedInput
697
+ invoices?: Prisma.InvoiceUpdateManyWithoutProjectNestedInput
698
+ }
699
+
700
+ export type ProjectUncheckedUpdateWithoutTimeEntriesInput = {
701
+ id?: Prisma.StringFieldUpdateOperationsInput | string
702
+ name?: Prisma.StringFieldUpdateOperationsInput | string
703
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
704
+ color?: Prisma.StringFieldUpdateOperationsInput | string
705
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
706
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
707
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
708
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
709
+ customerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
710
+ tasks?: Prisma.TaskUncheckedUpdateManyWithoutProjectNestedInput
711
+ invoices?: Prisma.InvoiceUncheckedUpdateManyWithoutProjectNestedInput
712
+ }
713
+
714
+ export type ProjectCreateWithoutInvoicesInput = {
715
+ id?: string
716
+ name: string
717
+ description?: string | null
718
+ color?: string
719
+ hourlyRate?: number | null
720
+ archived?: boolean
721
+ createdAt?: Date | string
722
+ updatedAt?: Date | string
723
+ tasks?: Prisma.TaskCreateNestedManyWithoutProjectInput
724
+ timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutProjectInput
725
+ customer?: Prisma.CustomerCreateNestedOneWithoutProjectsInput
726
+ }
727
+
728
+ export type ProjectUncheckedCreateWithoutInvoicesInput = {
729
+ id?: string
730
+ name: string
731
+ description?: string | null
732
+ color?: string
733
+ hourlyRate?: number | null
734
+ archived?: boolean
735
+ createdAt?: Date | string
736
+ updatedAt?: Date | string
737
+ customerId?: string | null
738
+ tasks?: Prisma.TaskUncheckedCreateNestedManyWithoutProjectInput
739
+ timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutProjectInput
740
+ }
741
+
742
+ export type ProjectCreateOrConnectWithoutInvoicesInput = {
743
+ where: Prisma.ProjectWhereUniqueInput
744
+ create: Prisma.XOR<Prisma.ProjectCreateWithoutInvoicesInput, Prisma.ProjectUncheckedCreateWithoutInvoicesInput>
745
+ }
746
+
747
+ export type ProjectUpsertWithoutInvoicesInput = {
748
+ update: Prisma.XOR<Prisma.ProjectUpdateWithoutInvoicesInput, Prisma.ProjectUncheckedUpdateWithoutInvoicesInput>
749
+ create: Prisma.XOR<Prisma.ProjectCreateWithoutInvoicesInput, Prisma.ProjectUncheckedCreateWithoutInvoicesInput>
750
+ where?: Prisma.ProjectWhereInput
751
+ }
752
+
753
+ export type ProjectUpdateToOneWithWhereWithoutInvoicesInput = {
754
+ where?: Prisma.ProjectWhereInput
755
+ data: Prisma.XOR<Prisma.ProjectUpdateWithoutInvoicesInput, Prisma.ProjectUncheckedUpdateWithoutInvoicesInput>
756
+ }
757
+
758
+ export type ProjectUpdateWithoutInvoicesInput = {
759
+ id?: Prisma.StringFieldUpdateOperationsInput | string
760
+ name?: Prisma.StringFieldUpdateOperationsInput | string
761
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
762
+ color?: Prisma.StringFieldUpdateOperationsInput | string
763
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
764
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
765
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
766
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
767
+ tasks?: Prisma.TaskUpdateManyWithoutProjectNestedInput
768
+ timeEntries?: Prisma.TimeEntryUpdateManyWithoutProjectNestedInput
769
+ customer?: Prisma.CustomerUpdateOneWithoutProjectsNestedInput
770
+ }
771
+
772
+ export type ProjectUncheckedUpdateWithoutInvoicesInput = {
773
+ id?: Prisma.StringFieldUpdateOperationsInput | string
774
+ name?: Prisma.StringFieldUpdateOperationsInput | string
775
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
776
+ color?: Prisma.StringFieldUpdateOperationsInput | string
777
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
778
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
779
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
780
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
781
+ customerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
782
+ tasks?: Prisma.TaskUncheckedUpdateManyWithoutProjectNestedInput
783
+ timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutProjectNestedInput
784
+ }
785
+
786
+ export type ProjectCreateWithoutTasksInput = {
787
+ id?: string
788
+ name: string
789
+ description?: string | null
790
+ color?: string
791
+ hourlyRate?: number | null
792
+ archived?: boolean
793
+ createdAt?: Date | string
794
+ updatedAt?: Date | string
795
+ timeEntries?: Prisma.TimeEntryCreateNestedManyWithoutProjectInput
796
+ customer?: Prisma.CustomerCreateNestedOneWithoutProjectsInput
797
+ invoices?: Prisma.InvoiceCreateNestedManyWithoutProjectInput
798
+ }
799
+
800
+ export type ProjectUncheckedCreateWithoutTasksInput = {
801
+ id?: string
802
+ name: string
803
+ description?: string | null
804
+ color?: string
805
+ hourlyRate?: number | null
806
+ archived?: boolean
807
+ createdAt?: Date | string
808
+ updatedAt?: Date | string
809
+ customerId?: string | null
810
+ timeEntries?: Prisma.TimeEntryUncheckedCreateNestedManyWithoutProjectInput
811
+ invoices?: Prisma.InvoiceUncheckedCreateNestedManyWithoutProjectInput
812
+ }
813
+
814
+ export type ProjectCreateOrConnectWithoutTasksInput = {
815
+ where: Prisma.ProjectWhereUniqueInput
816
+ create: Prisma.XOR<Prisma.ProjectCreateWithoutTasksInput, Prisma.ProjectUncheckedCreateWithoutTasksInput>
817
+ }
818
+
819
+ export type ProjectUpsertWithoutTasksInput = {
820
+ update: Prisma.XOR<Prisma.ProjectUpdateWithoutTasksInput, Prisma.ProjectUncheckedUpdateWithoutTasksInput>
821
+ create: Prisma.XOR<Prisma.ProjectCreateWithoutTasksInput, Prisma.ProjectUncheckedCreateWithoutTasksInput>
822
+ where?: Prisma.ProjectWhereInput
823
+ }
824
+
825
+ export type ProjectUpdateToOneWithWhereWithoutTasksInput = {
826
+ where?: Prisma.ProjectWhereInput
827
+ data: Prisma.XOR<Prisma.ProjectUpdateWithoutTasksInput, Prisma.ProjectUncheckedUpdateWithoutTasksInput>
828
+ }
829
+
830
+ export type ProjectUpdateWithoutTasksInput = {
831
+ id?: Prisma.StringFieldUpdateOperationsInput | string
832
+ name?: Prisma.StringFieldUpdateOperationsInput | string
833
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
834
+ color?: Prisma.StringFieldUpdateOperationsInput | string
835
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
836
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
837
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
838
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
839
+ timeEntries?: Prisma.TimeEntryUpdateManyWithoutProjectNestedInput
840
+ customer?: Prisma.CustomerUpdateOneWithoutProjectsNestedInput
841
+ invoices?: Prisma.InvoiceUpdateManyWithoutProjectNestedInput
842
+ }
843
+
844
+ export type ProjectUncheckedUpdateWithoutTasksInput = {
845
+ id?: Prisma.StringFieldUpdateOperationsInput | string
846
+ name?: Prisma.StringFieldUpdateOperationsInput | string
847
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
848
+ color?: Prisma.StringFieldUpdateOperationsInput | string
849
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
850
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
851
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
852
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
853
+ customerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
854
+ timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutProjectNestedInput
855
+ invoices?: Prisma.InvoiceUncheckedUpdateManyWithoutProjectNestedInput
856
+ }
857
+
858
+ export type ProjectCreateManyCustomerInput = {
859
+ id?: string
860
+ name: string
861
+ description?: string | null
862
+ color?: string
863
+ hourlyRate?: number | null
864
+ archived?: boolean
865
+ createdAt?: Date | string
866
+ updatedAt?: Date | string
867
+ }
868
+
869
+ export type ProjectUpdateWithoutCustomerInput = {
870
+ id?: Prisma.StringFieldUpdateOperationsInput | string
871
+ name?: Prisma.StringFieldUpdateOperationsInput | string
872
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
873
+ color?: Prisma.StringFieldUpdateOperationsInput | string
874
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
875
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
876
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
877
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
878
+ tasks?: Prisma.TaskUpdateManyWithoutProjectNestedInput
879
+ timeEntries?: Prisma.TimeEntryUpdateManyWithoutProjectNestedInput
880
+ invoices?: Prisma.InvoiceUpdateManyWithoutProjectNestedInput
881
+ }
882
+
883
+ export type ProjectUncheckedUpdateWithoutCustomerInput = {
884
+ id?: Prisma.StringFieldUpdateOperationsInput | string
885
+ name?: Prisma.StringFieldUpdateOperationsInput | string
886
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
887
+ color?: Prisma.StringFieldUpdateOperationsInput | string
888
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
889
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
890
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
891
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
892
+ tasks?: Prisma.TaskUncheckedUpdateManyWithoutProjectNestedInput
893
+ timeEntries?: Prisma.TimeEntryUncheckedUpdateManyWithoutProjectNestedInput
894
+ invoices?: Prisma.InvoiceUncheckedUpdateManyWithoutProjectNestedInput
895
+ }
896
+
897
+ export type ProjectUncheckedUpdateManyWithoutCustomerInput = {
898
+ id?: Prisma.StringFieldUpdateOperationsInput | string
899
+ name?: Prisma.StringFieldUpdateOperationsInput | string
900
+ description?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
901
+ color?: Prisma.StringFieldUpdateOperationsInput | string
902
+ hourlyRate?: Prisma.NullableFloatFieldUpdateOperationsInput | number | null
903
+ archived?: Prisma.BoolFieldUpdateOperationsInput | boolean
904
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
905
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
906
+ }
907
+
908
+
909
+ /**
910
+ * Count Type ProjectCountOutputType
911
+ */
912
+
913
+ export type ProjectCountOutputType = {
914
+ tasks: number
915
+ timeEntries: number
916
+ invoices: number
917
+ }
918
+
919
+ export type ProjectCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
920
+ tasks?: boolean | ProjectCountOutputTypeCountTasksArgs
921
+ timeEntries?: boolean | ProjectCountOutputTypeCountTimeEntriesArgs
922
+ invoices?: boolean | ProjectCountOutputTypeCountInvoicesArgs
923
+ }
924
+
925
+ /**
926
+ * ProjectCountOutputType without action
927
+ */
928
+ export type ProjectCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
929
+ /**
930
+ * Select specific fields to fetch from the ProjectCountOutputType
931
+ */
932
+ select?: Prisma.ProjectCountOutputTypeSelect<ExtArgs> | null
933
+ }
934
+
935
+ /**
936
+ * ProjectCountOutputType without action
937
+ */
938
+ export type ProjectCountOutputTypeCountTasksArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
939
+ where?: Prisma.TaskWhereInput
940
+ }
941
+
942
+ /**
943
+ * ProjectCountOutputType without action
944
+ */
945
+ export type ProjectCountOutputTypeCountTimeEntriesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
946
+ where?: Prisma.TimeEntryWhereInput
947
+ }
948
+
949
+ /**
950
+ * ProjectCountOutputType without action
951
+ */
952
+ export type ProjectCountOutputTypeCountInvoicesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
953
+ where?: Prisma.InvoiceWhereInput
954
+ }
955
+
956
+
957
+ export type ProjectSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
958
+ id?: boolean
959
+ name?: boolean
960
+ description?: boolean
961
+ color?: boolean
962
+ hourlyRate?: boolean
963
+ archived?: boolean
964
+ createdAt?: boolean
965
+ updatedAt?: boolean
966
+ customerId?: boolean
967
+ tasks?: boolean | Prisma.Project$tasksArgs<ExtArgs>
968
+ timeEntries?: boolean | Prisma.Project$timeEntriesArgs<ExtArgs>
969
+ customer?: boolean | Prisma.Project$customerArgs<ExtArgs>
970
+ invoices?: boolean | Prisma.Project$invoicesArgs<ExtArgs>
971
+ _count?: boolean | Prisma.ProjectCountOutputTypeDefaultArgs<ExtArgs>
972
+ }, ExtArgs["result"]["project"]>
973
+
974
+ export type ProjectSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
975
+ id?: boolean
976
+ name?: boolean
977
+ description?: boolean
978
+ color?: boolean
979
+ hourlyRate?: boolean
980
+ archived?: boolean
981
+ createdAt?: boolean
982
+ updatedAt?: boolean
983
+ customerId?: boolean
984
+ customer?: boolean | Prisma.Project$customerArgs<ExtArgs>
985
+ }, ExtArgs["result"]["project"]>
986
+
987
+ export type ProjectSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
988
+ id?: boolean
989
+ name?: boolean
990
+ description?: boolean
991
+ color?: boolean
992
+ hourlyRate?: boolean
993
+ archived?: boolean
994
+ createdAt?: boolean
995
+ updatedAt?: boolean
996
+ customerId?: boolean
997
+ customer?: boolean | Prisma.Project$customerArgs<ExtArgs>
998
+ }, ExtArgs["result"]["project"]>
999
+
1000
+ export type ProjectSelectScalar = {
1001
+ id?: boolean
1002
+ name?: boolean
1003
+ description?: boolean
1004
+ color?: boolean
1005
+ hourlyRate?: boolean
1006
+ archived?: boolean
1007
+ createdAt?: boolean
1008
+ updatedAt?: boolean
1009
+ customerId?: boolean
1010
+ }
1011
+
1012
+ export type ProjectOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "description" | "color" | "hourlyRate" | "archived" | "createdAt" | "updatedAt" | "customerId", ExtArgs["result"]["project"]>
1013
+ export type ProjectInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1014
+ tasks?: boolean | Prisma.Project$tasksArgs<ExtArgs>
1015
+ timeEntries?: boolean | Prisma.Project$timeEntriesArgs<ExtArgs>
1016
+ customer?: boolean | Prisma.Project$customerArgs<ExtArgs>
1017
+ invoices?: boolean | Prisma.Project$invoicesArgs<ExtArgs>
1018
+ _count?: boolean | Prisma.ProjectCountOutputTypeDefaultArgs<ExtArgs>
1019
+ }
1020
+ export type ProjectIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1021
+ customer?: boolean | Prisma.Project$customerArgs<ExtArgs>
1022
+ }
1023
+ export type ProjectIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1024
+ customer?: boolean | Prisma.Project$customerArgs<ExtArgs>
1025
+ }
1026
+
1027
+ export type $ProjectPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1028
+ name: "Project"
1029
+ objects: {
1030
+ tasks: Prisma.$TaskPayload<ExtArgs>[]
1031
+ timeEntries: Prisma.$TimeEntryPayload<ExtArgs>[]
1032
+ customer: Prisma.$CustomerPayload<ExtArgs> | null
1033
+ invoices: Prisma.$InvoicePayload<ExtArgs>[]
1034
+ }
1035
+ scalars: runtime.Types.Extensions.GetPayloadResult<{
1036
+ id: string
1037
+ name: string
1038
+ description: string | null
1039
+ color: string
1040
+ hourlyRate: number | null
1041
+ archived: boolean
1042
+ createdAt: Date
1043
+ updatedAt: Date
1044
+ customerId: string | null
1045
+ }, ExtArgs["result"]["project"]>
1046
+ composites: {}
1047
+ }
1048
+
1049
+ export type ProjectGetPayload<S extends boolean | null | undefined | ProjectDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$ProjectPayload, S>
1050
+
1051
+ export type ProjectCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> =
1052
+ Omit<ProjectFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
1053
+ select?: ProjectCountAggregateInputType | true
1054
+ }
1055
+
1056
+ export interface ProjectDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
1057
+ [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['Project'], meta: { name: 'Project' } }
1058
+ /**
1059
+ * Find zero or one Project that matches the filter.
1060
+ * @param {ProjectFindUniqueArgs} args - Arguments to find a Project
1061
+ * @example
1062
+ * // Get one Project
1063
+ * const project = await prisma.project.findUnique({
1064
+ * where: {
1065
+ * // ... provide filter here
1066
+ * }
1067
+ * })
1068
+ */
1069
+ findUnique<T extends ProjectFindUniqueArgs>(args: Prisma.SelectSubset<T, ProjectFindUniqueArgs<ExtArgs>>): Prisma.Prisma__ProjectClient<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
1070
+
1071
+ /**
1072
+ * Find one Project that matches the filter or throw an error with `error.code='P2025'`
1073
+ * if no matches were found.
1074
+ * @param {ProjectFindUniqueOrThrowArgs} args - Arguments to find a Project
1075
+ * @example
1076
+ * // Get one Project
1077
+ * const project = await prisma.project.findUniqueOrThrow({
1078
+ * where: {
1079
+ * // ... provide filter here
1080
+ * }
1081
+ * })
1082
+ */
1083
+ findUniqueOrThrow<T extends ProjectFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, ProjectFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__ProjectClient<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1084
+
1085
+ /**
1086
+ * Find the first Project that matches the filter.
1087
+ * Note, that providing `undefined` is treated as the value not being there.
1088
+ * Read more here: https://pris.ly/d/null-undefined
1089
+ * @param {ProjectFindFirstArgs} args - Arguments to find a Project
1090
+ * @example
1091
+ * // Get one Project
1092
+ * const project = await prisma.project.findFirst({
1093
+ * where: {
1094
+ * // ... provide filter here
1095
+ * }
1096
+ * })
1097
+ */
1098
+ findFirst<T extends ProjectFindFirstArgs>(args?: Prisma.SelectSubset<T, ProjectFindFirstArgs<ExtArgs>>): Prisma.Prisma__ProjectClient<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
1099
+
1100
+ /**
1101
+ * Find the first Project that matches the filter or
1102
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
1103
+ * Note, that providing `undefined` is treated as the value not being there.
1104
+ * Read more here: https://pris.ly/d/null-undefined
1105
+ * @param {ProjectFindFirstOrThrowArgs} args - Arguments to find a Project
1106
+ * @example
1107
+ * // Get one Project
1108
+ * const project = await prisma.project.findFirstOrThrow({
1109
+ * where: {
1110
+ * // ... provide filter here
1111
+ * }
1112
+ * })
1113
+ */
1114
+ findFirstOrThrow<T extends ProjectFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, ProjectFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__ProjectClient<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1115
+
1116
+ /**
1117
+ * Find zero or more Projects that matches the filter.
1118
+ * Note, that providing `undefined` is treated as the value not being there.
1119
+ * Read more here: https://pris.ly/d/null-undefined
1120
+ * @param {ProjectFindManyArgs} args - Arguments to filter and select certain fields only.
1121
+ * @example
1122
+ * // Get all Projects
1123
+ * const projects = await prisma.project.findMany()
1124
+ *
1125
+ * // Get first 10 Projects
1126
+ * const projects = await prisma.project.findMany({ take: 10 })
1127
+ *
1128
+ * // Only select the `id`
1129
+ * const projectWithIdOnly = await prisma.project.findMany({ select: { id: true } })
1130
+ *
1131
+ */
1132
+ findMany<T extends ProjectFindManyArgs>(args?: Prisma.SelectSubset<T, ProjectFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
1133
+
1134
+ /**
1135
+ * Create a Project.
1136
+ * @param {ProjectCreateArgs} args - Arguments to create a Project.
1137
+ * @example
1138
+ * // Create one Project
1139
+ * const Project = await prisma.project.create({
1140
+ * data: {
1141
+ * // ... data to create a Project
1142
+ * }
1143
+ * })
1144
+ *
1145
+ */
1146
+ create<T extends ProjectCreateArgs>(args: Prisma.SelectSubset<T, ProjectCreateArgs<ExtArgs>>): Prisma.Prisma__ProjectClient<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1147
+
1148
+ /**
1149
+ * Create many Projects.
1150
+ * @param {ProjectCreateManyArgs} args - Arguments to create many Projects.
1151
+ * @example
1152
+ * // Create many Projects
1153
+ * const project = await prisma.project.createMany({
1154
+ * data: [
1155
+ * // ... provide data here
1156
+ * ]
1157
+ * })
1158
+ *
1159
+ */
1160
+ createMany<T extends ProjectCreateManyArgs>(args?: Prisma.SelectSubset<T, ProjectCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
1161
+
1162
+ /**
1163
+ * Create many Projects and returns the data saved in the database.
1164
+ * @param {ProjectCreateManyAndReturnArgs} args - Arguments to create many Projects.
1165
+ * @example
1166
+ * // Create many Projects
1167
+ * const project = await prisma.project.createManyAndReturn({
1168
+ * data: [
1169
+ * // ... provide data here
1170
+ * ]
1171
+ * })
1172
+ *
1173
+ * // Create many Projects and only return the `id`
1174
+ * const projectWithIdOnly = await prisma.project.createManyAndReturn({
1175
+ * select: { id: true },
1176
+ * data: [
1177
+ * // ... provide data here
1178
+ * ]
1179
+ * })
1180
+ * Note, that providing `undefined` is treated as the value not being there.
1181
+ * Read more here: https://pris.ly/d/null-undefined
1182
+ *
1183
+ */
1184
+ createManyAndReturn<T extends ProjectCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, ProjectCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
1185
+
1186
+ /**
1187
+ * Delete a Project.
1188
+ * @param {ProjectDeleteArgs} args - Arguments to delete one Project.
1189
+ * @example
1190
+ * // Delete one Project
1191
+ * const Project = await prisma.project.delete({
1192
+ * where: {
1193
+ * // ... filter to delete one Project
1194
+ * }
1195
+ * })
1196
+ *
1197
+ */
1198
+ delete<T extends ProjectDeleteArgs>(args: Prisma.SelectSubset<T, ProjectDeleteArgs<ExtArgs>>): Prisma.Prisma__ProjectClient<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1199
+
1200
+ /**
1201
+ * Update one Project.
1202
+ * @param {ProjectUpdateArgs} args - Arguments to update one Project.
1203
+ * @example
1204
+ * // Update one Project
1205
+ * const project = await prisma.project.update({
1206
+ * where: {
1207
+ * // ... provide filter here
1208
+ * },
1209
+ * data: {
1210
+ * // ... provide data here
1211
+ * }
1212
+ * })
1213
+ *
1214
+ */
1215
+ update<T extends ProjectUpdateArgs>(args: Prisma.SelectSubset<T, ProjectUpdateArgs<ExtArgs>>): Prisma.Prisma__ProjectClient<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1216
+
1217
+ /**
1218
+ * Delete zero or more Projects.
1219
+ * @param {ProjectDeleteManyArgs} args - Arguments to filter Projects to delete.
1220
+ * @example
1221
+ * // Delete a few Projects
1222
+ * const { count } = await prisma.project.deleteMany({
1223
+ * where: {
1224
+ * // ... provide filter here
1225
+ * }
1226
+ * })
1227
+ *
1228
+ */
1229
+ deleteMany<T extends ProjectDeleteManyArgs>(args?: Prisma.SelectSubset<T, ProjectDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
1230
+
1231
+ /**
1232
+ * Update zero or more Projects.
1233
+ * Note, that providing `undefined` is treated as the value not being there.
1234
+ * Read more here: https://pris.ly/d/null-undefined
1235
+ * @param {ProjectUpdateManyArgs} args - Arguments to update one or more rows.
1236
+ * @example
1237
+ * // Update many Projects
1238
+ * const project = await prisma.project.updateMany({
1239
+ * where: {
1240
+ * // ... provide filter here
1241
+ * },
1242
+ * data: {
1243
+ * // ... provide data here
1244
+ * }
1245
+ * })
1246
+ *
1247
+ */
1248
+ updateMany<T extends ProjectUpdateManyArgs>(args: Prisma.SelectSubset<T, ProjectUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
1249
+
1250
+ /**
1251
+ * Update zero or more Projects and returns the data updated in the database.
1252
+ * @param {ProjectUpdateManyAndReturnArgs} args - Arguments to update many Projects.
1253
+ * @example
1254
+ * // Update many Projects
1255
+ * const project = await prisma.project.updateManyAndReturn({
1256
+ * where: {
1257
+ * // ... provide filter here
1258
+ * },
1259
+ * data: [
1260
+ * // ... provide data here
1261
+ * ]
1262
+ * })
1263
+ *
1264
+ * // Update zero or more Projects and only return the `id`
1265
+ * const projectWithIdOnly = await prisma.project.updateManyAndReturn({
1266
+ * select: { id: true },
1267
+ * where: {
1268
+ * // ... provide filter here
1269
+ * },
1270
+ * data: [
1271
+ * // ... provide data here
1272
+ * ]
1273
+ * })
1274
+ * Note, that providing `undefined` is treated as the value not being there.
1275
+ * Read more here: https://pris.ly/d/null-undefined
1276
+ *
1277
+ */
1278
+ updateManyAndReturn<T extends ProjectUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, ProjectUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
1279
+
1280
+ /**
1281
+ * Create or update one Project.
1282
+ * @param {ProjectUpsertArgs} args - Arguments to update or create a Project.
1283
+ * @example
1284
+ * // Update or create a Project
1285
+ * const project = await prisma.project.upsert({
1286
+ * create: {
1287
+ * // ... data to create a Project
1288
+ * },
1289
+ * update: {
1290
+ * // ... in case it already exists, update
1291
+ * },
1292
+ * where: {
1293
+ * // ... the filter for the Project we want to update
1294
+ * }
1295
+ * })
1296
+ */
1297
+ upsert<T extends ProjectUpsertArgs>(args: Prisma.SelectSubset<T, ProjectUpsertArgs<ExtArgs>>): Prisma.Prisma__ProjectClient<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
1298
+
1299
+
1300
+ /**
1301
+ * Count the number of Projects.
1302
+ * Note, that providing `undefined` is treated as the value not being there.
1303
+ * Read more here: https://pris.ly/d/null-undefined
1304
+ * @param {ProjectCountArgs} args - Arguments to filter Projects to count.
1305
+ * @example
1306
+ * // Count the number of Projects
1307
+ * const count = await prisma.project.count({
1308
+ * where: {
1309
+ * // ... the filter for the Projects we want to count
1310
+ * }
1311
+ * })
1312
+ **/
1313
+ count<T extends ProjectCountArgs>(
1314
+ args?: Prisma.Subset<T, ProjectCountArgs>,
1315
+ ): Prisma.PrismaPromise<
1316
+ T extends runtime.Types.Utils.Record<'select', any>
1317
+ ? T['select'] extends true
1318
+ ? number
1319
+ : Prisma.GetScalarType<T['select'], ProjectCountAggregateOutputType>
1320
+ : number
1321
+ >
1322
+
1323
+ /**
1324
+ * Allows you to perform aggregations operations on a Project.
1325
+ * Note, that providing `undefined` is treated as the value not being there.
1326
+ * Read more here: https://pris.ly/d/null-undefined
1327
+ * @param {ProjectAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
1328
+ * @example
1329
+ * // Ordered by age ascending
1330
+ * // Where email contains prisma.io
1331
+ * // Limited to the 10 users
1332
+ * const aggregations = await prisma.user.aggregate({
1333
+ * _avg: {
1334
+ * age: true,
1335
+ * },
1336
+ * where: {
1337
+ * email: {
1338
+ * contains: "prisma.io",
1339
+ * },
1340
+ * },
1341
+ * orderBy: {
1342
+ * age: "asc",
1343
+ * },
1344
+ * take: 10,
1345
+ * })
1346
+ **/
1347
+ aggregate<T extends ProjectAggregateArgs>(args: Prisma.Subset<T, ProjectAggregateArgs>): Prisma.PrismaPromise<GetProjectAggregateType<T>>
1348
+
1349
+ /**
1350
+ * Group by Project.
1351
+ * Note, that providing `undefined` is treated as the value not being there.
1352
+ * Read more here: https://pris.ly/d/null-undefined
1353
+ * @param {ProjectGroupByArgs} args - Group by arguments.
1354
+ * @example
1355
+ * // Group by city, order by createdAt, get count
1356
+ * const result = await prisma.user.groupBy({
1357
+ * by: ['city', 'createdAt'],
1358
+ * orderBy: {
1359
+ * createdAt: true
1360
+ * },
1361
+ * _count: {
1362
+ * _all: true
1363
+ * },
1364
+ * })
1365
+ *
1366
+ **/
1367
+ groupBy<
1368
+ T extends ProjectGroupByArgs,
1369
+ HasSelectOrTake extends Prisma.Or<
1370
+ Prisma.Extends<'skip', Prisma.Keys<T>>,
1371
+ Prisma.Extends<'take', Prisma.Keys<T>>
1372
+ >,
1373
+ OrderByArg extends Prisma.True extends HasSelectOrTake
1374
+ ? { orderBy: ProjectGroupByArgs['orderBy'] }
1375
+ : { orderBy?: ProjectGroupByArgs['orderBy'] },
1376
+ OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
1377
+ ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
1378
+ ByValid extends Prisma.Has<ByFields, OrderFields>,
1379
+ HavingFields extends Prisma.GetHavingFields<T['having']>,
1380
+ HavingValid extends Prisma.Has<ByFields, HavingFields>,
1381
+ ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False,
1382
+ InputErrors extends ByEmpty extends Prisma.True
1383
+ ? `Error: "by" must not be empty.`
1384
+ : HavingValid extends Prisma.False
1385
+ ? {
1386
+ [P in HavingFields]: P extends ByFields
1387
+ ? never
1388
+ : P extends string
1389
+ ? `Error: Field "${P}" used in "having" needs to be provided in "by".`
1390
+ : [
1391
+ Error,
1392
+ 'Field ',
1393
+ P,
1394
+ ` in "having" needs to be provided in "by"`,
1395
+ ]
1396
+ }[HavingFields]
1397
+ : 'take' extends Prisma.Keys<T>
1398
+ ? 'orderBy' extends Prisma.Keys<T>
1399
+ ? ByValid extends Prisma.True
1400
+ ? {}
1401
+ : {
1402
+ [P in OrderFields]: P extends ByFields
1403
+ ? never
1404
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
1405
+ }[OrderFields]
1406
+ : 'Error: If you provide "take", you also need to provide "orderBy"'
1407
+ : 'skip' extends Prisma.Keys<T>
1408
+ ? 'orderBy' extends Prisma.Keys<T>
1409
+ ? ByValid extends Prisma.True
1410
+ ? {}
1411
+ : {
1412
+ [P in OrderFields]: P extends ByFields
1413
+ ? never
1414
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
1415
+ }[OrderFields]
1416
+ : 'Error: If you provide "skip", you also need to provide "orderBy"'
1417
+ : ByValid extends Prisma.True
1418
+ ? {}
1419
+ : {
1420
+ [P in OrderFields]: P extends ByFields
1421
+ ? never
1422
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
1423
+ }[OrderFields]
1424
+ >(args: Prisma.SubsetIntersection<T, ProjectGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetProjectGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
1425
+ /**
1426
+ * Fields of the Project model
1427
+ */
1428
+ readonly fields: ProjectFieldRefs;
1429
+ }
1430
+
1431
+ /**
1432
+ * The delegate class that acts as a "Promise-like" for Project.
1433
+ * Why is this prefixed with `Prisma__`?
1434
+ * Because we want to prevent naming conflicts as mentioned in
1435
+ * https://github.com/prisma/prisma-client-js/issues/707
1436
+ */
1437
+ export interface Prisma__ProjectClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
1438
+ readonly [Symbol.toStringTag]: "PrismaPromise"
1439
+ tasks<T extends Prisma.Project$tasksArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Project$tasksArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TaskPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
1440
+ timeEntries<T extends Prisma.Project$timeEntriesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Project$timeEntriesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$TimeEntryPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
1441
+ customer<T extends Prisma.Project$customerArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Project$customerArgs<ExtArgs>>): Prisma.Prisma__CustomerClient<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
1442
+ invoices<T extends Prisma.Project$invoicesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Project$invoicesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$InvoicePayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
1443
+ /**
1444
+ * Attaches callbacks for the resolution and/or rejection of the Promise.
1445
+ * @param onfulfilled The callback to execute when the Promise is resolved.
1446
+ * @param onrejected The callback to execute when the Promise is rejected.
1447
+ * @returns A Promise for the completion of which ever callback is executed.
1448
+ */
1449
+ 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>
1450
+ /**
1451
+ * Attaches a callback for only the rejection of the Promise.
1452
+ * @param onrejected The callback to execute when the Promise is rejected.
1453
+ * @returns A Promise for the completion of the callback.
1454
+ */
1455
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>
1456
+ /**
1457
+ * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
1458
+ * resolved value cannot be modified from the callback.
1459
+ * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
1460
+ * @returns A Promise for the completion of the callback.
1461
+ */
1462
+ finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>
1463
+ }
1464
+
1465
+
1466
+
1467
+
1468
+ /**
1469
+ * Fields of the Project model
1470
+ */
1471
+ export interface ProjectFieldRefs {
1472
+ readonly id: Prisma.FieldRef<"Project", 'String'>
1473
+ readonly name: Prisma.FieldRef<"Project", 'String'>
1474
+ readonly description: Prisma.FieldRef<"Project", 'String'>
1475
+ readonly color: Prisma.FieldRef<"Project", 'String'>
1476
+ readonly hourlyRate: Prisma.FieldRef<"Project", 'Float'>
1477
+ readonly archived: Prisma.FieldRef<"Project", 'Boolean'>
1478
+ readonly createdAt: Prisma.FieldRef<"Project", 'DateTime'>
1479
+ readonly updatedAt: Prisma.FieldRef<"Project", 'DateTime'>
1480
+ readonly customerId: Prisma.FieldRef<"Project", 'String'>
1481
+ }
1482
+
1483
+
1484
+ // Custom InputTypes
1485
+ /**
1486
+ * Project findUnique
1487
+ */
1488
+ export type ProjectFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1489
+ /**
1490
+ * Select specific fields to fetch from the Project
1491
+ */
1492
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1493
+ /**
1494
+ * Omit specific fields from the Project
1495
+ */
1496
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1497
+ /**
1498
+ * Choose, which related nodes to fetch as well
1499
+ */
1500
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1501
+ /**
1502
+ * Filter, which Project to fetch.
1503
+ */
1504
+ where: Prisma.ProjectWhereUniqueInput
1505
+ }
1506
+
1507
+ /**
1508
+ * Project findUniqueOrThrow
1509
+ */
1510
+ export type ProjectFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1511
+ /**
1512
+ * Select specific fields to fetch from the Project
1513
+ */
1514
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1515
+ /**
1516
+ * Omit specific fields from the Project
1517
+ */
1518
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1519
+ /**
1520
+ * Choose, which related nodes to fetch as well
1521
+ */
1522
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1523
+ /**
1524
+ * Filter, which Project to fetch.
1525
+ */
1526
+ where: Prisma.ProjectWhereUniqueInput
1527
+ }
1528
+
1529
+ /**
1530
+ * Project findFirst
1531
+ */
1532
+ export type ProjectFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1533
+ /**
1534
+ * Select specific fields to fetch from the Project
1535
+ */
1536
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1537
+ /**
1538
+ * Omit specific fields from the Project
1539
+ */
1540
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1541
+ /**
1542
+ * Choose, which related nodes to fetch as well
1543
+ */
1544
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1545
+ /**
1546
+ * Filter, which Project to fetch.
1547
+ */
1548
+ where?: Prisma.ProjectWhereInput
1549
+ /**
1550
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1551
+ *
1552
+ * Determine the order of Projects to fetch.
1553
+ */
1554
+ orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[]
1555
+ /**
1556
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1557
+ *
1558
+ * Sets the position for searching for Projects.
1559
+ */
1560
+ cursor?: Prisma.ProjectWhereUniqueInput
1561
+ /**
1562
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1563
+ *
1564
+ * Take `±n` Projects from the position of the cursor.
1565
+ */
1566
+ take?: number
1567
+ /**
1568
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1569
+ *
1570
+ * Skip the first `n` Projects.
1571
+ */
1572
+ skip?: number
1573
+ /**
1574
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1575
+ *
1576
+ * Filter by unique combinations of Projects.
1577
+ */
1578
+ distinct?: Prisma.ProjectScalarFieldEnum | Prisma.ProjectScalarFieldEnum[]
1579
+ }
1580
+
1581
+ /**
1582
+ * Project findFirstOrThrow
1583
+ */
1584
+ export type ProjectFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1585
+ /**
1586
+ * Select specific fields to fetch from the Project
1587
+ */
1588
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1589
+ /**
1590
+ * Omit specific fields from the Project
1591
+ */
1592
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1593
+ /**
1594
+ * Choose, which related nodes to fetch as well
1595
+ */
1596
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1597
+ /**
1598
+ * Filter, which Project to fetch.
1599
+ */
1600
+ where?: Prisma.ProjectWhereInput
1601
+ /**
1602
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1603
+ *
1604
+ * Determine the order of Projects to fetch.
1605
+ */
1606
+ orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[]
1607
+ /**
1608
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1609
+ *
1610
+ * Sets the position for searching for Projects.
1611
+ */
1612
+ cursor?: Prisma.ProjectWhereUniqueInput
1613
+ /**
1614
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1615
+ *
1616
+ * Take `±n` Projects from the position of the cursor.
1617
+ */
1618
+ take?: number
1619
+ /**
1620
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1621
+ *
1622
+ * Skip the first `n` Projects.
1623
+ */
1624
+ skip?: number
1625
+ /**
1626
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1627
+ *
1628
+ * Filter by unique combinations of Projects.
1629
+ */
1630
+ distinct?: Prisma.ProjectScalarFieldEnum | Prisma.ProjectScalarFieldEnum[]
1631
+ }
1632
+
1633
+ /**
1634
+ * Project findMany
1635
+ */
1636
+ export type ProjectFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1637
+ /**
1638
+ * Select specific fields to fetch from the Project
1639
+ */
1640
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1641
+ /**
1642
+ * Omit specific fields from the Project
1643
+ */
1644
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1645
+ /**
1646
+ * Choose, which related nodes to fetch as well
1647
+ */
1648
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1649
+ /**
1650
+ * Filter, which Projects to fetch.
1651
+ */
1652
+ where?: Prisma.ProjectWhereInput
1653
+ /**
1654
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1655
+ *
1656
+ * Determine the order of Projects to fetch.
1657
+ */
1658
+ orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[]
1659
+ /**
1660
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1661
+ *
1662
+ * Sets the position for listing Projects.
1663
+ */
1664
+ cursor?: Prisma.ProjectWhereUniqueInput
1665
+ /**
1666
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1667
+ *
1668
+ * Take `±n` Projects from the position of the cursor.
1669
+ */
1670
+ take?: number
1671
+ /**
1672
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1673
+ *
1674
+ * Skip the first `n` Projects.
1675
+ */
1676
+ skip?: number
1677
+ distinct?: Prisma.ProjectScalarFieldEnum | Prisma.ProjectScalarFieldEnum[]
1678
+ }
1679
+
1680
+ /**
1681
+ * Project create
1682
+ */
1683
+ export type ProjectCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1684
+ /**
1685
+ * Select specific fields to fetch from the Project
1686
+ */
1687
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1688
+ /**
1689
+ * Omit specific fields from the Project
1690
+ */
1691
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1692
+ /**
1693
+ * Choose, which related nodes to fetch as well
1694
+ */
1695
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1696
+ /**
1697
+ * The data needed to create a Project.
1698
+ */
1699
+ data: Prisma.XOR<Prisma.ProjectCreateInput, Prisma.ProjectUncheckedCreateInput>
1700
+ }
1701
+
1702
+ /**
1703
+ * Project createMany
1704
+ */
1705
+ export type ProjectCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1706
+ /**
1707
+ * The data used to create many Projects.
1708
+ */
1709
+ data: Prisma.ProjectCreateManyInput | Prisma.ProjectCreateManyInput[]
1710
+ }
1711
+
1712
+ /**
1713
+ * Project createManyAndReturn
1714
+ */
1715
+ export type ProjectCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1716
+ /**
1717
+ * Select specific fields to fetch from the Project
1718
+ */
1719
+ select?: Prisma.ProjectSelectCreateManyAndReturn<ExtArgs> | null
1720
+ /**
1721
+ * Omit specific fields from the Project
1722
+ */
1723
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1724
+ /**
1725
+ * The data used to create many Projects.
1726
+ */
1727
+ data: Prisma.ProjectCreateManyInput | Prisma.ProjectCreateManyInput[]
1728
+ /**
1729
+ * Choose, which related nodes to fetch as well
1730
+ */
1731
+ include?: Prisma.ProjectIncludeCreateManyAndReturn<ExtArgs> | null
1732
+ }
1733
+
1734
+ /**
1735
+ * Project update
1736
+ */
1737
+ export type ProjectUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1738
+ /**
1739
+ * Select specific fields to fetch from the Project
1740
+ */
1741
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1742
+ /**
1743
+ * Omit specific fields from the Project
1744
+ */
1745
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1746
+ /**
1747
+ * Choose, which related nodes to fetch as well
1748
+ */
1749
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1750
+ /**
1751
+ * The data needed to update a Project.
1752
+ */
1753
+ data: Prisma.XOR<Prisma.ProjectUpdateInput, Prisma.ProjectUncheckedUpdateInput>
1754
+ /**
1755
+ * Choose, which Project to update.
1756
+ */
1757
+ where: Prisma.ProjectWhereUniqueInput
1758
+ }
1759
+
1760
+ /**
1761
+ * Project updateMany
1762
+ */
1763
+ export type ProjectUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1764
+ /**
1765
+ * The data used to update Projects.
1766
+ */
1767
+ data: Prisma.XOR<Prisma.ProjectUpdateManyMutationInput, Prisma.ProjectUncheckedUpdateManyInput>
1768
+ /**
1769
+ * Filter which Projects to update
1770
+ */
1771
+ where?: Prisma.ProjectWhereInput
1772
+ /**
1773
+ * Limit how many Projects to update.
1774
+ */
1775
+ limit?: number
1776
+ }
1777
+
1778
+ /**
1779
+ * Project updateManyAndReturn
1780
+ */
1781
+ export type ProjectUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1782
+ /**
1783
+ * Select specific fields to fetch from the Project
1784
+ */
1785
+ select?: Prisma.ProjectSelectUpdateManyAndReturn<ExtArgs> | null
1786
+ /**
1787
+ * Omit specific fields from the Project
1788
+ */
1789
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1790
+ /**
1791
+ * The data used to update Projects.
1792
+ */
1793
+ data: Prisma.XOR<Prisma.ProjectUpdateManyMutationInput, Prisma.ProjectUncheckedUpdateManyInput>
1794
+ /**
1795
+ * Filter which Projects to update
1796
+ */
1797
+ where?: Prisma.ProjectWhereInput
1798
+ /**
1799
+ * Limit how many Projects to update.
1800
+ */
1801
+ limit?: number
1802
+ /**
1803
+ * Choose, which related nodes to fetch as well
1804
+ */
1805
+ include?: Prisma.ProjectIncludeUpdateManyAndReturn<ExtArgs> | null
1806
+ }
1807
+
1808
+ /**
1809
+ * Project upsert
1810
+ */
1811
+ export type ProjectUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1812
+ /**
1813
+ * Select specific fields to fetch from the Project
1814
+ */
1815
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1816
+ /**
1817
+ * Omit specific fields from the Project
1818
+ */
1819
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1820
+ /**
1821
+ * Choose, which related nodes to fetch as well
1822
+ */
1823
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1824
+ /**
1825
+ * The filter to search for the Project to update in case it exists.
1826
+ */
1827
+ where: Prisma.ProjectWhereUniqueInput
1828
+ /**
1829
+ * In case the Project found by the `where` argument doesn't exist, create a new Project with this data.
1830
+ */
1831
+ create: Prisma.XOR<Prisma.ProjectCreateInput, Prisma.ProjectUncheckedCreateInput>
1832
+ /**
1833
+ * In case the Project was found with the provided `where` argument, update it with this data.
1834
+ */
1835
+ update: Prisma.XOR<Prisma.ProjectUpdateInput, Prisma.ProjectUncheckedUpdateInput>
1836
+ }
1837
+
1838
+ /**
1839
+ * Project delete
1840
+ */
1841
+ export type ProjectDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1842
+ /**
1843
+ * Select specific fields to fetch from the Project
1844
+ */
1845
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1846
+ /**
1847
+ * Omit specific fields from the Project
1848
+ */
1849
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1850
+ /**
1851
+ * Choose, which related nodes to fetch as well
1852
+ */
1853
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1854
+ /**
1855
+ * Filter which Project to delete.
1856
+ */
1857
+ where: Prisma.ProjectWhereUniqueInput
1858
+ }
1859
+
1860
+ /**
1861
+ * Project deleteMany
1862
+ */
1863
+ export type ProjectDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1864
+ /**
1865
+ * Filter which Projects to delete
1866
+ */
1867
+ where?: Prisma.ProjectWhereInput
1868
+ /**
1869
+ * Limit how many Projects to delete.
1870
+ */
1871
+ limit?: number
1872
+ }
1873
+
1874
+ /**
1875
+ * Project.tasks
1876
+ */
1877
+ export type Project$tasksArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1878
+ /**
1879
+ * Select specific fields to fetch from the Task
1880
+ */
1881
+ select?: Prisma.TaskSelect<ExtArgs> | null
1882
+ /**
1883
+ * Omit specific fields from the Task
1884
+ */
1885
+ omit?: Prisma.TaskOmit<ExtArgs> | null
1886
+ /**
1887
+ * Choose, which related nodes to fetch as well
1888
+ */
1889
+ include?: Prisma.TaskInclude<ExtArgs> | null
1890
+ where?: Prisma.TaskWhereInput
1891
+ orderBy?: Prisma.TaskOrderByWithRelationInput | Prisma.TaskOrderByWithRelationInput[]
1892
+ cursor?: Prisma.TaskWhereUniqueInput
1893
+ take?: number
1894
+ skip?: number
1895
+ distinct?: Prisma.TaskScalarFieldEnum | Prisma.TaskScalarFieldEnum[]
1896
+ }
1897
+
1898
+ /**
1899
+ * Project.timeEntries
1900
+ */
1901
+ export type Project$timeEntriesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1902
+ /**
1903
+ * Select specific fields to fetch from the TimeEntry
1904
+ */
1905
+ select?: Prisma.TimeEntrySelect<ExtArgs> | null
1906
+ /**
1907
+ * Omit specific fields from the TimeEntry
1908
+ */
1909
+ omit?: Prisma.TimeEntryOmit<ExtArgs> | null
1910
+ /**
1911
+ * Choose, which related nodes to fetch as well
1912
+ */
1913
+ include?: Prisma.TimeEntryInclude<ExtArgs> | null
1914
+ where?: Prisma.TimeEntryWhereInput
1915
+ orderBy?: Prisma.TimeEntryOrderByWithRelationInput | Prisma.TimeEntryOrderByWithRelationInput[]
1916
+ cursor?: Prisma.TimeEntryWhereUniqueInput
1917
+ take?: number
1918
+ skip?: number
1919
+ distinct?: Prisma.TimeEntryScalarFieldEnum | Prisma.TimeEntryScalarFieldEnum[]
1920
+ }
1921
+
1922
+ /**
1923
+ * Project.customer
1924
+ */
1925
+ export type Project$customerArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1926
+ /**
1927
+ * Select specific fields to fetch from the Customer
1928
+ */
1929
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1930
+ /**
1931
+ * Omit specific fields from the Customer
1932
+ */
1933
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1934
+ /**
1935
+ * Choose, which related nodes to fetch as well
1936
+ */
1937
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1938
+ where?: Prisma.CustomerWhereInput
1939
+ }
1940
+
1941
+ /**
1942
+ * Project.invoices
1943
+ */
1944
+ export type Project$invoicesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1945
+ /**
1946
+ * Select specific fields to fetch from the Invoice
1947
+ */
1948
+ select?: Prisma.InvoiceSelect<ExtArgs> | null
1949
+ /**
1950
+ * Omit specific fields from the Invoice
1951
+ */
1952
+ omit?: Prisma.InvoiceOmit<ExtArgs> | null
1953
+ /**
1954
+ * Choose, which related nodes to fetch as well
1955
+ */
1956
+ include?: Prisma.InvoiceInclude<ExtArgs> | null
1957
+ where?: Prisma.InvoiceWhereInput
1958
+ orderBy?: Prisma.InvoiceOrderByWithRelationInput | Prisma.InvoiceOrderByWithRelationInput[]
1959
+ cursor?: Prisma.InvoiceWhereUniqueInput
1960
+ take?: number
1961
+ skip?: number
1962
+ distinct?: Prisma.InvoiceScalarFieldEnum | Prisma.InvoiceScalarFieldEnum[]
1963
+ }
1964
+
1965
+ /**
1966
+ * Project without action
1967
+ */
1968
+ export type ProjectDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1969
+ /**
1970
+ * Select specific fields to fetch from the Project
1971
+ */
1972
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1973
+ /**
1974
+ * Omit specific fields from the Project
1975
+ */
1976
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1977
+ /**
1978
+ * Choose, which related nodes to fetch as well
1979
+ */
1980
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1981
+ }