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