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,1489 @@
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 `Customer` 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 Customer
17
+ *
18
+ */
19
+ export type CustomerModel = runtime.Types.Result.DefaultSelection<Prisma.$CustomerPayload>
20
+
21
+ export type AggregateCustomer = {
22
+ _count: CustomerCountAggregateOutputType | null
23
+ _min: CustomerMinAggregateOutputType | null
24
+ _max: CustomerMaxAggregateOutputType | null
25
+ }
26
+
27
+ export type CustomerMinAggregateOutputType = {
28
+ id: string | null
29
+ name: string | null
30
+ email: string | null
31
+ stripeCustomerId: string | null
32
+ createdAt: Date | null
33
+ updatedAt: Date | null
34
+ }
35
+
36
+ export type CustomerMaxAggregateOutputType = {
37
+ id: string | null
38
+ name: string | null
39
+ email: string | null
40
+ stripeCustomerId: string | null
41
+ createdAt: Date | null
42
+ updatedAt: Date | null
43
+ }
44
+
45
+ export type CustomerCountAggregateOutputType = {
46
+ id: number
47
+ name: number
48
+ email: number
49
+ stripeCustomerId: number
50
+ createdAt: number
51
+ updatedAt: number
52
+ _all: number
53
+ }
54
+
55
+
56
+ export type CustomerMinAggregateInputType = {
57
+ id?: true
58
+ name?: true
59
+ email?: true
60
+ stripeCustomerId?: true
61
+ createdAt?: true
62
+ updatedAt?: true
63
+ }
64
+
65
+ export type CustomerMaxAggregateInputType = {
66
+ id?: true
67
+ name?: true
68
+ email?: true
69
+ stripeCustomerId?: true
70
+ createdAt?: true
71
+ updatedAt?: true
72
+ }
73
+
74
+ export type CustomerCountAggregateInputType = {
75
+ id?: true
76
+ name?: true
77
+ email?: true
78
+ stripeCustomerId?: true
79
+ createdAt?: true
80
+ updatedAt?: true
81
+ _all?: true
82
+ }
83
+
84
+ export type CustomerAggregateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
85
+ /**
86
+ * Filter which Customer to aggregate.
87
+ */
88
+ where?: Prisma.CustomerWhereInput
89
+ /**
90
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
91
+ *
92
+ * Determine the order of Customers to fetch.
93
+ */
94
+ orderBy?: Prisma.CustomerOrderByWithRelationInput | Prisma.CustomerOrderByWithRelationInput[]
95
+ /**
96
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
97
+ *
98
+ * Sets the start position
99
+ */
100
+ cursor?: Prisma.CustomerWhereUniqueInput
101
+ /**
102
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
103
+ *
104
+ * Take `±n` Customers from the position of the cursor.
105
+ */
106
+ take?: number
107
+ /**
108
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
109
+ *
110
+ * Skip the first `n` Customers.
111
+ */
112
+ skip?: number
113
+ /**
114
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
115
+ *
116
+ * Count returned Customers
117
+ **/
118
+ _count?: true | CustomerCountAggregateInputType
119
+ /**
120
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
121
+ *
122
+ * Select which fields to find the minimum value
123
+ **/
124
+ _min?: CustomerMinAggregateInputType
125
+ /**
126
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/aggregations Aggregation Docs}
127
+ *
128
+ * Select which fields to find the maximum value
129
+ **/
130
+ _max?: CustomerMaxAggregateInputType
131
+ }
132
+
133
+ export type GetCustomerAggregateType<T extends CustomerAggregateArgs> = {
134
+ [P in keyof T & keyof AggregateCustomer]: P extends '_count' | 'count'
135
+ ? T[P] extends true
136
+ ? number
137
+ : Prisma.GetScalarType<T[P], AggregateCustomer[P]>
138
+ : Prisma.GetScalarType<T[P], AggregateCustomer[P]>
139
+ }
140
+
141
+
142
+
143
+
144
+ export type CustomerGroupByArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
145
+ where?: Prisma.CustomerWhereInput
146
+ orderBy?: Prisma.CustomerOrderByWithAggregationInput | Prisma.CustomerOrderByWithAggregationInput[]
147
+ by: Prisma.CustomerScalarFieldEnum[] | Prisma.CustomerScalarFieldEnum
148
+ having?: Prisma.CustomerScalarWhereWithAggregatesInput
149
+ take?: number
150
+ skip?: number
151
+ _count?: CustomerCountAggregateInputType | true
152
+ _min?: CustomerMinAggregateInputType
153
+ _max?: CustomerMaxAggregateInputType
154
+ }
155
+
156
+ export type CustomerGroupByOutputType = {
157
+ id: string
158
+ name: string
159
+ email: string
160
+ stripeCustomerId: string | null
161
+ createdAt: Date
162
+ updatedAt: Date
163
+ _count: CustomerCountAggregateOutputType | null
164
+ _min: CustomerMinAggregateOutputType | null
165
+ _max: CustomerMaxAggregateOutputType | null
166
+ }
167
+
168
+ type GetCustomerGroupByPayload<T extends CustomerGroupByArgs> = Prisma.PrismaPromise<
169
+ Array<
170
+ Prisma.PickEnumerable<CustomerGroupByOutputType, T['by']> &
171
+ {
172
+ [P in ((keyof T) & (keyof CustomerGroupByOutputType))]: P extends '_count'
173
+ ? T[P] extends boolean
174
+ ? number
175
+ : Prisma.GetScalarType<T[P], CustomerGroupByOutputType[P]>
176
+ : Prisma.GetScalarType<T[P], CustomerGroupByOutputType[P]>
177
+ }
178
+ >
179
+ >
180
+
181
+
182
+
183
+ export type CustomerWhereInput = {
184
+ AND?: Prisma.CustomerWhereInput | Prisma.CustomerWhereInput[]
185
+ OR?: Prisma.CustomerWhereInput[]
186
+ NOT?: Prisma.CustomerWhereInput | Prisma.CustomerWhereInput[]
187
+ id?: Prisma.StringFilter<"Customer"> | string
188
+ name?: Prisma.StringFilter<"Customer"> | string
189
+ email?: Prisma.StringFilter<"Customer"> | string
190
+ stripeCustomerId?: Prisma.StringNullableFilter<"Customer"> | string | null
191
+ createdAt?: Prisma.DateTimeFilter<"Customer"> | Date | string
192
+ updatedAt?: Prisma.DateTimeFilter<"Customer"> | Date | string
193
+ projects?: Prisma.ProjectListRelationFilter
194
+ invoices?: Prisma.InvoiceListRelationFilter
195
+ }
196
+
197
+ export type CustomerOrderByWithRelationInput = {
198
+ id?: Prisma.SortOrder
199
+ name?: Prisma.SortOrder
200
+ email?: Prisma.SortOrder
201
+ stripeCustomerId?: Prisma.SortOrderInput | Prisma.SortOrder
202
+ createdAt?: Prisma.SortOrder
203
+ updatedAt?: Prisma.SortOrder
204
+ projects?: Prisma.ProjectOrderByRelationAggregateInput
205
+ invoices?: Prisma.InvoiceOrderByRelationAggregateInput
206
+ }
207
+
208
+ export type CustomerWhereUniqueInput = Prisma.AtLeast<{
209
+ id?: string
210
+ email?: string
211
+ AND?: Prisma.CustomerWhereInput | Prisma.CustomerWhereInput[]
212
+ OR?: Prisma.CustomerWhereInput[]
213
+ NOT?: Prisma.CustomerWhereInput | Prisma.CustomerWhereInput[]
214
+ name?: Prisma.StringFilter<"Customer"> | string
215
+ stripeCustomerId?: Prisma.StringNullableFilter<"Customer"> | string | null
216
+ createdAt?: Prisma.DateTimeFilter<"Customer"> | Date | string
217
+ updatedAt?: Prisma.DateTimeFilter<"Customer"> | Date | string
218
+ projects?: Prisma.ProjectListRelationFilter
219
+ invoices?: Prisma.InvoiceListRelationFilter
220
+ }, "id" | "email">
221
+
222
+ export type CustomerOrderByWithAggregationInput = {
223
+ id?: Prisma.SortOrder
224
+ name?: Prisma.SortOrder
225
+ email?: Prisma.SortOrder
226
+ stripeCustomerId?: Prisma.SortOrderInput | Prisma.SortOrder
227
+ createdAt?: Prisma.SortOrder
228
+ updatedAt?: Prisma.SortOrder
229
+ _count?: Prisma.CustomerCountOrderByAggregateInput
230
+ _max?: Prisma.CustomerMaxOrderByAggregateInput
231
+ _min?: Prisma.CustomerMinOrderByAggregateInput
232
+ }
233
+
234
+ export type CustomerScalarWhereWithAggregatesInput = {
235
+ AND?: Prisma.CustomerScalarWhereWithAggregatesInput | Prisma.CustomerScalarWhereWithAggregatesInput[]
236
+ OR?: Prisma.CustomerScalarWhereWithAggregatesInput[]
237
+ NOT?: Prisma.CustomerScalarWhereWithAggregatesInput | Prisma.CustomerScalarWhereWithAggregatesInput[]
238
+ id?: Prisma.StringWithAggregatesFilter<"Customer"> | string
239
+ name?: Prisma.StringWithAggregatesFilter<"Customer"> | string
240
+ email?: Prisma.StringWithAggregatesFilter<"Customer"> | string
241
+ stripeCustomerId?: Prisma.StringNullableWithAggregatesFilter<"Customer"> | string | null
242
+ createdAt?: Prisma.DateTimeWithAggregatesFilter<"Customer"> | Date | string
243
+ updatedAt?: Prisma.DateTimeWithAggregatesFilter<"Customer"> | Date | string
244
+ }
245
+
246
+ export type CustomerCreateInput = {
247
+ id?: string
248
+ name: string
249
+ email: string
250
+ stripeCustomerId?: string | null
251
+ createdAt?: Date | string
252
+ updatedAt?: Date | string
253
+ projects?: Prisma.ProjectCreateNestedManyWithoutCustomerInput
254
+ invoices?: Prisma.InvoiceCreateNestedManyWithoutCustomerInput
255
+ }
256
+
257
+ export type CustomerUncheckedCreateInput = {
258
+ id?: string
259
+ name: string
260
+ email: string
261
+ stripeCustomerId?: string | null
262
+ createdAt?: Date | string
263
+ updatedAt?: Date | string
264
+ projects?: Prisma.ProjectUncheckedCreateNestedManyWithoutCustomerInput
265
+ invoices?: Prisma.InvoiceUncheckedCreateNestedManyWithoutCustomerInput
266
+ }
267
+
268
+ export type CustomerUpdateInput = {
269
+ id?: Prisma.StringFieldUpdateOperationsInput | string
270
+ name?: Prisma.StringFieldUpdateOperationsInput | string
271
+ email?: Prisma.StringFieldUpdateOperationsInput | string
272
+ stripeCustomerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
273
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
274
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
275
+ projects?: Prisma.ProjectUpdateManyWithoutCustomerNestedInput
276
+ invoices?: Prisma.InvoiceUpdateManyWithoutCustomerNestedInput
277
+ }
278
+
279
+ export type CustomerUncheckedUpdateInput = {
280
+ id?: Prisma.StringFieldUpdateOperationsInput | string
281
+ name?: Prisma.StringFieldUpdateOperationsInput | string
282
+ email?: Prisma.StringFieldUpdateOperationsInput | string
283
+ stripeCustomerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
284
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
285
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
286
+ projects?: Prisma.ProjectUncheckedUpdateManyWithoutCustomerNestedInput
287
+ invoices?: Prisma.InvoiceUncheckedUpdateManyWithoutCustomerNestedInput
288
+ }
289
+
290
+ export type CustomerCreateManyInput = {
291
+ id?: string
292
+ name: string
293
+ email: string
294
+ stripeCustomerId?: string | null
295
+ createdAt?: Date | string
296
+ updatedAt?: Date | string
297
+ }
298
+
299
+ export type CustomerUpdateManyMutationInput = {
300
+ id?: Prisma.StringFieldUpdateOperationsInput | string
301
+ name?: Prisma.StringFieldUpdateOperationsInput | string
302
+ email?: Prisma.StringFieldUpdateOperationsInput | string
303
+ stripeCustomerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
304
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
305
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
306
+ }
307
+
308
+ export type CustomerUncheckedUpdateManyInput = {
309
+ id?: Prisma.StringFieldUpdateOperationsInput | string
310
+ name?: Prisma.StringFieldUpdateOperationsInput | string
311
+ email?: Prisma.StringFieldUpdateOperationsInput | string
312
+ stripeCustomerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
313
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
314
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
315
+ }
316
+
317
+ export type CustomerCountOrderByAggregateInput = {
318
+ id?: Prisma.SortOrder
319
+ name?: Prisma.SortOrder
320
+ email?: Prisma.SortOrder
321
+ stripeCustomerId?: Prisma.SortOrder
322
+ createdAt?: Prisma.SortOrder
323
+ updatedAt?: Prisma.SortOrder
324
+ }
325
+
326
+ export type CustomerMaxOrderByAggregateInput = {
327
+ id?: Prisma.SortOrder
328
+ name?: Prisma.SortOrder
329
+ email?: Prisma.SortOrder
330
+ stripeCustomerId?: Prisma.SortOrder
331
+ createdAt?: Prisma.SortOrder
332
+ updatedAt?: Prisma.SortOrder
333
+ }
334
+
335
+ export type CustomerMinOrderByAggregateInput = {
336
+ id?: Prisma.SortOrder
337
+ name?: Prisma.SortOrder
338
+ email?: Prisma.SortOrder
339
+ stripeCustomerId?: Prisma.SortOrder
340
+ createdAt?: Prisma.SortOrder
341
+ updatedAt?: Prisma.SortOrder
342
+ }
343
+
344
+ export type CustomerNullableScalarRelationFilter = {
345
+ is?: Prisma.CustomerWhereInput | null
346
+ isNot?: Prisma.CustomerWhereInput | null
347
+ }
348
+
349
+ export type CustomerScalarRelationFilter = {
350
+ is?: Prisma.CustomerWhereInput
351
+ isNot?: Prisma.CustomerWhereInput
352
+ }
353
+
354
+ export type StringFieldUpdateOperationsInput = {
355
+ set?: string
356
+ }
357
+
358
+ export type NullableStringFieldUpdateOperationsInput = {
359
+ set?: string | null
360
+ }
361
+
362
+ export type DateTimeFieldUpdateOperationsInput = {
363
+ set?: Date | string
364
+ }
365
+
366
+ export type CustomerCreateNestedOneWithoutProjectsInput = {
367
+ create?: Prisma.XOR<Prisma.CustomerCreateWithoutProjectsInput, Prisma.CustomerUncheckedCreateWithoutProjectsInput>
368
+ connectOrCreate?: Prisma.CustomerCreateOrConnectWithoutProjectsInput
369
+ connect?: Prisma.CustomerWhereUniqueInput
370
+ }
371
+
372
+ export type CustomerUpdateOneWithoutProjectsNestedInput = {
373
+ create?: Prisma.XOR<Prisma.CustomerCreateWithoutProjectsInput, Prisma.CustomerUncheckedCreateWithoutProjectsInput>
374
+ connectOrCreate?: Prisma.CustomerCreateOrConnectWithoutProjectsInput
375
+ upsert?: Prisma.CustomerUpsertWithoutProjectsInput
376
+ disconnect?: Prisma.CustomerWhereInput | boolean
377
+ delete?: Prisma.CustomerWhereInput | boolean
378
+ connect?: Prisma.CustomerWhereUniqueInput
379
+ update?: Prisma.XOR<Prisma.XOR<Prisma.CustomerUpdateToOneWithWhereWithoutProjectsInput, Prisma.CustomerUpdateWithoutProjectsInput>, Prisma.CustomerUncheckedUpdateWithoutProjectsInput>
380
+ }
381
+
382
+ export type CustomerCreateNestedOneWithoutInvoicesInput = {
383
+ create?: Prisma.XOR<Prisma.CustomerCreateWithoutInvoicesInput, Prisma.CustomerUncheckedCreateWithoutInvoicesInput>
384
+ connectOrCreate?: Prisma.CustomerCreateOrConnectWithoutInvoicesInput
385
+ connect?: Prisma.CustomerWhereUniqueInput
386
+ }
387
+
388
+ export type CustomerUpdateOneRequiredWithoutInvoicesNestedInput = {
389
+ create?: Prisma.XOR<Prisma.CustomerCreateWithoutInvoicesInput, Prisma.CustomerUncheckedCreateWithoutInvoicesInput>
390
+ connectOrCreate?: Prisma.CustomerCreateOrConnectWithoutInvoicesInput
391
+ upsert?: Prisma.CustomerUpsertWithoutInvoicesInput
392
+ connect?: Prisma.CustomerWhereUniqueInput
393
+ update?: Prisma.XOR<Prisma.XOR<Prisma.CustomerUpdateToOneWithWhereWithoutInvoicesInput, Prisma.CustomerUpdateWithoutInvoicesInput>, Prisma.CustomerUncheckedUpdateWithoutInvoicesInput>
394
+ }
395
+
396
+ export type CustomerCreateWithoutProjectsInput = {
397
+ id?: string
398
+ name: string
399
+ email: string
400
+ stripeCustomerId?: string | null
401
+ createdAt?: Date | string
402
+ updatedAt?: Date | string
403
+ invoices?: Prisma.InvoiceCreateNestedManyWithoutCustomerInput
404
+ }
405
+
406
+ export type CustomerUncheckedCreateWithoutProjectsInput = {
407
+ id?: string
408
+ name: string
409
+ email: string
410
+ stripeCustomerId?: string | null
411
+ createdAt?: Date | string
412
+ updatedAt?: Date | string
413
+ invoices?: Prisma.InvoiceUncheckedCreateNestedManyWithoutCustomerInput
414
+ }
415
+
416
+ export type CustomerCreateOrConnectWithoutProjectsInput = {
417
+ where: Prisma.CustomerWhereUniqueInput
418
+ create: Prisma.XOR<Prisma.CustomerCreateWithoutProjectsInput, Prisma.CustomerUncheckedCreateWithoutProjectsInput>
419
+ }
420
+
421
+ export type CustomerUpsertWithoutProjectsInput = {
422
+ update: Prisma.XOR<Prisma.CustomerUpdateWithoutProjectsInput, Prisma.CustomerUncheckedUpdateWithoutProjectsInput>
423
+ create: Prisma.XOR<Prisma.CustomerCreateWithoutProjectsInput, Prisma.CustomerUncheckedCreateWithoutProjectsInput>
424
+ where?: Prisma.CustomerWhereInput
425
+ }
426
+
427
+ export type CustomerUpdateToOneWithWhereWithoutProjectsInput = {
428
+ where?: Prisma.CustomerWhereInput
429
+ data: Prisma.XOR<Prisma.CustomerUpdateWithoutProjectsInput, Prisma.CustomerUncheckedUpdateWithoutProjectsInput>
430
+ }
431
+
432
+ export type CustomerUpdateWithoutProjectsInput = {
433
+ id?: Prisma.StringFieldUpdateOperationsInput | string
434
+ name?: Prisma.StringFieldUpdateOperationsInput | string
435
+ email?: Prisma.StringFieldUpdateOperationsInput | string
436
+ stripeCustomerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
437
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
438
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
439
+ invoices?: Prisma.InvoiceUpdateManyWithoutCustomerNestedInput
440
+ }
441
+
442
+ export type CustomerUncheckedUpdateWithoutProjectsInput = {
443
+ id?: Prisma.StringFieldUpdateOperationsInput | string
444
+ name?: Prisma.StringFieldUpdateOperationsInput | string
445
+ email?: Prisma.StringFieldUpdateOperationsInput | string
446
+ stripeCustomerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
447
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
448
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
449
+ invoices?: Prisma.InvoiceUncheckedUpdateManyWithoutCustomerNestedInput
450
+ }
451
+
452
+ export type CustomerCreateWithoutInvoicesInput = {
453
+ id?: string
454
+ name: string
455
+ email: string
456
+ stripeCustomerId?: string | null
457
+ createdAt?: Date | string
458
+ updatedAt?: Date | string
459
+ projects?: Prisma.ProjectCreateNestedManyWithoutCustomerInput
460
+ }
461
+
462
+ export type CustomerUncheckedCreateWithoutInvoicesInput = {
463
+ id?: string
464
+ name: string
465
+ email: string
466
+ stripeCustomerId?: string | null
467
+ createdAt?: Date | string
468
+ updatedAt?: Date | string
469
+ projects?: Prisma.ProjectUncheckedCreateNestedManyWithoutCustomerInput
470
+ }
471
+
472
+ export type CustomerCreateOrConnectWithoutInvoicesInput = {
473
+ where: Prisma.CustomerWhereUniqueInput
474
+ create: Prisma.XOR<Prisma.CustomerCreateWithoutInvoicesInput, Prisma.CustomerUncheckedCreateWithoutInvoicesInput>
475
+ }
476
+
477
+ export type CustomerUpsertWithoutInvoicesInput = {
478
+ update: Prisma.XOR<Prisma.CustomerUpdateWithoutInvoicesInput, Prisma.CustomerUncheckedUpdateWithoutInvoicesInput>
479
+ create: Prisma.XOR<Prisma.CustomerCreateWithoutInvoicesInput, Prisma.CustomerUncheckedCreateWithoutInvoicesInput>
480
+ where?: Prisma.CustomerWhereInput
481
+ }
482
+
483
+ export type CustomerUpdateToOneWithWhereWithoutInvoicesInput = {
484
+ where?: Prisma.CustomerWhereInput
485
+ data: Prisma.XOR<Prisma.CustomerUpdateWithoutInvoicesInput, Prisma.CustomerUncheckedUpdateWithoutInvoicesInput>
486
+ }
487
+
488
+ export type CustomerUpdateWithoutInvoicesInput = {
489
+ id?: Prisma.StringFieldUpdateOperationsInput | string
490
+ name?: Prisma.StringFieldUpdateOperationsInput | string
491
+ email?: Prisma.StringFieldUpdateOperationsInput | string
492
+ stripeCustomerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
493
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
494
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
495
+ projects?: Prisma.ProjectUpdateManyWithoutCustomerNestedInput
496
+ }
497
+
498
+ export type CustomerUncheckedUpdateWithoutInvoicesInput = {
499
+ id?: Prisma.StringFieldUpdateOperationsInput | string
500
+ name?: Prisma.StringFieldUpdateOperationsInput | string
501
+ email?: Prisma.StringFieldUpdateOperationsInput | string
502
+ stripeCustomerId?: Prisma.NullableStringFieldUpdateOperationsInput | string | null
503
+ createdAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
504
+ updatedAt?: Prisma.DateTimeFieldUpdateOperationsInput | Date | string
505
+ projects?: Prisma.ProjectUncheckedUpdateManyWithoutCustomerNestedInput
506
+ }
507
+
508
+
509
+ /**
510
+ * Count Type CustomerCountOutputType
511
+ */
512
+
513
+ export type CustomerCountOutputType = {
514
+ projects: number
515
+ invoices: number
516
+ }
517
+
518
+ export type CustomerCountOutputTypeSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
519
+ projects?: boolean | CustomerCountOutputTypeCountProjectsArgs
520
+ invoices?: boolean | CustomerCountOutputTypeCountInvoicesArgs
521
+ }
522
+
523
+ /**
524
+ * CustomerCountOutputType without action
525
+ */
526
+ export type CustomerCountOutputTypeDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
527
+ /**
528
+ * Select specific fields to fetch from the CustomerCountOutputType
529
+ */
530
+ select?: Prisma.CustomerCountOutputTypeSelect<ExtArgs> | null
531
+ }
532
+
533
+ /**
534
+ * CustomerCountOutputType without action
535
+ */
536
+ export type CustomerCountOutputTypeCountProjectsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
537
+ where?: Prisma.ProjectWhereInput
538
+ }
539
+
540
+ /**
541
+ * CustomerCountOutputType without action
542
+ */
543
+ export type CustomerCountOutputTypeCountInvoicesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
544
+ where?: Prisma.InvoiceWhereInput
545
+ }
546
+
547
+
548
+ export type CustomerSelect<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
549
+ id?: boolean
550
+ name?: boolean
551
+ email?: boolean
552
+ stripeCustomerId?: boolean
553
+ createdAt?: boolean
554
+ updatedAt?: boolean
555
+ projects?: boolean | Prisma.Customer$projectsArgs<ExtArgs>
556
+ invoices?: boolean | Prisma.Customer$invoicesArgs<ExtArgs>
557
+ _count?: boolean | Prisma.CustomerCountOutputTypeDefaultArgs<ExtArgs>
558
+ }, ExtArgs["result"]["customer"]>
559
+
560
+ export type CustomerSelectCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
561
+ id?: boolean
562
+ name?: boolean
563
+ email?: boolean
564
+ stripeCustomerId?: boolean
565
+ createdAt?: boolean
566
+ updatedAt?: boolean
567
+ }, ExtArgs["result"]["customer"]>
568
+
569
+ export type CustomerSelectUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetSelect<{
570
+ id?: boolean
571
+ name?: boolean
572
+ email?: boolean
573
+ stripeCustomerId?: boolean
574
+ createdAt?: boolean
575
+ updatedAt?: boolean
576
+ }, ExtArgs["result"]["customer"]>
577
+
578
+ export type CustomerSelectScalar = {
579
+ id?: boolean
580
+ name?: boolean
581
+ email?: boolean
582
+ stripeCustomerId?: boolean
583
+ createdAt?: boolean
584
+ updatedAt?: boolean
585
+ }
586
+
587
+ export type CustomerOmit<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = runtime.Types.Extensions.GetOmit<"id" | "name" | "email" | "stripeCustomerId" | "createdAt" | "updatedAt", ExtArgs["result"]["customer"]>
588
+ export type CustomerInclude<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
589
+ projects?: boolean | Prisma.Customer$projectsArgs<ExtArgs>
590
+ invoices?: boolean | Prisma.Customer$invoicesArgs<ExtArgs>
591
+ _count?: boolean | Prisma.CustomerCountOutputTypeDefaultArgs<ExtArgs>
592
+ }
593
+ export type CustomerIncludeCreateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
594
+ export type CustomerIncludeUpdateManyAndReturn<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {}
595
+
596
+ export type $CustomerPayload<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
597
+ name: "Customer"
598
+ objects: {
599
+ projects: Prisma.$ProjectPayload<ExtArgs>[]
600
+ invoices: Prisma.$InvoicePayload<ExtArgs>[]
601
+ }
602
+ scalars: runtime.Types.Extensions.GetPayloadResult<{
603
+ id: string
604
+ name: string
605
+ email: string
606
+ stripeCustomerId: string | null
607
+ createdAt: Date
608
+ updatedAt: Date
609
+ }, ExtArgs["result"]["customer"]>
610
+ composites: {}
611
+ }
612
+
613
+ export type CustomerGetPayload<S extends boolean | null | undefined | CustomerDefaultArgs> = runtime.Types.Result.GetResult<Prisma.$CustomerPayload, S>
614
+
615
+ export type CustomerCountArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> =
616
+ Omit<CustomerFindManyArgs, 'select' | 'include' | 'distinct' | 'omit'> & {
617
+ select?: CustomerCountAggregateInputType | true
618
+ }
619
+
620
+ export interface CustomerDelegate<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> {
621
+ [K: symbol]: { types: Prisma.TypeMap<ExtArgs>['model']['Customer'], meta: { name: 'Customer' } }
622
+ /**
623
+ * Find zero or one Customer that matches the filter.
624
+ * @param {CustomerFindUniqueArgs} args - Arguments to find a Customer
625
+ * @example
626
+ * // Get one Customer
627
+ * const customer = await prisma.customer.findUnique({
628
+ * where: {
629
+ * // ... provide filter here
630
+ * }
631
+ * })
632
+ */
633
+ findUnique<T extends CustomerFindUniqueArgs>(args: Prisma.SelectSubset<T, CustomerFindUniqueArgs<ExtArgs>>): Prisma.Prisma__CustomerClient<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "findUnique", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
634
+
635
+ /**
636
+ * Find one Customer that matches the filter or throw an error with `error.code='P2025'`
637
+ * if no matches were found.
638
+ * @param {CustomerFindUniqueOrThrowArgs} args - Arguments to find a Customer
639
+ * @example
640
+ * // Get one Customer
641
+ * const customer = await prisma.customer.findUniqueOrThrow({
642
+ * where: {
643
+ * // ... provide filter here
644
+ * }
645
+ * })
646
+ */
647
+ findUniqueOrThrow<T extends CustomerFindUniqueOrThrowArgs>(args: Prisma.SelectSubset<T, CustomerFindUniqueOrThrowArgs<ExtArgs>>): Prisma.Prisma__CustomerClient<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "findUniqueOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
648
+
649
+ /**
650
+ * Find the first Customer that matches the filter.
651
+ * Note, that providing `undefined` is treated as the value not being there.
652
+ * Read more here: https://pris.ly/d/null-undefined
653
+ * @param {CustomerFindFirstArgs} args - Arguments to find a Customer
654
+ * @example
655
+ * // Get one Customer
656
+ * const customer = await prisma.customer.findFirst({
657
+ * where: {
658
+ * // ... provide filter here
659
+ * }
660
+ * })
661
+ */
662
+ findFirst<T extends CustomerFindFirstArgs>(args?: Prisma.SelectSubset<T, CustomerFindFirstArgs<ExtArgs>>): Prisma.Prisma__CustomerClient<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "findFirst", GlobalOmitOptions> | null, null, ExtArgs, GlobalOmitOptions>
663
+
664
+ /**
665
+ * Find the first Customer that matches the filter or
666
+ * throw `PrismaKnownClientError` with `P2025` code if no matches were found.
667
+ * Note, that providing `undefined` is treated as the value not being there.
668
+ * Read more here: https://pris.ly/d/null-undefined
669
+ * @param {CustomerFindFirstOrThrowArgs} args - Arguments to find a Customer
670
+ * @example
671
+ * // Get one Customer
672
+ * const customer = await prisma.customer.findFirstOrThrow({
673
+ * where: {
674
+ * // ... provide filter here
675
+ * }
676
+ * })
677
+ */
678
+ findFirstOrThrow<T extends CustomerFindFirstOrThrowArgs>(args?: Prisma.SelectSubset<T, CustomerFindFirstOrThrowArgs<ExtArgs>>): Prisma.Prisma__CustomerClient<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "findFirstOrThrow", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
679
+
680
+ /**
681
+ * Find zero or more Customers that matches the filter.
682
+ * Note, that providing `undefined` is treated as the value not being there.
683
+ * Read more here: https://pris.ly/d/null-undefined
684
+ * @param {CustomerFindManyArgs} args - Arguments to filter and select certain fields only.
685
+ * @example
686
+ * // Get all Customers
687
+ * const customers = await prisma.customer.findMany()
688
+ *
689
+ * // Get first 10 Customers
690
+ * const customers = await prisma.customer.findMany({ take: 10 })
691
+ *
692
+ * // Only select the `id`
693
+ * const customerWithIdOnly = await prisma.customer.findMany({ select: { id: true } })
694
+ *
695
+ */
696
+ findMany<T extends CustomerFindManyArgs>(args?: Prisma.SelectSubset<T, CustomerFindManyArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "findMany", GlobalOmitOptions>>
697
+
698
+ /**
699
+ * Create a Customer.
700
+ * @param {CustomerCreateArgs} args - Arguments to create a Customer.
701
+ * @example
702
+ * // Create one Customer
703
+ * const Customer = await prisma.customer.create({
704
+ * data: {
705
+ * // ... data to create a Customer
706
+ * }
707
+ * })
708
+ *
709
+ */
710
+ create<T extends CustomerCreateArgs>(args: Prisma.SelectSubset<T, CustomerCreateArgs<ExtArgs>>): Prisma.Prisma__CustomerClient<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "create", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
711
+
712
+ /**
713
+ * Create many Customers.
714
+ * @param {CustomerCreateManyArgs} args - Arguments to create many Customers.
715
+ * @example
716
+ * // Create many Customers
717
+ * const customer = await prisma.customer.createMany({
718
+ * data: [
719
+ * // ... provide data here
720
+ * ]
721
+ * })
722
+ *
723
+ */
724
+ createMany<T extends CustomerCreateManyArgs>(args?: Prisma.SelectSubset<T, CustomerCreateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
725
+
726
+ /**
727
+ * Create many Customers and returns the data saved in the database.
728
+ * @param {CustomerCreateManyAndReturnArgs} args - Arguments to create many Customers.
729
+ * @example
730
+ * // Create many Customers
731
+ * const customer = await prisma.customer.createManyAndReturn({
732
+ * data: [
733
+ * // ... provide data here
734
+ * ]
735
+ * })
736
+ *
737
+ * // Create many Customers and only return the `id`
738
+ * const customerWithIdOnly = await prisma.customer.createManyAndReturn({
739
+ * select: { id: true },
740
+ * data: [
741
+ * // ... provide data here
742
+ * ]
743
+ * })
744
+ * Note, that providing `undefined` is treated as the value not being there.
745
+ * Read more here: https://pris.ly/d/null-undefined
746
+ *
747
+ */
748
+ createManyAndReturn<T extends CustomerCreateManyAndReturnArgs>(args?: Prisma.SelectSubset<T, CustomerCreateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "createManyAndReturn", GlobalOmitOptions>>
749
+
750
+ /**
751
+ * Delete a Customer.
752
+ * @param {CustomerDeleteArgs} args - Arguments to delete one Customer.
753
+ * @example
754
+ * // Delete one Customer
755
+ * const Customer = await prisma.customer.delete({
756
+ * where: {
757
+ * // ... filter to delete one Customer
758
+ * }
759
+ * })
760
+ *
761
+ */
762
+ delete<T extends CustomerDeleteArgs>(args: Prisma.SelectSubset<T, CustomerDeleteArgs<ExtArgs>>): Prisma.Prisma__CustomerClient<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "delete", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
763
+
764
+ /**
765
+ * Update one Customer.
766
+ * @param {CustomerUpdateArgs} args - Arguments to update one Customer.
767
+ * @example
768
+ * // Update one Customer
769
+ * const customer = await prisma.customer.update({
770
+ * where: {
771
+ * // ... provide filter here
772
+ * },
773
+ * data: {
774
+ * // ... provide data here
775
+ * }
776
+ * })
777
+ *
778
+ */
779
+ update<T extends CustomerUpdateArgs>(args: Prisma.SelectSubset<T, CustomerUpdateArgs<ExtArgs>>): Prisma.Prisma__CustomerClient<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "update", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
780
+
781
+ /**
782
+ * Delete zero or more Customers.
783
+ * @param {CustomerDeleteManyArgs} args - Arguments to filter Customers to delete.
784
+ * @example
785
+ * // Delete a few Customers
786
+ * const { count } = await prisma.customer.deleteMany({
787
+ * where: {
788
+ * // ... provide filter here
789
+ * }
790
+ * })
791
+ *
792
+ */
793
+ deleteMany<T extends CustomerDeleteManyArgs>(args?: Prisma.SelectSubset<T, CustomerDeleteManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
794
+
795
+ /**
796
+ * Update zero or more Customers.
797
+ * Note, that providing `undefined` is treated as the value not being there.
798
+ * Read more here: https://pris.ly/d/null-undefined
799
+ * @param {CustomerUpdateManyArgs} args - Arguments to update one or more rows.
800
+ * @example
801
+ * // Update many Customers
802
+ * const customer = await prisma.customer.updateMany({
803
+ * where: {
804
+ * // ... provide filter here
805
+ * },
806
+ * data: {
807
+ * // ... provide data here
808
+ * }
809
+ * })
810
+ *
811
+ */
812
+ updateMany<T extends CustomerUpdateManyArgs>(args: Prisma.SelectSubset<T, CustomerUpdateManyArgs<ExtArgs>>): Prisma.PrismaPromise<Prisma.BatchPayload>
813
+
814
+ /**
815
+ * Update zero or more Customers and returns the data updated in the database.
816
+ * @param {CustomerUpdateManyAndReturnArgs} args - Arguments to update many Customers.
817
+ * @example
818
+ * // Update many Customers
819
+ * const customer = await prisma.customer.updateManyAndReturn({
820
+ * where: {
821
+ * // ... provide filter here
822
+ * },
823
+ * data: [
824
+ * // ... provide data here
825
+ * ]
826
+ * })
827
+ *
828
+ * // Update zero or more Customers and only return the `id`
829
+ * const customerWithIdOnly = await prisma.customer.updateManyAndReturn({
830
+ * select: { id: true },
831
+ * where: {
832
+ * // ... provide filter here
833
+ * },
834
+ * data: [
835
+ * // ... provide data here
836
+ * ]
837
+ * })
838
+ * Note, that providing `undefined` is treated as the value not being there.
839
+ * Read more here: https://pris.ly/d/null-undefined
840
+ *
841
+ */
842
+ updateManyAndReturn<T extends CustomerUpdateManyAndReturnArgs>(args: Prisma.SelectSubset<T, CustomerUpdateManyAndReturnArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "updateManyAndReturn", GlobalOmitOptions>>
843
+
844
+ /**
845
+ * Create or update one Customer.
846
+ * @param {CustomerUpsertArgs} args - Arguments to update or create a Customer.
847
+ * @example
848
+ * // Update or create a Customer
849
+ * const customer = await prisma.customer.upsert({
850
+ * create: {
851
+ * // ... data to create a Customer
852
+ * },
853
+ * update: {
854
+ * // ... in case it already exists, update
855
+ * },
856
+ * where: {
857
+ * // ... the filter for the Customer we want to update
858
+ * }
859
+ * })
860
+ */
861
+ upsert<T extends CustomerUpsertArgs>(args: Prisma.SelectSubset<T, CustomerUpsertArgs<ExtArgs>>): Prisma.Prisma__CustomerClient<runtime.Types.Result.GetResult<Prisma.$CustomerPayload<ExtArgs>, T, "upsert", GlobalOmitOptions>, never, ExtArgs, GlobalOmitOptions>
862
+
863
+
864
+ /**
865
+ * Count the number of Customers.
866
+ * Note, that providing `undefined` is treated as the value not being there.
867
+ * Read more here: https://pris.ly/d/null-undefined
868
+ * @param {CustomerCountArgs} args - Arguments to filter Customers to count.
869
+ * @example
870
+ * // Count the number of Customers
871
+ * const count = await prisma.customer.count({
872
+ * where: {
873
+ * // ... the filter for the Customers we want to count
874
+ * }
875
+ * })
876
+ **/
877
+ count<T extends CustomerCountArgs>(
878
+ args?: Prisma.Subset<T, CustomerCountArgs>,
879
+ ): Prisma.PrismaPromise<
880
+ T extends runtime.Types.Utils.Record<'select', any>
881
+ ? T['select'] extends true
882
+ ? number
883
+ : Prisma.GetScalarType<T['select'], CustomerCountAggregateOutputType>
884
+ : number
885
+ >
886
+
887
+ /**
888
+ * Allows you to perform aggregations operations on a Customer.
889
+ * Note, that providing `undefined` is treated as the value not being there.
890
+ * Read more here: https://pris.ly/d/null-undefined
891
+ * @param {CustomerAggregateArgs} args - Select which aggregations you would like to apply and on what fields.
892
+ * @example
893
+ * // Ordered by age ascending
894
+ * // Where email contains prisma.io
895
+ * // Limited to the 10 users
896
+ * const aggregations = await prisma.user.aggregate({
897
+ * _avg: {
898
+ * age: true,
899
+ * },
900
+ * where: {
901
+ * email: {
902
+ * contains: "prisma.io",
903
+ * },
904
+ * },
905
+ * orderBy: {
906
+ * age: "asc",
907
+ * },
908
+ * take: 10,
909
+ * })
910
+ **/
911
+ aggregate<T extends CustomerAggregateArgs>(args: Prisma.Subset<T, CustomerAggregateArgs>): Prisma.PrismaPromise<GetCustomerAggregateType<T>>
912
+
913
+ /**
914
+ * Group by Customer.
915
+ * Note, that providing `undefined` is treated as the value not being there.
916
+ * Read more here: https://pris.ly/d/null-undefined
917
+ * @param {CustomerGroupByArgs} args - Group by arguments.
918
+ * @example
919
+ * // Group by city, order by createdAt, get count
920
+ * const result = await prisma.user.groupBy({
921
+ * by: ['city', 'createdAt'],
922
+ * orderBy: {
923
+ * createdAt: true
924
+ * },
925
+ * _count: {
926
+ * _all: true
927
+ * },
928
+ * })
929
+ *
930
+ **/
931
+ groupBy<
932
+ T extends CustomerGroupByArgs,
933
+ HasSelectOrTake extends Prisma.Or<
934
+ Prisma.Extends<'skip', Prisma.Keys<T>>,
935
+ Prisma.Extends<'take', Prisma.Keys<T>>
936
+ >,
937
+ OrderByArg extends Prisma.True extends HasSelectOrTake
938
+ ? { orderBy: CustomerGroupByArgs['orderBy'] }
939
+ : { orderBy?: CustomerGroupByArgs['orderBy'] },
940
+ OrderFields extends Prisma.ExcludeUnderscoreKeys<Prisma.Keys<Prisma.MaybeTupleToUnion<T['orderBy']>>>,
941
+ ByFields extends Prisma.MaybeTupleToUnion<T['by']>,
942
+ ByValid extends Prisma.Has<ByFields, OrderFields>,
943
+ HavingFields extends Prisma.GetHavingFields<T['having']>,
944
+ HavingValid extends Prisma.Has<ByFields, HavingFields>,
945
+ ByEmpty extends T['by'] extends never[] ? Prisma.True : Prisma.False,
946
+ InputErrors extends ByEmpty extends Prisma.True
947
+ ? `Error: "by" must not be empty.`
948
+ : HavingValid extends Prisma.False
949
+ ? {
950
+ [P in HavingFields]: P extends ByFields
951
+ ? never
952
+ : P extends string
953
+ ? `Error: Field "${P}" used in "having" needs to be provided in "by".`
954
+ : [
955
+ Error,
956
+ 'Field ',
957
+ P,
958
+ ` in "having" needs to be provided in "by"`,
959
+ ]
960
+ }[HavingFields]
961
+ : 'take' extends Prisma.Keys<T>
962
+ ? 'orderBy' extends Prisma.Keys<T>
963
+ ? ByValid extends Prisma.True
964
+ ? {}
965
+ : {
966
+ [P in OrderFields]: P extends ByFields
967
+ ? never
968
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
969
+ }[OrderFields]
970
+ : 'Error: If you provide "take", you also need to provide "orderBy"'
971
+ : 'skip' extends Prisma.Keys<T>
972
+ ? 'orderBy' extends Prisma.Keys<T>
973
+ ? ByValid extends Prisma.True
974
+ ? {}
975
+ : {
976
+ [P in OrderFields]: P extends ByFields
977
+ ? never
978
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
979
+ }[OrderFields]
980
+ : 'Error: If you provide "skip", you also need to provide "orderBy"'
981
+ : ByValid extends Prisma.True
982
+ ? {}
983
+ : {
984
+ [P in OrderFields]: P extends ByFields
985
+ ? never
986
+ : `Error: Field "${P}" in "orderBy" needs to be provided in "by"`
987
+ }[OrderFields]
988
+ >(args: Prisma.SubsetIntersection<T, CustomerGroupByArgs, OrderByArg> & InputErrors): {} extends InputErrors ? GetCustomerGroupByPayload<T> : Prisma.PrismaPromise<InputErrors>
989
+ /**
990
+ * Fields of the Customer model
991
+ */
992
+ readonly fields: CustomerFieldRefs;
993
+ }
994
+
995
+ /**
996
+ * The delegate class that acts as a "Promise-like" for Customer.
997
+ * Why is this prefixed with `Prisma__`?
998
+ * Because we want to prevent naming conflicts as mentioned in
999
+ * https://github.com/prisma/prisma-client-js/issues/707
1000
+ */
1001
+ export interface Prisma__CustomerClient<T, Null = never, ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs, GlobalOmitOptions = {}> extends Prisma.PrismaPromise<T> {
1002
+ readonly [Symbol.toStringTag]: "PrismaPromise"
1003
+ projects<T extends Prisma.Customer$projectsArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Customer$projectsArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$ProjectPayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
1004
+ invoices<T extends Prisma.Customer$invoicesArgs<ExtArgs> = {}>(args?: Prisma.Subset<T, Prisma.Customer$invoicesArgs<ExtArgs>>): Prisma.PrismaPromise<runtime.Types.Result.GetResult<Prisma.$InvoicePayload<ExtArgs>, T, "findMany", GlobalOmitOptions> | Null>
1005
+ /**
1006
+ * Attaches callbacks for the resolution and/or rejection of the Promise.
1007
+ * @param onfulfilled The callback to execute when the Promise is resolved.
1008
+ * @param onrejected The callback to execute when the Promise is rejected.
1009
+ * @returns A Promise for the completion of which ever callback is executed.
1010
+ */
1011
+ 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>
1012
+ /**
1013
+ * Attaches a callback for only the rejection of the Promise.
1014
+ * @param onrejected The callback to execute when the Promise is rejected.
1015
+ * @returns A Promise for the completion of the callback.
1016
+ */
1017
+ catch<TResult = never>(onrejected?: ((reason: any) => TResult | PromiseLike<TResult>) | undefined | null): runtime.Types.Utils.JsPromise<T | TResult>
1018
+ /**
1019
+ * Attaches a callback that is invoked when the Promise is settled (fulfilled or rejected). The
1020
+ * resolved value cannot be modified from the callback.
1021
+ * @param onfinally The callback to execute when the Promise is settled (fulfilled or rejected).
1022
+ * @returns A Promise for the completion of the callback.
1023
+ */
1024
+ finally(onfinally?: (() => void) | undefined | null): runtime.Types.Utils.JsPromise<T>
1025
+ }
1026
+
1027
+
1028
+
1029
+
1030
+ /**
1031
+ * Fields of the Customer model
1032
+ */
1033
+ export interface CustomerFieldRefs {
1034
+ readonly id: Prisma.FieldRef<"Customer", 'String'>
1035
+ readonly name: Prisma.FieldRef<"Customer", 'String'>
1036
+ readonly email: Prisma.FieldRef<"Customer", 'String'>
1037
+ readonly stripeCustomerId: Prisma.FieldRef<"Customer", 'String'>
1038
+ readonly createdAt: Prisma.FieldRef<"Customer", 'DateTime'>
1039
+ readonly updatedAt: Prisma.FieldRef<"Customer", 'DateTime'>
1040
+ }
1041
+
1042
+
1043
+ // Custom InputTypes
1044
+ /**
1045
+ * Customer findUnique
1046
+ */
1047
+ export type CustomerFindUniqueArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1048
+ /**
1049
+ * Select specific fields to fetch from the Customer
1050
+ */
1051
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1052
+ /**
1053
+ * Omit specific fields from the Customer
1054
+ */
1055
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1056
+ /**
1057
+ * Choose, which related nodes to fetch as well
1058
+ */
1059
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1060
+ /**
1061
+ * Filter, which Customer to fetch.
1062
+ */
1063
+ where: Prisma.CustomerWhereUniqueInput
1064
+ }
1065
+
1066
+ /**
1067
+ * Customer findUniqueOrThrow
1068
+ */
1069
+ export type CustomerFindUniqueOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1070
+ /**
1071
+ * Select specific fields to fetch from the Customer
1072
+ */
1073
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1074
+ /**
1075
+ * Omit specific fields from the Customer
1076
+ */
1077
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1078
+ /**
1079
+ * Choose, which related nodes to fetch as well
1080
+ */
1081
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1082
+ /**
1083
+ * Filter, which Customer to fetch.
1084
+ */
1085
+ where: Prisma.CustomerWhereUniqueInput
1086
+ }
1087
+
1088
+ /**
1089
+ * Customer findFirst
1090
+ */
1091
+ export type CustomerFindFirstArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1092
+ /**
1093
+ * Select specific fields to fetch from the Customer
1094
+ */
1095
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1096
+ /**
1097
+ * Omit specific fields from the Customer
1098
+ */
1099
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1100
+ /**
1101
+ * Choose, which related nodes to fetch as well
1102
+ */
1103
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1104
+ /**
1105
+ * Filter, which Customer to fetch.
1106
+ */
1107
+ where?: Prisma.CustomerWhereInput
1108
+ /**
1109
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1110
+ *
1111
+ * Determine the order of Customers to fetch.
1112
+ */
1113
+ orderBy?: Prisma.CustomerOrderByWithRelationInput | Prisma.CustomerOrderByWithRelationInput[]
1114
+ /**
1115
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1116
+ *
1117
+ * Sets the position for searching for Customers.
1118
+ */
1119
+ cursor?: Prisma.CustomerWhereUniqueInput
1120
+ /**
1121
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1122
+ *
1123
+ * Take `±n` Customers from the position of the cursor.
1124
+ */
1125
+ take?: number
1126
+ /**
1127
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1128
+ *
1129
+ * Skip the first `n` Customers.
1130
+ */
1131
+ skip?: number
1132
+ /**
1133
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1134
+ *
1135
+ * Filter by unique combinations of Customers.
1136
+ */
1137
+ distinct?: Prisma.CustomerScalarFieldEnum | Prisma.CustomerScalarFieldEnum[]
1138
+ }
1139
+
1140
+ /**
1141
+ * Customer findFirstOrThrow
1142
+ */
1143
+ export type CustomerFindFirstOrThrowArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1144
+ /**
1145
+ * Select specific fields to fetch from the Customer
1146
+ */
1147
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1148
+ /**
1149
+ * Omit specific fields from the Customer
1150
+ */
1151
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1152
+ /**
1153
+ * Choose, which related nodes to fetch as well
1154
+ */
1155
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1156
+ /**
1157
+ * Filter, which Customer to fetch.
1158
+ */
1159
+ where?: Prisma.CustomerWhereInput
1160
+ /**
1161
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1162
+ *
1163
+ * Determine the order of Customers to fetch.
1164
+ */
1165
+ orderBy?: Prisma.CustomerOrderByWithRelationInput | Prisma.CustomerOrderByWithRelationInput[]
1166
+ /**
1167
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1168
+ *
1169
+ * Sets the position for searching for Customers.
1170
+ */
1171
+ cursor?: Prisma.CustomerWhereUniqueInput
1172
+ /**
1173
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1174
+ *
1175
+ * Take `±n` Customers from the position of the cursor.
1176
+ */
1177
+ take?: number
1178
+ /**
1179
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1180
+ *
1181
+ * Skip the first `n` Customers.
1182
+ */
1183
+ skip?: number
1184
+ /**
1185
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/distinct Distinct Docs}
1186
+ *
1187
+ * Filter by unique combinations of Customers.
1188
+ */
1189
+ distinct?: Prisma.CustomerScalarFieldEnum | Prisma.CustomerScalarFieldEnum[]
1190
+ }
1191
+
1192
+ /**
1193
+ * Customer findMany
1194
+ */
1195
+ export type CustomerFindManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1196
+ /**
1197
+ * Select specific fields to fetch from the Customer
1198
+ */
1199
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1200
+ /**
1201
+ * Omit specific fields from the Customer
1202
+ */
1203
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1204
+ /**
1205
+ * Choose, which related nodes to fetch as well
1206
+ */
1207
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1208
+ /**
1209
+ * Filter, which Customers to fetch.
1210
+ */
1211
+ where?: Prisma.CustomerWhereInput
1212
+ /**
1213
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/sorting Sorting Docs}
1214
+ *
1215
+ * Determine the order of Customers to fetch.
1216
+ */
1217
+ orderBy?: Prisma.CustomerOrderByWithRelationInput | Prisma.CustomerOrderByWithRelationInput[]
1218
+ /**
1219
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination#cursor-based-pagination Cursor Docs}
1220
+ *
1221
+ * Sets the position for listing Customers.
1222
+ */
1223
+ cursor?: Prisma.CustomerWhereUniqueInput
1224
+ /**
1225
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1226
+ *
1227
+ * Take `±n` Customers from the position of the cursor.
1228
+ */
1229
+ take?: number
1230
+ /**
1231
+ * {@link https://www.prisma.io/docs/concepts/components/prisma-client/pagination Pagination Docs}
1232
+ *
1233
+ * Skip the first `n` Customers.
1234
+ */
1235
+ skip?: number
1236
+ distinct?: Prisma.CustomerScalarFieldEnum | Prisma.CustomerScalarFieldEnum[]
1237
+ }
1238
+
1239
+ /**
1240
+ * Customer create
1241
+ */
1242
+ export type CustomerCreateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1243
+ /**
1244
+ * Select specific fields to fetch from the Customer
1245
+ */
1246
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1247
+ /**
1248
+ * Omit specific fields from the Customer
1249
+ */
1250
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1251
+ /**
1252
+ * Choose, which related nodes to fetch as well
1253
+ */
1254
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1255
+ /**
1256
+ * The data needed to create a Customer.
1257
+ */
1258
+ data: Prisma.XOR<Prisma.CustomerCreateInput, Prisma.CustomerUncheckedCreateInput>
1259
+ }
1260
+
1261
+ /**
1262
+ * Customer createMany
1263
+ */
1264
+ export type CustomerCreateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1265
+ /**
1266
+ * The data used to create many Customers.
1267
+ */
1268
+ data: Prisma.CustomerCreateManyInput | Prisma.CustomerCreateManyInput[]
1269
+ }
1270
+
1271
+ /**
1272
+ * Customer createManyAndReturn
1273
+ */
1274
+ export type CustomerCreateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1275
+ /**
1276
+ * Select specific fields to fetch from the Customer
1277
+ */
1278
+ select?: Prisma.CustomerSelectCreateManyAndReturn<ExtArgs> | null
1279
+ /**
1280
+ * Omit specific fields from the Customer
1281
+ */
1282
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1283
+ /**
1284
+ * The data used to create many Customers.
1285
+ */
1286
+ data: Prisma.CustomerCreateManyInput | Prisma.CustomerCreateManyInput[]
1287
+ }
1288
+
1289
+ /**
1290
+ * Customer update
1291
+ */
1292
+ export type CustomerUpdateArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1293
+ /**
1294
+ * Select specific fields to fetch from the Customer
1295
+ */
1296
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1297
+ /**
1298
+ * Omit specific fields from the Customer
1299
+ */
1300
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1301
+ /**
1302
+ * Choose, which related nodes to fetch as well
1303
+ */
1304
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1305
+ /**
1306
+ * The data needed to update a Customer.
1307
+ */
1308
+ data: Prisma.XOR<Prisma.CustomerUpdateInput, Prisma.CustomerUncheckedUpdateInput>
1309
+ /**
1310
+ * Choose, which Customer to update.
1311
+ */
1312
+ where: Prisma.CustomerWhereUniqueInput
1313
+ }
1314
+
1315
+ /**
1316
+ * Customer updateMany
1317
+ */
1318
+ export type CustomerUpdateManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1319
+ /**
1320
+ * The data used to update Customers.
1321
+ */
1322
+ data: Prisma.XOR<Prisma.CustomerUpdateManyMutationInput, Prisma.CustomerUncheckedUpdateManyInput>
1323
+ /**
1324
+ * Filter which Customers to update
1325
+ */
1326
+ where?: Prisma.CustomerWhereInput
1327
+ /**
1328
+ * Limit how many Customers to update.
1329
+ */
1330
+ limit?: number
1331
+ }
1332
+
1333
+ /**
1334
+ * Customer updateManyAndReturn
1335
+ */
1336
+ export type CustomerUpdateManyAndReturnArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1337
+ /**
1338
+ * Select specific fields to fetch from the Customer
1339
+ */
1340
+ select?: Prisma.CustomerSelectUpdateManyAndReturn<ExtArgs> | null
1341
+ /**
1342
+ * Omit specific fields from the Customer
1343
+ */
1344
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1345
+ /**
1346
+ * The data used to update Customers.
1347
+ */
1348
+ data: Prisma.XOR<Prisma.CustomerUpdateManyMutationInput, Prisma.CustomerUncheckedUpdateManyInput>
1349
+ /**
1350
+ * Filter which Customers to update
1351
+ */
1352
+ where?: Prisma.CustomerWhereInput
1353
+ /**
1354
+ * Limit how many Customers to update.
1355
+ */
1356
+ limit?: number
1357
+ }
1358
+
1359
+ /**
1360
+ * Customer upsert
1361
+ */
1362
+ export type CustomerUpsertArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1363
+ /**
1364
+ * Select specific fields to fetch from the Customer
1365
+ */
1366
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1367
+ /**
1368
+ * Omit specific fields from the Customer
1369
+ */
1370
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1371
+ /**
1372
+ * Choose, which related nodes to fetch as well
1373
+ */
1374
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1375
+ /**
1376
+ * The filter to search for the Customer to update in case it exists.
1377
+ */
1378
+ where: Prisma.CustomerWhereUniqueInput
1379
+ /**
1380
+ * In case the Customer found by the `where` argument doesn't exist, create a new Customer with this data.
1381
+ */
1382
+ create: Prisma.XOR<Prisma.CustomerCreateInput, Prisma.CustomerUncheckedCreateInput>
1383
+ /**
1384
+ * In case the Customer was found with the provided `where` argument, update it with this data.
1385
+ */
1386
+ update: Prisma.XOR<Prisma.CustomerUpdateInput, Prisma.CustomerUncheckedUpdateInput>
1387
+ }
1388
+
1389
+ /**
1390
+ * Customer delete
1391
+ */
1392
+ export type CustomerDeleteArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1393
+ /**
1394
+ * Select specific fields to fetch from the Customer
1395
+ */
1396
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1397
+ /**
1398
+ * Omit specific fields from the Customer
1399
+ */
1400
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1401
+ /**
1402
+ * Choose, which related nodes to fetch as well
1403
+ */
1404
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1405
+ /**
1406
+ * Filter which Customer to delete.
1407
+ */
1408
+ where: Prisma.CustomerWhereUniqueInput
1409
+ }
1410
+
1411
+ /**
1412
+ * Customer deleteMany
1413
+ */
1414
+ export type CustomerDeleteManyArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1415
+ /**
1416
+ * Filter which Customers to delete
1417
+ */
1418
+ where?: Prisma.CustomerWhereInput
1419
+ /**
1420
+ * Limit how many Customers to delete.
1421
+ */
1422
+ limit?: number
1423
+ }
1424
+
1425
+ /**
1426
+ * Customer.projects
1427
+ */
1428
+ export type Customer$projectsArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1429
+ /**
1430
+ * Select specific fields to fetch from the Project
1431
+ */
1432
+ select?: Prisma.ProjectSelect<ExtArgs> | null
1433
+ /**
1434
+ * Omit specific fields from the Project
1435
+ */
1436
+ omit?: Prisma.ProjectOmit<ExtArgs> | null
1437
+ /**
1438
+ * Choose, which related nodes to fetch as well
1439
+ */
1440
+ include?: Prisma.ProjectInclude<ExtArgs> | null
1441
+ where?: Prisma.ProjectWhereInput
1442
+ orderBy?: Prisma.ProjectOrderByWithRelationInput | Prisma.ProjectOrderByWithRelationInput[]
1443
+ cursor?: Prisma.ProjectWhereUniqueInput
1444
+ take?: number
1445
+ skip?: number
1446
+ distinct?: Prisma.ProjectScalarFieldEnum | Prisma.ProjectScalarFieldEnum[]
1447
+ }
1448
+
1449
+ /**
1450
+ * Customer.invoices
1451
+ */
1452
+ export type Customer$invoicesArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1453
+ /**
1454
+ * Select specific fields to fetch from the Invoice
1455
+ */
1456
+ select?: Prisma.InvoiceSelect<ExtArgs> | null
1457
+ /**
1458
+ * Omit specific fields from the Invoice
1459
+ */
1460
+ omit?: Prisma.InvoiceOmit<ExtArgs> | null
1461
+ /**
1462
+ * Choose, which related nodes to fetch as well
1463
+ */
1464
+ include?: Prisma.InvoiceInclude<ExtArgs> | null
1465
+ where?: Prisma.InvoiceWhereInput
1466
+ orderBy?: Prisma.InvoiceOrderByWithRelationInput | Prisma.InvoiceOrderByWithRelationInput[]
1467
+ cursor?: Prisma.InvoiceWhereUniqueInput
1468
+ take?: number
1469
+ skip?: number
1470
+ distinct?: Prisma.InvoiceScalarFieldEnum | Prisma.InvoiceScalarFieldEnum[]
1471
+ }
1472
+
1473
+ /**
1474
+ * Customer without action
1475
+ */
1476
+ export type CustomerDefaultArgs<ExtArgs extends runtime.Types.Extensions.InternalArgs = runtime.Types.Extensions.DefaultArgs> = {
1477
+ /**
1478
+ * Select specific fields to fetch from the Customer
1479
+ */
1480
+ select?: Prisma.CustomerSelect<ExtArgs> | null
1481
+ /**
1482
+ * Omit specific fields from the Customer
1483
+ */
1484
+ omit?: Prisma.CustomerOmit<ExtArgs> | null
1485
+ /**
1486
+ * Choose, which related nodes to fetch as well
1487
+ */
1488
+ include?: Prisma.CustomerInclude<ExtArgs> | null
1489
+ }