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