@routeflow/types 1.0.5 → 1.0.7
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.
- package/dist/exports.d.ts +287 -12
- package/dist/exports.d.ts.map +1 -1
- package/dist/index.d.ts +4826 -1945
- package/dist/index.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/exports.ts +394 -15
- package/src/index.ts +4826 -1945
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"name":"@routeflow/types","version":"1.0.
|
|
1
|
+
{"name":"@routeflow/types","version":"1.0.7","description":"Auto-generated TypeScript types from the RouteFlow API OpenAPI specification","main":"dist/exports.js","types":"dist/exports.d.ts","exports":{".":{"types":"./dist/exports.d.ts","default":"./dist/exports.js"},"./raw":{"types":"./dist/index.d.ts","default":"./dist/index.js"}},"files":["dist","src"],"scripts":{"generate":"openapi-typescript http://localhost:3001/api/docs-json -o src/index.ts","generate:prod":"openapi-typescript https://api.routeflow.app/api/docs-json -o src/index.ts","build":"tsc","type-check":"tsc --noEmit","prepublishOnly":"npm run build"},"repository":{"type":"git","url":"git+https://github.com/souldevsoul/routeflow-types.git"},"keywords":["routeflow","api","types","typescript","openapi"],"author":"S2S Engineering","license":"MIT","devDependencies":{"openapi-typescript":"^7.4.3","typescript":"^5.7.2"},"publishConfig":{"access":"public"}}
|
package/src/exports.ts
CHANGED
|
@@ -83,7 +83,13 @@ export type DriverDispatchStatus =
|
|
|
83
83
|
|
|
84
84
|
export type CustomerType = 'BROKER' | 'SHIPPER' | 'CARRIER';
|
|
85
85
|
|
|
86
|
-
|
|
86
|
+
// New Driver Profile Enums
|
|
87
|
+
export type EmploymentStatus = 'ACTIVE' | 'TERMINATED' | 'APPLICANT';
|
|
88
|
+
export type CdlClass = 'A' | 'B' | 'C';
|
|
89
|
+
export type ComplianceStatus = 'COMPLIANT' | 'WARNING' | 'EXPIRED' | 'PENDING';
|
|
90
|
+
export type DriverType = 'SOLO' | 'TEAM';
|
|
91
|
+
|
|
92
|
+
// export type StatementStatus = 'DRAFT' | 'PENDING' | 'APPROVED' | 'PAID';
|
|
87
93
|
|
|
88
94
|
export type MessageType = 'TEXT' | 'IMAGE' | 'DOCUMENT' | 'SYSTEM';
|
|
89
95
|
|
|
@@ -93,6 +99,32 @@ export type ExtractedAssetType = 'DRIVER' | 'TRUCK' | 'TRAILER';
|
|
|
93
99
|
|
|
94
100
|
export type ExtractedAssetStatus = 'PENDING' | 'APPROVED' | 'REJECTED' | 'MERGED';
|
|
95
101
|
|
|
102
|
+
// Email-to-Run Feature Enums
|
|
103
|
+
export type InboundEmailStatus =
|
|
104
|
+
| 'RECEIVED'
|
|
105
|
+
| 'PROCESSING'
|
|
106
|
+
| 'AWAITING_SIGNATURE'
|
|
107
|
+
| 'SIGNED'
|
|
108
|
+
| 'FORWARDED'
|
|
109
|
+
| 'COMPLETED'
|
|
110
|
+
| 'FAILED';
|
|
111
|
+
|
|
112
|
+
export type DocumentSourceType = 'UPLOAD' | 'TELEGRAM' | 'EMAIL' | 'API';
|
|
113
|
+
|
|
114
|
+
export type ExpenseType =
|
|
115
|
+
| 'FUEL'
|
|
116
|
+
| 'REPAIR'
|
|
117
|
+
| 'MAINTENANCE'
|
|
118
|
+
| 'TOLL'
|
|
119
|
+
| 'PARKING'
|
|
120
|
+
| 'SCALE'
|
|
121
|
+
| 'LUMPER'
|
|
122
|
+
| 'DETENTION'
|
|
123
|
+
| 'INSURANCE'
|
|
124
|
+
| 'OTHER';
|
|
125
|
+
|
|
126
|
+
export type ExpenseStatus = 'PENDING' | 'APPROVED' | 'REJECTED' | 'PAID';
|
|
127
|
+
|
|
96
128
|
// ============================================================================
|
|
97
129
|
// ENTITY TYPES - WITH Response DTOs (✅ Re-exported from generated types)
|
|
98
130
|
// ============================================================================
|
|
@@ -106,8 +138,8 @@ export type Message = components['schemas']['MessageResponseDto'];
|
|
|
106
138
|
export type MessageList = components['schemas']['MessageListResponseDto'];
|
|
107
139
|
|
|
108
140
|
// Statement (has ResponseDto in API)
|
|
109
|
-
export type DriverStatement = components['schemas']['StatementResponseDto'];
|
|
110
|
-
export type StatementList = components['schemas']['StatementListResponseDto'];
|
|
141
|
+
// export type DriverStatement = components['schemas']['StatementResponseDto'];
|
|
142
|
+
// export type StatementList = components['schemas']['StatementListResponseDto'];
|
|
111
143
|
|
|
112
144
|
// Referral (has ResponseDto in API)
|
|
113
145
|
export type Referral = components['schemas']['ReferralResponseDto'];
|
|
@@ -167,6 +199,51 @@ export interface Driver {
|
|
|
167
199
|
createdAt: string;
|
|
168
200
|
updatedAt: string;
|
|
169
201
|
user?: User;
|
|
202
|
+
|
|
203
|
+
// Address
|
|
204
|
+
streetAddress?: string | null;
|
|
205
|
+
city?: string | null;
|
|
206
|
+
state?: string | null;
|
|
207
|
+
zipCode?: string | null;
|
|
208
|
+
country?: string | null;
|
|
209
|
+
|
|
210
|
+
// Emergency Contact
|
|
211
|
+
emergencyName?: string | null;
|
|
212
|
+
emergencyPhone?: string | null;
|
|
213
|
+
|
|
214
|
+
// Employment
|
|
215
|
+
employmentStatus?: EmploymentStatus;
|
|
216
|
+
hireDate?: string | null;
|
|
217
|
+
terminationDate?: string | null;
|
|
218
|
+
|
|
219
|
+
// Compliance - CDL
|
|
220
|
+
cdlNumber?: string | null;
|
|
221
|
+
cdlState?: string | null;
|
|
222
|
+
cdlClass?: CdlClass | null;
|
|
223
|
+
cdlExpiry?: string | null;
|
|
224
|
+
cdlEndorsements?: string[];
|
|
225
|
+
|
|
226
|
+
// Compliance - Medical
|
|
227
|
+
medicalCardNumber?: string | null;
|
|
228
|
+
medicalCardExpiry?: string | null;
|
|
229
|
+
medicalExamDate?: string | null;
|
|
230
|
+
medicalExaminer?: string | null;
|
|
231
|
+
|
|
232
|
+
// Computed compliance status
|
|
233
|
+
complianceStatus?: ComplianceStatus;
|
|
234
|
+
complianceNotes?: string | null;
|
|
235
|
+
|
|
236
|
+
// Team driver
|
|
237
|
+
teamDriverId?: string | null;
|
|
238
|
+
teamDriver?: Driver | null;
|
|
239
|
+
teamPartner?: Driver | null;
|
|
240
|
+
isTeamLead?: boolean;
|
|
241
|
+
teamStartDate?: string | null;
|
|
242
|
+
driverType?: DriverType;
|
|
243
|
+
|
|
244
|
+
// Dispatcher
|
|
245
|
+
assignedDispatcherId?: string | null;
|
|
246
|
+
assignedDispatcher?: User | null;
|
|
170
247
|
}
|
|
171
248
|
|
|
172
249
|
export interface Run {
|
|
@@ -339,20 +416,171 @@ export interface ParsedDocument {
|
|
|
339
416
|
orgId: string;
|
|
340
417
|
createdAt: string;
|
|
341
418
|
updatedAt: string;
|
|
419
|
+
// Signing workflow fields
|
|
420
|
+
needsSignature: boolean;
|
|
421
|
+
signatureData: string | null;
|
|
422
|
+
signedAt: string | null;
|
|
423
|
+
signedByName: string | null;
|
|
424
|
+
signedByEmail: string | null;
|
|
425
|
+
signingToken: string | null;
|
|
426
|
+
signingTokenExp: string | null;
|
|
427
|
+
sourceType: DocumentSourceType;
|
|
428
|
+
sourceEmailId: string | null;
|
|
429
|
+
}
|
|
430
|
+
|
|
431
|
+
// ============================================================================
|
|
432
|
+
// EMAIL-TO-RUN FEATURE ENTITIES
|
|
433
|
+
// ============================================================================
|
|
434
|
+
|
|
435
|
+
export interface UserSignature {
|
|
436
|
+
id: string;
|
|
437
|
+
signatureData: string;
|
|
438
|
+
userId: string;
|
|
439
|
+
createdAt: string;
|
|
440
|
+
updatedAt: string;
|
|
441
|
+
}
|
|
442
|
+
|
|
443
|
+
export interface ClientEmail {
|
|
444
|
+
id: string;
|
|
445
|
+
localPart: string;
|
|
446
|
+
isActive: boolean;
|
|
447
|
+
forwardTo: string[];
|
|
448
|
+
orgId: string;
|
|
449
|
+
customerId: string | null;
|
|
450
|
+
createdAt: string;
|
|
451
|
+
updatedAt: string;
|
|
452
|
+
// Extended response fields
|
|
453
|
+
fullEmail?: string;
|
|
454
|
+
customerName?: string;
|
|
455
|
+
emailCount?: number;
|
|
456
|
+
lastEmailAt?: string | null;
|
|
342
457
|
}
|
|
343
458
|
|
|
344
|
-
export interface
|
|
345
|
-
|
|
346
|
-
|
|
459
|
+
export interface InboundEmail {
|
|
460
|
+
id: string;
|
|
461
|
+
messageId: string;
|
|
462
|
+
fromEmail: string;
|
|
463
|
+
fromName: string | null;
|
|
464
|
+
subject: string | null;
|
|
465
|
+
textBody: string | null;
|
|
466
|
+
htmlBody: string | null;
|
|
467
|
+
receivedAt: string;
|
|
468
|
+
processedAt: string | null;
|
|
469
|
+
status: InboundEmailStatus;
|
|
470
|
+
errorMessage: string | null;
|
|
471
|
+
clientEmailId: string;
|
|
472
|
+
attachments?: EmailAttachment[];
|
|
473
|
+
clientEmailLocalPart?: string;
|
|
474
|
+
}
|
|
475
|
+
|
|
476
|
+
export interface EmailAttachment {
|
|
477
|
+
id: string;
|
|
478
|
+
fileName: string;
|
|
479
|
+
mimeType: string;
|
|
480
|
+
fileSize: number;
|
|
481
|
+
fileUrl: string;
|
|
482
|
+
inboundEmailId: string;
|
|
483
|
+
parsedDocumentId: string | null;
|
|
484
|
+
}
|
|
485
|
+
|
|
486
|
+
export interface Expense {
|
|
487
|
+
id: string;
|
|
488
|
+
type: ExpenseType;
|
|
347
489
|
amount: number;
|
|
490
|
+
description: string | null;
|
|
491
|
+
date: string;
|
|
492
|
+
vendor: string | null;
|
|
493
|
+
receiptUrl: string | null;
|
|
494
|
+
status: ExpenseStatus;
|
|
495
|
+
aiConfidence: number | null;
|
|
496
|
+
aiMatchNotes: string | null;
|
|
497
|
+
sourceEmailId: string | null;
|
|
498
|
+
approvedById: string | null;
|
|
499
|
+
approvedAt: string | null;
|
|
500
|
+
rejectedById: string | null;
|
|
501
|
+
rejectedAt: string | null;
|
|
502
|
+
rejectionReason: string | null;
|
|
503
|
+
orgId: string;
|
|
504
|
+
runId: string | null;
|
|
505
|
+
driverId: string | null;
|
|
506
|
+
truckId: string | null;
|
|
507
|
+
trailerId: string | null;
|
|
508
|
+
createdAt: string;
|
|
509
|
+
updatedAt: string;
|
|
510
|
+
// Extended response fields
|
|
511
|
+
driverName?: string;
|
|
512
|
+
truckNumber?: string;
|
|
513
|
+
trailerNumber?: string;
|
|
514
|
+
runName?: string;
|
|
515
|
+
aiSuggestion?: ExpenseAISuggestion;
|
|
516
|
+
}
|
|
517
|
+
|
|
518
|
+
export interface ExpenseAISuggestion {
|
|
519
|
+
driverId?: string;
|
|
520
|
+
driverName?: string;
|
|
521
|
+
truckId?: string;
|
|
522
|
+
truckNumber?: string;
|
|
523
|
+
trailerId?: string;
|
|
524
|
+
trailerNumber?: string;
|
|
348
525
|
runId?: string;
|
|
526
|
+
runName?: string;
|
|
527
|
+
confidence: number;
|
|
528
|
+
}
|
|
529
|
+
|
|
530
|
+
export interface ExpenseStats {
|
|
531
|
+
totalPending: number;
|
|
532
|
+
totalApproved: number;
|
|
533
|
+
pendingAmount: number;
|
|
534
|
+
approvedAmount: number;
|
|
535
|
+
byType: Record<ExpenseType, number>;
|
|
536
|
+
}
|
|
537
|
+
|
|
538
|
+
// Document signing response
|
|
539
|
+
export interface DocumentToSign {
|
|
540
|
+
id: string;
|
|
541
|
+
documentUrl: string;
|
|
542
|
+
fileName: string | null;
|
|
543
|
+
mimeType: string | null;
|
|
544
|
+
isSigned: boolean;
|
|
545
|
+
signedAt: string | null;
|
|
546
|
+
isExpired: boolean;
|
|
547
|
+
expiresAt: string | null;
|
|
548
|
+
// Parsed data
|
|
549
|
+
brokerName?: string;
|
|
349
550
|
loadNumber?: string;
|
|
551
|
+
rate?: number;
|
|
552
|
+
pickupLocation?: string;
|
|
553
|
+
deliveryLocation?: string;
|
|
554
|
+
pickupDate?: string;
|
|
555
|
+
deliveryDate?: string;
|
|
556
|
+
equipmentType?: string;
|
|
557
|
+
commodity?: string;
|
|
558
|
+
weight?: number;
|
|
559
|
+
organizationName: string;
|
|
560
|
+
hasSavedSignature?: boolean;
|
|
561
|
+
savedSignaturePreview?: string;
|
|
350
562
|
}
|
|
351
563
|
|
|
352
|
-
|
|
353
|
-
|
|
354
|
-
|
|
564
|
+
export interface SignDocumentResponse {
|
|
565
|
+
success: boolean;
|
|
566
|
+
message: string;
|
|
567
|
+
createdRunId?: string;
|
|
568
|
+
forwarded?: boolean;
|
|
569
|
+
forwardedTo?: string[];
|
|
570
|
+
}
|
|
355
571
|
|
|
572
|
+
// export interface StatementLineItem {
|
|
573
|
+
// description: string;
|
|
574
|
+
// type: 'EARNING' | 'DEDUCTION';
|
|
575
|
+
// amount: number;
|
|
576
|
+
// runId?: string;
|
|
577
|
+
// loadNumber?: string;
|
|
578
|
+
// }
|
|
579
|
+
//
|
|
580
|
+
// // ============================================================================
|
|
581
|
+
// // AUTH RESPONSE TYPES
|
|
582
|
+
// // ============================================================================
|
|
583
|
+
//
|
|
356
584
|
export interface AuthResponse {
|
|
357
585
|
accessToken: string;
|
|
358
586
|
refreshToken: string;
|
|
@@ -467,9 +695,9 @@ export type CreateMessageDto = components['schemas']['CreateMessageDto'];
|
|
|
467
695
|
export type MarkReadDto = components['schemas']['MarkReadDto'];
|
|
468
696
|
|
|
469
697
|
// Statement DTOs
|
|
470
|
-
export type CreateStatementDto = components['schemas']['CreateStatementDto'];
|
|
471
|
-
export type UpdateStatementDto = components['schemas']['UpdateStatementDto'];
|
|
472
|
-
export type GenerateStatementDto = components['schemas']['GenerateStatementDto'];
|
|
698
|
+
// export type CreateStatementDto = components['schemas']['CreateStatementDto'];
|
|
699
|
+
// export type UpdateStatementDto = components['schemas']['UpdateStatementDto'];
|
|
700
|
+
// export type GenerateStatementDto = components['schemas']['GenerateStatementDto'];
|
|
473
701
|
|
|
474
702
|
// Referral DTOs
|
|
475
703
|
export type CreateReferralDto = components['schemas']['CreateReferralDto'];
|
|
@@ -484,6 +712,134 @@ export type MergeExtractionDto = components['schemas']['MergeExtractionDto'];
|
|
|
484
712
|
export type BulkApproveDto = components['schemas']['BulkApproveDto'];
|
|
485
713
|
export type BulkRejectDto = components['schemas']['BulkRejectDto'];
|
|
486
714
|
|
|
715
|
+
// Driver Management DTOs (new)
|
|
716
|
+
export type UpdateDriverDto = components['schemas']['UpdateDriverDto'];
|
|
717
|
+
export type UpdateComplianceDto = components['schemas']['UpdateComplianceDto'];
|
|
718
|
+
export type AssignDispatcherDto = components['schemas']['AssignDispatcherDto'];
|
|
719
|
+
export type LinkTeamDriverDto = components['schemas']['LinkTeamDriverDto'];
|
|
720
|
+
export type ReactivateRunDto = components['schemas']['ReactivateRunDto'];
|
|
721
|
+
export type CancelRunDto = components['schemas']['CancelRunDto'];
|
|
722
|
+
|
|
723
|
+
// Compliance Warning Response
|
|
724
|
+
export interface ComplianceWarning {
|
|
725
|
+
driverId: string;
|
|
726
|
+
driverName: string;
|
|
727
|
+
type: 'CDL' | 'MEDICAL';
|
|
728
|
+
expiryDate: string;
|
|
729
|
+
daysUntilExpiry: number;
|
|
730
|
+
status: ComplianceStatus;
|
|
731
|
+
}
|
|
732
|
+
|
|
733
|
+
// Dispatcher Assignment History
|
|
734
|
+
export interface DispatcherAssignmentHistory {
|
|
735
|
+
id: string;
|
|
736
|
+
driverId: string;
|
|
737
|
+
dispatcherId: string | null;
|
|
738
|
+
dispatcher?: User | null;
|
|
739
|
+
assignedById: string;
|
|
740
|
+
assignedBy?: User;
|
|
741
|
+
reason?: string | null;
|
|
742
|
+
createdAt: string;
|
|
743
|
+
}
|
|
744
|
+
|
|
745
|
+
// ============================================================================
|
|
746
|
+
// EMAIL-TO-RUN REQUEST DTOs (manual until OpenAPI regeneration)
|
|
747
|
+
// ============================================================================
|
|
748
|
+
|
|
749
|
+
// Signature DTOs
|
|
750
|
+
export interface SaveSignatureRequest {
|
|
751
|
+
signatureData: string;
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
// Client Email DTOs
|
|
755
|
+
export interface CreateClientEmailRequest {
|
|
756
|
+
localPart: string;
|
|
757
|
+
customerId?: string;
|
|
758
|
+
forwardTo?: string[];
|
|
759
|
+
}
|
|
760
|
+
|
|
761
|
+
export interface UpdateClientEmailRequest {
|
|
762
|
+
localPart?: string;
|
|
763
|
+
customerId?: string;
|
|
764
|
+
forwardTo?: string[];
|
|
765
|
+
isActive?: boolean;
|
|
766
|
+
}
|
|
767
|
+
|
|
768
|
+
export interface SendInvitationRequest {
|
|
769
|
+
recipientEmail: string;
|
|
770
|
+
customMessage?: string;
|
|
771
|
+
}
|
|
772
|
+
|
|
773
|
+
// Expense DTOs
|
|
774
|
+
export interface CreateExpenseRequest {
|
|
775
|
+
type: ExpenseType;
|
|
776
|
+
amount: number;
|
|
777
|
+
description?: string;
|
|
778
|
+
date: string;
|
|
779
|
+
vendor?: string;
|
|
780
|
+
receiptUrl?: string;
|
|
781
|
+
driverId?: string;
|
|
782
|
+
truckId?: string;
|
|
783
|
+
trailerId?: string;
|
|
784
|
+
runId?: string;
|
|
785
|
+
}
|
|
786
|
+
|
|
787
|
+
export interface UpdateExpenseRequest {
|
|
788
|
+
type?: ExpenseType;
|
|
789
|
+
amount?: number;
|
|
790
|
+
description?: string;
|
|
791
|
+
date?: string;
|
|
792
|
+
vendor?: string;
|
|
793
|
+
receiptUrl?: string;
|
|
794
|
+
driverId?: string;
|
|
795
|
+
truckId?: string;
|
|
796
|
+
trailerId?: string;
|
|
797
|
+
runId?: string;
|
|
798
|
+
}
|
|
799
|
+
|
|
800
|
+
export interface AssociateExpenseRequest {
|
|
801
|
+
driverId?: string;
|
|
802
|
+
truckId?: string;
|
|
803
|
+
trailerId?: string;
|
|
804
|
+
runId?: string;
|
|
805
|
+
}
|
|
806
|
+
|
|
807
|
+
export interface RejectExpenseRequest {
|
|
808
|
+
reason: string;
|
|
809
|
+
}
|
|
810
|
+
|
|
811
|
+
export interface ExpenseFilters {
|
|
812
|
+
type?: ExpenseType;
|
|
813
|
+
status?: ExpenseStatus;
|
|
814
|
+
driverId?: string;
|
|
815
|
+
truckId?: string;
|
|
816
|
+
runId?: string;
|
|
817
|
+
fromDate?: string;
|
|
818
|
+
toDate?: string;
|
|
819
|
+
search?: string;
|
|
820
|
+
page?: number;
|
|
821
|
+
limit?: number;
|
|
822
|
+
}
|
|
823
|
+
|
|
824
|
+
// Signing DTOs
|
|
825
|
+
export interface SignDocumentRequest {
|
|
826
|
+
signatureData: string;
|
|
827
|
+
signedByName?: string;
|
|
828
|
+
signedByEmail?: string;
|
|
829
|
+
useSavedSignature?: boolean;
|
|
830
|
+
}
|
|
831
|
+
|
|
832
|
+
// Inbound Email Filters
|
|
833
|
+
export interface InboundEmailFilters {
|
|
834
|
+
status?: InboundEmailStatus;
|
|
835
|
+
clientEmailId?: string;
|
|
836
|
+
fromDate?: string;
|
|
837
|
+
toDate?: string;
|
|
838
|
+
search?: string;
|
|
839
|
+
page?: number;
|
|
840
|
+
limit?: number;
|
|
841
|
+
}
|
|
842
|
+
|
|
487
843
|
// ============================================================================
|
|
488
844
|
// REQUEST TYPE ALIASES (for SDK compatibility)
|
|
489
845
|
// ============================================================================
|
|
@@ -504,8 +860,8 @@ export type UpdateCustomerRequest = UpdateCustomerDto;
|
|
|
504
860
|
|
|
505
861
|
export type CreateMessageRequest = CreateMessageDto;
|
|
506
862
|
|
|
507
|
-
export type CreateStatementRequest = CreateStatementDto;
|
|
508
|
-
export type UpdateStatementRequest = UpdateStatementDto;
|
|
863
|
+
// export type CreateStatementRequest = CreateStatementDto;
|
|
864
|
+
// export type UpdateStatementRequest = UpdateStatementDto;
|
|
509
865
|
|
|
510
866
|
export type CreateReferralRequest = CreateReferralDto;
|
|
511
867
|
export type UpdateReferralRequest = UpdateReferralDto;
|
|
@@ -532,8 +888,31 @@ export type PaginatedDrivers = PaginatedResponse<User>;
|
|
|
532
888
|
export type PaginatedTrucks = PaginatedResponse<Truck>;
|
|
533
889
|
export type PaginatedTrailers = PaginatedResponse<Trailer>;
|
|
534
890
|
export type PaginatedCustomers = PaginatedResponse<Customer>;
|
|
535
|
-
export type PaginatedStatements = PaginatedResponse<DriverStatement>;
|
|
891
|
+
// export type PaginatedStatements = PaginatedResponse<DriverStatement>;
|
|
536
892
|
export type PaginatedMessages = PaginatedResponse<Message>;
|
|
893
|
+
export type PaginatedExpenses = PaginatedResponse<Expense>;
|
|
894
|
+
export type PaginatedInboundEmails = PaginatedResponse<InboundEmail>;
|
|
895
|
+
|
|
896
|
+
// List response types for Email-to-Run feature
|
|
897
|
+
export interface ClientEmailListResponse {
|
|
898
|
+
data: ClientEmail[];
|
|
899
|
+
total: number;
|
|
900
|
+
}
|
|
901
|
+
|
|
902
|
+
export interface InboundEmailListResponse {
|
|
903
|
+
data: InboundEmail[];
|
|
904
|
+
total: number;
|
|
905
|
+
page: number;
|
|
906
|
+
limit: number;
|
|
907
|
+
}
|
|
908
|
+
|
|
909
|
+
export interface ExpenseListResponse {
|
|
910
|
+
data: Expense[];
|
|
911
|
+
total: number;
|
|
912
|
+
page: number;
|
|
913
|
+
limit: number;
|
|
914
|
+
pendingCount?: number;
|
|
915
|
+
}
|
|
537
916
|
|
|
538
917
|
// ============================================================================
|
|
539
918
|
// TYPE HELPERS
|