@d19n/youfibre-odin-sdk 2.0.13-beta.1 → 2.0.13
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/README.md +11 -10
- package/dist/actions-v2/CreateOrderFromBrskDto.d.ts +75 -0
- package/dist/actions-v2/CreateOrderItemFromBrskDto.d.ts +191 -0
- package/dist/actions-v2/CreateOrderItemFromBrskDto.js +52 -0
- package/dist/entities-v2/Order.d.ts +7 -0
- package/dist/entities-v2/Order.js +2 -0
- package/dist/entities-v2/OrderItem.d.ts +7 -0
- package/dist/entities-v2/OrderItem.js +2 -0
- package/dist/entities-v2/Product.d.ts +0 -42
- package/dist/entities-v2/Product.js +0 -2
- package/dist/records-v2/AccountCreditRecord.d.ts +62 -1
- package/dist/records-v2/AccountCreditRecord.js +91 -0
- package/dist/records-v2/AccountRecord.d.ts +306 -2
- package/dist/records-v2/AccountRecord.js +451 -0
- package/dist/records-v2/ActivityLogRecord.d.ts +122 -1
- package/dist/records-v2/ActivityLogRecord.js +190 -0
- package/dist/records-v2/ActivityRecord.d.ts +255 -2
- package/dist/records-v2/ActivityRecord.js +387 -0
- package/dist/records-v2/AddressRecord.d.ts +321 -0
- package/dist/records-v2/AddressRecord.js +532 -0
- package/dist/records-v2/AffiliateCodeRecord.d.ts +102 -1
- package/dist/records-v2/AffiliateCodeRecord.js +157 -0
- package/dist/records-v2/AppointmentRecord.d.ts +141 -0
- package/dist/records-v2/AppointmentRecord.js +235 -0
- package/dist/records-v2/BillingAdjustmentRecord.d.ts +81 -0
- package/dist/records-v2/BillingAdjustmentRecord.js +136 -0
- package/dist/records-v2/BillingRequestRecord.d.ts +178 -2
- package/dist/records-v2/BillingRequestRecord.js +271 -0
- package/dist/records-v2/BlockageA55Record.d.ts +103 -2
- package/dist/records-v2/BlockageA55Record.js +157 -0
- package/dist/records-v2/BrskEntityMigrationErrorRecord.d.ts +21 -1
- package/dist/records-v2/BrskEntityMigrationErrorRecord.js +21 -0
- package/dist/records-v2/CallEventRecord.d.ts +82 -1
- package/dist/records-v2/CallEventRecord.js +124 -0
- package/dist/records-v2/CallLegRecord.d.ts +82 -1
- package/dist/records-v2/CallLegRecord.js +124 -0
- package/dist/records-v2/CallRecord.d.ts +202 -1
- package/dist/records-v2/CallRecord.js +322 -0
- package/dist/records-v2/CallTransferRecord.d.ts +102 -1
- package/dist/records-v2/CallTransferRecord.js +157 -0
- package/dist/records-v2/CampaignRecord.d.ts +83 -2
- package/dist/records-v2/CampaignRecord.js +124 -0
- package/dist/records-v2/CaseRecord.d.ts +418 -2
- package/dist/records-v2/CaseRecord.js +667 -0
- package/dist/records-v2/ChangeReasonRecord.d.ts +171 -2
- package/dist/records-v2/ChangeReasonRecord.js +238 -0
- package/dist/records-v2/ChurnRequestRecord.d.ts +62 -1
- package/dist/records-v2/ChurnRequestRecord.js +91 -0
- package/dist/records-v2/ContactRecord.d.ts +560 -0
- package/dist/records-v2/ContactRecord.js +927 -0
- package/dist/records-v2/ContractBuyOutRecord.d.ts +162 -1
- package/dist/records-v2/ContractBuyOutRecord.js +256 -0
- package/dist/records-v2/ConversationFeedbackRecord.d.ts +102 -1
- package/dist/records-v2/ConversationFeedbackRecord.js +157 -0
- package/dist/records-v2/ConversationRecord.d.ts +102 -1
- package/dist/records-v2/ConversationRecord.js +157 -0
- package/dist/records-v2/CreditNoteRecord.d.ts +81 -0
- package/dist/records-v2/CreditNoteRecord.js +136 -0
- package/dist/records-v2/CrmDatasetRecord.d.ts +191 -2
- package/dist/records-v2/CrmDatasetRecord.js +271 -0
- package/dist/records-v2/CustomerDeviceAtaRecord.d.ts +21 -0
- package/dist/records-v2/CustomerDeviceAtaRecord.js +37 -0
- package/dist/records-v2/CustomerDeviceConfigurationRecord.d.ts +62 -1
- package/dist/records-v2/CustomerDeviceConfigurationRecord.js +91 -0
- package/dist/records-v2/CustomerDeviceOntRecord.d.ts +181 -0
- package/dist/records-v2/CustomerDeviceOntRecord.js +301 -0
- package/dist/records-v2/CustomerDeviceRouterRecord.d.ts +141 -0
- package/dist/records-v2/CustomerDeviceRouterRecord.js +235 -0
- package/dist/records-v2/CustomerPhonePortingRecord.d.ts +21 -0
- package/dist/records-v2/CustomerPhonePortingRecord.js +37 -0
- package/dist/records-v2/DiscountRecord.d.ts +121 -0
- package/dist/records-v2/DiscountRecord.js +202 -0
- package/dist/records-v2/EmailRecord.d.ts +230 -2
- package/dist/records-v2/EmailRecord.js +336 -0
- package/dist/records-v2/EmailSenderRecord.d.ts +42 -1
- package/dist/records-v2/EmailSenderRecord.js +58 -0
- package/dist/records-v2/EmailTemplateRecord.d.ts +21 -1
- package/dist/records-v2/EmailTemplateRecord.js +21 -0
- package/dist/records-v2/FieldServiceDispatchedProductRecord.d.ts +135 -2
- package/dist/records-v2/FieldServiceDispatchedProductRecord.js +189 -0
- package/dist/records-v2/FieldServiceProductRecord.d.ts +115 -2
- package/dist/records-v2/FieldServiceProductRecord.js +156 -0
- package/dist/records-v2/FileRecord.d.ts +1211 -2
- package/dist/records-v2/FileRecord.js +1902 -0
- package/dist/records-v2/ImpersonationTrackerRecord.d.ts +62 -1
- package/dist/records-v2/ImpersonationTrackerRecord.js +91 -0
- package/dist/records-v2/InternalInstallAuditRecord.d.ts +83 -2
- package/dist/records-v2/InternalInstallAuditRecord.js +124 -0
- package/dist/records-v2/InvoiceItemRecord.d.ts +40 -0
- package/dist/records-v2/InvoiceItemRecord.js +69 -0
- package/dist/records-v2/InvoiceRecord.d.ts +399 -2
- package/dist/records-v2/InvoiceRecord.js +635 -0
- package/dist/records-v2/KnowledgeArticleRecord.d.ts +98 -2
- package/dist/records-v2/KnowledgeArticleRecord.js +139 -0
- package/dist/records-v2/LeadRecord.d.ts +261 -0
- package/dist/records-v2/LeadRecord.js +433 -0
- package/dist/records-v2/MessageRecord.d.ts +99 -2
- package/dist/records-v2/MessageRecord.js +140 -0
- package/dist/records-v2/NetworkDeviceRecord.d.ts +43 -2
- package/dist/records-v2/NetworkDeviceRecord.js +58 -0
- package/dist/records-v2/NoteRecord.d.ts +1121 -1
- package/dist/records-v2/NoteRecord.js +1839 -0
- package/dist/records-v2/OfferRecord.d.ts +154 -2
- package/dist/records-v2/OfferRecord.js +221 -0
- package/dist/records-v2/OhAuditOfInstallationRecord.d.ts +83 -2
- package/dist/records-v2/OhAuditOfInstallationRecord.js +124 -0
- package/dist/records-v2/OhExternalAuditRecord.d.ts +83 -2
- package/dist/records-v2/OhExternalAuditRecord.js +124 -0
- package/dist/records-v2/OhInProgressAuditRecord.d.ts +83 -2
- package/dist/records-v2/OhInProgressAuditRecord.js +124 -0
- package/dist/records-v2/OhInstallationAuditRecord.d.ts +83 -2
- package/dist/records-v2/OhInstallationAuditRecord.js +124 -0
- package/dist/records-v2/OhRetroAuditRecord.d.ts +83 -2
- package/dist/records-v2/OhRetroAuditRecord.js +124 -0
- package/dist/records-v2/OneTouchSwitchRecord.d.ts +255 -2
- package/dist/records-v2/OneTouchSwitchRecord.js +387 -0
- package/dist/records-v2/OntReplacementApprovalRecord.d.ts +62 -1
- package/dist/records-v2/OntReplacementApprovalRecord.js +91 -0
- package/dist/records-v2/OrderCheckRecord.d.ts +21 -0
- package/dist/records-v2/OrderCheckRecord.js +37 -0
- package/dist/records-v2/OrderItemRecord.d.ts +309 -0
- package/dist/records-v2/OrderItemRecord.js +501 -0
- package/dist/records-v2/OrderKciRecord.d.ts +42 -1
- package/dist/records-v2/OrderKciRecord.js +58 -0
- package/dist/records-v2/OrderRecord.d.ts +620 -0
- package/dist/records-v2/OrderRecord.js +1026 -0
- package/dist/records-v2/OutageRecord.d.ts +42 -1
- package/dist/records-v2/OutageRecord.js +58 -0
- package/dist/records-v2/OverlayRealA55Record.d.ts +83 -2
- package/dist/records-v2/OverlayRealA55Record.js +124 -0
- package/dist/records-v2/PICRequestRecord.d.ts +62 -1
- package/dist/records-v2/PICRequestRecord.js +91 -0
- package/dist/records-v2/PaymentMethodRecord.d.ts +121 -0
- package/dist/records-v2/PaymentMethodRecord.js +202 -0
- package/dist/records-v2/PaymentMethodRefundRecord.d.ts +181 -0
- package/dist/records-v2/PaymentMethodRefundRecord.js +301 -0
- package/dist/records-v2/PaymentRecord.d.ts +82 -1
- package/dist/records-v2/PaymentRecord.js +124 -0
- package/dist/records-v2/PermissionToFailRecord.d.ts +61 -0
- package/dist/records-v2/PermissionToFailRecord.js +103 -0
- package/dist/records-v2/PgAccountValidationRecord.d.ts +21 -1
- package/dist/records-v2/PgAccountValidationRecord.js +21 -0
- package/dist/records-v2/PgContactRecord.d.ts +62 -1
- package/dist/records-v2/PgContactRecord.js +91 -0
- package/dist/records-v2/PgDirectDebitFileRecord.d.ts +95 -2
- package/dist/records-v2/PgDirectDebitFileRecord.js +123 -0
- package/dist/records-v2/PgDisputeRecord.d.ts +62 -1
- package/dist/records-v2/PgDisputeRecord.js +91 -0
- package/dist/records-v2/PgFileAllocationRecord.d.ts +115 -2
- package/dist/records-v2/PgFileAllocationRecord.js +156 -0
- package/dist/records-v2/PgLogRecord.d.ts +21 -1
- package/dist/records-v2/PgLogRecord.js +21 -0
- package/dist/records-v2/PgPaymentMethodRecord.d.ts +102 -1
- package/dist/records-v2/PgPaymentMethodRecord.js +157 -0
- package/dist/records-v2/PgSortCodeSubstitutionRecord.d.ts +21 -1
- package/dist/records-v2/PgSortCodeSubstitutionRecord.js +21 -0
- package/dist/records-v2/PgTransactionRecord.d.ts +135 -2
- package/dist/records-v2/PgTransactionRecord.js +189 -0
- package/dist/records-v2/PgVocalinkRecord.d.ts +21 -1
- package/dist/records-v2/PgVocalinkRecord.js +21 -0
- package/dist/records-v2/PgWebhookAttemptRecord.d.ts +42 -1
- package/dist/records-v2/PgWebhookAttemptRecord.js +58 -0
- package/dist/records-v2/PgWebhookRecord.d.ts +122 -1
- package/dist/records-v2/PgWebhookRecord.js +190 -0
- package/dist/records-v2/PhoneNumberRecord.d.ts +41 -0
- package/dist/records-v2/PhoneNumberRecord.js +70 -0
- package/dist/records-v2/PriceBookRecord.d.ts +21 -0
- package/dist/records-v2/PriceBookRecord.js +37 -0
- package/dist/records-v2/ProductRecord.d.ts +258 -2
- package/dist/records-v2/ProductRecord.js +351 -0
- package/dist/records-v2/PushNotificationRecord.d.ts +162 -1
- package/dist/records-v2/PushNotificationRecord.js +256 -0
- package/dist/records-v2/ReferralRecord.d.ts +143 -2
- package/dist/records-v2/ReferralRecord.js +223 -0
- package/dist/records-v2/RemediationOutcomeFormRecord.d.ts +83 -2
- package/dist/records-v2/RemediationOutcomeFormRecord.js +124 -0
- package/dist/records-v2/RemediationRequiredReasonRecord.d.ts +103 -2
- package/dist/records-v2/RemediationRequiredReasonRecord.js +157 -0
- package/dist/records-v2/ReturnsRecord.d.ts +62 -1
- package/dist/records-v2/ReturnsRecord.js +91 -0
- package/dist/records-v2/RewardRecord.d.ts +123 -2
- package/dist/records-v2/RewardRecord.js +190 -0
- package/dist/records-v2/SalesTerritoryRecord.d.ts +79 -2
- package/dist/records-v2/SalesTerritoryRecord.js +107 -0
- package/dist/records-v2/ScheduleSlotRecord.d.ts +42 -1
- package/dist/records-v2/ScheduleSlotRecord.js +58 -0
- package/dist/records-v2/ServiceAppointmentConfigRecord.d.ts +287 -2
- package/dist/records-v2/ServiceAppointmentConfigRecord.js +367 -0
- package/dist/records-v2/ServiceAppointmentRecord.d.ts +81 -0
- package/dist/records-v2/ServiceAppointmentRecord.js +136 -0
- package/dist/records-v2/ServiceRecord.d.ts +40 -0
- package/dist/records-v2/ServiceRecord.js +69 -0
- package/dist/records-v2/ServiceVisitAuditRecord.d.ts +83 -2
- package/dist/records-v2/ServiceVisitAuditRecord.js +124 -0
- package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.d.ts +83 -2
- package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.js +124 -0
- package/dist/records-v2/SmsMessageRecord.d.ts +175 -2
- package/dist/records-v2/SmsMessageRecord.js +255 -0
- package/dist/records-v2/SweeperMaintenanceAuditRecord.d.ts +83 -2
- package/dist/records-v2/SweeperMaintenanceAuditRecord.js +124 -0
- package/dist/records-v2/TeamRecord.d.ts +101 -0
- package/dist/records-v2/TeamRecord.js +169 -0
- package/dist/records-v2/TestEntityForVisualBuilderRecord.d.ts +115 -2
- package/dist/records-v2/TestEntityForVisualBuilderRecord.js +156 -0
- package/dist/records-v2/TimeSlotRecord.d.ts +21 -0
- package/dist/records-v2/TimeSlotRecord.js +37 -0
- package/dist/records-v2/TransactionRecord.d.ts +181 -1
- package/dist/records-v2/TransactionRecord.js +288 -0
- package/dist/records-v2/TwilioUserUpdateRecord.d.ts +42 -1
- package/dist/records-v2/TwilioUserUpdateRecord.js +58 -0
- package/dist/records-v2/UgAuditOfInstallationRecord.d.ts +83 -2
- package/dist/records-v2/UgAuditOfInstallationRecord.js +124 -0
- package/dist/records-v2/UgExternalAuditRecord.d.ts +83 -2
- package/dist/records-v2/UgExternalAuditRecord.js +124 -0
- package/dist/records-v2/UgInProgressAuditRecord.d.ts +83 -2
- package/dist/records-v2/UgInProgressAuditRecord.js +124 -0
- package/dist/records-v2/UgInstallationAuditRecord.d.ts +83 -2
- package/dist/records-v2/UgInstallationAuditRecord.js +124 -0
- package/dist/records-v2/UgRetroAuditRecord.d.ts +83 -2
- package/dist/records-v2/UgRetroAuditRecord.js +124 -0
- package/dist/records-v2/UserRecord.d.ts +400 -0
- package/dist/records-v2/UserRecord.js +663 -0
- package/dist/records-v2/VisitRecord.d.ts +121 -0
- package/dist/records-v2/VisitRecord.js +202 -0
- package/dist/records-v2/VoiceConfigurationRecord.d.ts +21 -0
- package/dist/records-v2/VoiceConfigurationRecord.js +37 -0
- package/dist/records-v2/WayleaveAuditRecord.d.ts +83 -2
- package/dist/records-v2/WayleaveAuditRecord.js +124 -0
- package/dist/records-v2/WorkOrderRecord.d.ts +1226 -2
- package/dist/records-v2/WorkOrderRecord.js +1865 -0
- package/dist/records-v2/WorkOrderStatusUpdateRecord.d.ts +75 -2
- package/dist/records-v2/WorkOrderStatusUpdateRecord.js +90 -0
- package/dist/records-v2/YfFieldServiceVisitRecord.d.ts +83 -2
- package/dist/records-v2/YfFieldServiceVisitRecord.js +124 -0
- package/dist/records-v2/YfStockAuditRecord.d.ts +103 -2
- package/dist/records-v2/YfStockAuditRecord.js +157 -0
- package/dist/records-v2/index.d.ts +1 -1
- package/dist/records-v2/index.js +5 -5
- package/package.json +1 -1
|
@@ -13,14 +13,20 @@
|
|
|
13
13
|
* await record.createWorkOrderStatusUpdate({ ... }).execute();
|
|
14
14
|
* ```
|
|
15
15
|
*
|
|
16
|
+
* Entity Types: AMCO_UPDATE, DEFAULT, ROYAL_MAIL_UPDATE
|
|
17
|
+
*
|
|
16
18
|
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
17
19
|
*/
|
|
18
20
|
import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
|
|
19
21
|
import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
|
|
20
22
|
import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
|
|
21
23
|
import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
|
|
22
|
-
import {
|
|
24
|
+
import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
|
|
25
|
+
import { WorkOrderStatusUpdateProperties, AmcoUpdateWorkOrderStatusUpdateProperties, RoyalMailUpdateWorkOrderStatusUpdateProperties } from '../entities-v2/WorkOrderStatusUpdate';
|
|
23
26
|
import { CreateWorkOrderStatusUpdateProperties } from '../actions-v2/CreateWorkOrderStatusUpdateDto';
|
|
27
|
+
import { WorkOrderRecord } from './WorkOrderRecord';
|
|
28
|
+
/** Valid entity types for WorkOrderStatusUpdate */
|
|
29
|
+
export declare type WorkOrderStatusUpdateType = 'AMCO_UPDATE' | 'DEFAULT' | 'ROYAL_MAIL_UPDATE';
|
|
24
30
|
/**
|
|
25
31
|
* Builder for action execution with dryRun support
|
|
26
32
|
*
|
|
@@ -84,6 +90,7 @@ export declare class WorkOrderStatusUpdateRecord<TProps = WorkOrderStatusUpdateP
|
|
|
84
90
|
private _provider;
|
|
85
91
|
private _pendingLinks;
|
|
86
92
|
private _preGeneratedId;
|
|
93
|
+
private _workOrders?;
|
|
87
94
|
/**
|
|
88
95
|
* Create a record wrapper.
|
|
89
96
|
* @param record - The underlying record, or null for create operations
|
|
@@ -96,7 +103,7 @@ export declare class WorkOrderStatusUpdateRecord<TProps = WorkOrderStatusUpdateP
|
|
|
96
103
|
/** Record ID - always available (pre-generated for new records) */
|
|
97
104
|
get id(): string;
|
|
98
105
|
get entity(): string;
|
|
99
|
-
get type():
|
|
106
|
+
get type(): WorkOrderStatusUpdateType | undefined;
|
|
100
107
|
/** Record properties - empty object for new (unsaved) records */
|
|
101
108
|
get properties(): TProps;
|
|
102
109
|
get title(): string | undefined;
|
|
@@ -109,6 +116,72 @@ export declare class WorkOrderStatusUpdateRecord<TProps = WorkOrderStatusUpdateP
|
|
|
109
116
|
get groups(): string[];
|
|
110
117
|
/** Access the underlying OdinRecord (null for new records) */
|
|
111
118
|
get record(): OdinRecord<TProps> | null;
|
|
119
|
+
/**
|
|
120
|
+
* Type guard: check if this record is of type AMCO_UPDATE
|
|
121
|
+
*
|
|
122
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
123
|
+
* giving you access to AMCO_UPDATE-specific properties.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* if (record.isAmcoUpdate()) {
|
|
128
|
+
* // TypeScript knows record.properties is AmcoUpdateWorkOrderStatusUpdateProperties
|
|
129
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
132
|
+
* @remarks Amco Update
|
|
133
|
+
*/
|
|
134
|
+
isAmcoUpdate(): this is WorkOrderStatusUpdateRecord<AmcoUpdateWorkOrderStatusUpdateProperties>;
|
|
135
|
+
/**
|
|
136
|
+
* Type guard: check if this record is of type DEFAULT
|
|
137
|
+
*
|
|
138
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
139
|
+
* giving you access to DEFAULT-specific properties.
|
|
140
|
+
*
|
|
141
|
+
* @example
|
|
142
|
+
* ```typescript
|
|
143
|
+
* if (record.isDefault()) {
|
|
144
|
+
* // TypeScript knows record.properties is WorkOrderStatusUpdateProperties
|
|
145
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
146
|
+
* }
|
|
147
|
+
* ```
|
|
148
|
+
* @remarks This is the default record type
|
|
149
|
+
*/
|
|
150
|
+
isDefault(): this is WorkOrderStatusUpdateRecord<WorkOrderStatusUpdateProperties>;
|
|
151
|
+
/**
|
|
152
|
+
* Type guard: check if this record is of type ROYAL_MAIL_UPDATE
|
|
153
|
+
*
|
|
154
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
155
|
+
* giving you access to ROYAL_MAIL_UPDATE-specific properties.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* if (record.isRoyalMailUpdate()) {
|
|
160
|
+
* // TypeScript knows record.properties is RoyalMailUpdateWorkOrderStatusUpdateProperties
|
|
161
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
162
|
+
* }
|
|
163
|
+
* ```
|
|
164
|
+
* @remarks Royal Mail Update
|
|
165
|
+
*/
|
|
166
|
+
isRoyalMailUpdate(): this is WorkOrderStatusUpdateRecord<RoyalMailUpdateWorkOrderStatusUpdateProperties>;
|
|
167
|
+
/** Valid labels for WorkOrder associations */
|
|
168
|
+
static readonly workOrdersLabels: readonly ["WorkOrderStatusUpdate__WorkOrder"];
|
|
169
|
+
/**
|
|
170
|
+
* Access linked WorkOrder records
|
|
171
|
+
* @remarks Available labels: WorkOrderStatusUpdate__WorkOrder
|
|
172
|
+
* @throws Error if called on a new (unsaved) record
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* // Get all linked WorkOrder records
|
|
177
|
+
* const items = await record.workOrders.list();
|
|
178
|
+
* const first = await record.workOrders.first();
|
|
179
|
+
*
|
|
180
|
+
* // Filter by label
|
|
181
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrderStatusUpdate__WorkOrder' });
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
get workOrders(): RecordLinkManager<WorkOrderRecord, typeof WorkOrderStatusUpdateRecord['workOrdersLabels'][number]>;
|
|
112
185
|
/**
|
|
113
186
|
* Queue a link to be created with the next action.
|
|
114
187
|
* Works for both create and update actions.
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* await record.createWorkOrderStatusUpdate({ ... }).execute();
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
|
+
* Entity Types: AMCO_UPDATE, DEFAULT, ROYAL_MAIL_UPDATE
|
|
18
|
+
*
|
|
17
19
|
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
18
20
|
*/
|
|
19
21
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
@@ -29,6 +31,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
31
|
exports.isWorkOrderStatusUpdateRecord = exports.WorkOrderStatusUpdateRecord = void 0;
|
|
30
32
|
const uuid_1 = require("uuid");
|
|
31
33
|
const core_1 = require("@d19n/odin-types/dist/core");
|
|
34
|
+
const record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/record-link-manager");
|
|
35
|
+
const WorkOrderRecord_1 = require("./WorkOrderRecord");
|
|
32
36
|
/**
|
|
33
37
|
* Builder for action execution with dryRun support
|
|
34
38
|
*
|
|
@@ -140,6 +144,87 @@ class WorkOrderStatusUpdateRecord {
|
|
|
140
144
|
/** Access the underlying OdinRecord (null for new records) */
|
|
141
145
|
get record() { return this._record; }
|
|
142
146
|
// ============================================
|
|
147
|
+
// TYPE GUARDS (with TypeScript type predicates)
|
|
148
|
+
// ============================================
|
|
149
|
+
/**
|
|
150
|
+
* Type guard: check if this record is of type AMCO_UPDATE
|
|
151
|
+
*
|
|
152
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
153
|
+
* giving you access to AMCO_UPDATE-specific properties.
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* if (record.isAmcoUpdate()) {
|
|
158
|
+
* // TypeScript knows record.properties is AmcoUpdateWorkOrderStatusUpdateProperties
|
|
159
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
160
|
+
* }
|
|
161
|
+
* ```
|
|
162
|
+
* @remarks Amco Update
|
|
163
|
+
*/
|
|
164
|
+
isAmcoUpdate() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'AMCO_UPDATE'; }
|
|
165
|
+
/**
|
|
166
|
+
* Type guard: check if this record is of type DEFAULT
|
|
167
|
+
*
|
|
168
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
169
|
+
* giving you access to DEFAULT-specific properties.
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```typescript
|
|
173
|
+
* if (record.isDefault()) {
|
|
174
|
+
* // TypeScript knows record.properties is WorkOrderStatusUpdateProperties
|
|
175
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
176
|
+
* }
|
|
177
|
+
* ```
|
|
178
|
+
* @remarks This is the default record type
|
|
179
|
+
*/
|
|
180
|
+
isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
|
|
181
|
+
/**
|
|
182
|
+
* Type guard: check if this record is of type ROYAL_MAIL_UPDATE
|
|
183
|
+
*
|
|
184
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
185
|
+
* giving you access to ROYAL_MAIL_UPDATE-specific properties.
|
|
186
|
+
*
|
|
187
|
+
* @example
|
|
188
|
+
* ```typescript
|
|
189
|
+
* if (record.isRoyalMailUpdate()) {
|
|
190
|
+
* // TypeScript knows record.properties is RoyalMailUpdateWorkOrderStatusUpdateProperties
|
|
191
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
192
|
+
* }
|
|
193
|
+
* ```
|
|
194
|
+
* @remarks Royal Mail Update
|
|
195
|
+
*/
|
|
196
|
+
isRoyalMailUpdate() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'ROYAL_MAIL_UPDATE'; }
|
|
197
|
+
/**
|
|
198
|
+
* Access linked WorkOrder records
|
|
199
|
+
* @remarks Available labels: WorkOrderStatusUpdate__WorkOrder
|
|
200
|
+
* @throws Error if called on a new (unsaved) record
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* // Get all linked WorkOrder records
|
|
205
|
+
* const items = await record.workOrders.list();
|
|
206
|
+
* const first = await record.workOrders.first();
|
|
207
|
+
*
|
|
208
|
+
* // Filter by label
|
|
209
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrderStatusUpdate__WorkOrder' });
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
get workOrders() {
|
|
213
|
+
var _a;
|
|
214
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
215
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
216
|
+
if (!this._workOrders) {
|
|
217
|
+
this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
218
|
+
sourceEntity: 'FieldServiceModule:WorkOrderStatusUpdate',
|
|
219
|
+
targetEntity: 'FieldServiceModule:WorkOrder',
|
|
220
|
+
targetModuleName: 'FieldServiceModule',
|
|
221
|
+
targetEntityName: 'WorkOrder',
|
|
222
|
+
labels: ['WorkOrderStatusUpdate__WorkOrder'],
|
|
223
|
+
}, WorkOrderRecord_1.WorkOrderRecord);
|
|
224
|
+
}
|
|
225
|
+
return this._workOrders;
|
|
226
|
+
}
|
|
227
|
+
// ============================================
|
|
143
228
|
// LINK MANAGEMENT
|
|
144
229
|
// ============================================
|
|
145
230
|
/**
|
|
@@ -215,6 +300,11 @@ class WorkOrderStatusUpdateRecord {
|
|
|
215
300
|
}
|
|
216
301
|
}
|
|
217
302
|
exports.WorkOrderStatusUpdateRecord = WorkOrderStatusUpdateRecord;
|
|
303
|
+
// ============================================
|
|
304
|
+
// TYPED LINK ACCESSORS
|
|
305
|
+
// ============================================
|
|
306
|
+
/** Valid labels for WorkOrder associations */
|
|
307
|
+
WorkOrderStatusUpdateRecord.workOrdersLabels = ['WorkOrderStatusUpdate__WorkOrder'];
|
|
218
308
|
/** Type guard to check if an object is a WorkOrderStatusUpdateRecord */
|
|
219
309
|
function isWorkOrderStatusUpdateRecord(obj) {
|
|
220
310
|
return obj instanceof WorkOrderStatusUpdateRecord;
|
|
@@ -13,14 +13,22 @@
|
|
|
13
13
|
* await record.createYfFieldServiceVisit({ ... }).execute();
|
|
14
14
|
* ```
|
|
15
15
|
*
|
|
16
|
+
* Entity Types: OUTCOME_FORM
|
|
17
|
+
*
|
|
16
18
|
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
17
19
|
*/
|
|
18
20
|
import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
|
|
19
21
|
import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
|
|
20
22
|
import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
|
|
21
23
|
import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
|
|
22
|
-
import {
|
|
24
|
+
import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
|
|
25
|
+
import { YfFieldServiceVisitProperties, OutcomeFormYfFieldServiceVisitProperties } from '../entities-v2/YfFieldServiceVisit';
|
|
23
26
|
import { YfFieldServiceVisitAuditProperties } from '../actions-v2/CompleteServiceWorkOrderFlowDto';
|
|
27
|
+
import { NoteRecord } from './NoteRecord';
|
|
28
|
+
import { WorkOrderRecord } from './WorkOrderRecord';
|
|
29
|
+
import { FileRecord } from './FileRecord';
|
|
30
|
+
/** Valid entity types for YfFieldServiceVisit */
|
|
31
|
+
export declare type YfFieldServiceVisitType = 'OUTCOME_FORM';
|
|
24
32
|
/**
|
|
25
33
|
* Builder for action execution with dryRun support
|
|
26
34
|
*
|
|
@@ -84,6 +92,9 @@ export declare class YfFieldServiceVisitRecord<TProps = YfFieldServiceVisitPrope
|
|
|
84
92
|
private _provider;
|
|
85
93
|
private _pendingLinks;
|
|
86
94
|
private _preGeneratedId;
|
|
95
|
+
private _notes?;
|
|
96
|
+
private _workOrders?;
|
|
97
|
+
private _files?;
|
|
87
98
|
/**
|
|
88
99
|
* Create a record wrapper.
|
|
89
100
|
* @param record - The underlying record, or null for create operations
|
|
@@ -96,7 +107,7 @@ export declare class YfFieldServiceVisitRecord<TProps = YfFieldServiceVisitPrope
|
|
|
96
107
|
/** Record ID - always available (pre-generated for new records) */
|
|
97
108
|
get id(): string;
|
|
98
109
|
get entity(): string;
|
|
99
|
-
get type():
|
|
110
|
+
get type(): YfFieldServiceVisitType | undefined;
|
|
100
111
|
/** Record properties - empty object for new (unsaved) records */
|
|
101
112
|
get properties(): TProps;
|
|
102
113
|
get title(): string | undefined;
|
|
@@ -109,6 +120,76 @@ export declare class YfFieldServiceVisitRecord<TProps = YfFieldServiceVisitPrope
|
|
|
109
120
|
get groups(): string[];
|
|
110
121
|
/** Access the underlying OdinRecord (null for new records) */
|
|
111
122
|
get record(): OdinRecord<TProps> | null;
|
|
123
|
+
/**
|
|
124
|
+
* Type guard: check if this record is of type OUTCOME_FORM
|
|
125
|
+
*
|
|
126
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
127
|
+
* giving you access to OUTCOME_FORM-specific properties.
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* if (record.isOutcomeForm()) {
|
|
132
|
+
* // TypeScript knows record.properties is OutcomeFormYfFieldServiceVisitProperties
|
|
133
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
134
|
+
* }
|
|
135
|
+
* ```
|
|
136
|
+
* @remarks outcome form
|
|
137
|
+
*/
|
|
138
|
+
isOutcomeForm(): this is YfFieldServiceVisitRecord<OutcomeFormYfFieldServiceVisitProperties>;
|
|
139
|
+
/** Valid labels for Note associations */
|
|
140
|
+
static readonly notesLabels: readonly ["YfFieldServiceVisit__Note"];
|
|
141
|
+
/**
|
|
142
|
+
* Access linked Note records
|
|
143
|
+
* @remarks Available labels: YfFieldServiceVisit__Note
|
|
144
|
+
* @throws Error if called on a new (unsaved) record
|
|
145
|
+
*
|
|
146
|
+
* @example
|
|
147
|
+
* ```typescript
|
|
148
|
+
* // Get all linked Note records
|
|
149
|
+
* const items = await record.notes.list();
|
|
150
|
+
* const first = await record.notes.first();
|
|
151
|
+
*
|
|
152
|
+
* // Filter by label
|
|
153
|
+
* const specific = await record.notes.first({ label: 'YfFieldServiceVisit__Note' });
|
|
154
|
+
* ```
|
|
155
|
+
*/
|
|
156
|
+
get notes(): RecordLinkManager<NoteRecord, typeof YfFieldServiceVisitRecord['notesLabels'][number]>;
|
|
157
|
+
/** Valid labels for WorkOrder associations */
|
|
158
|
+
static readonly workOrdersLabels: readonly ["WorkOrder_YfFieldServiceVisit"];
|
|
159
|
+
/**
|
|
160
|
+
* Access linked WorkOrder records
|
|
161
|
+
* @remarks Available labels: WorkOrder_YfFieldServiceVisit
|
|
162
|
+
* @throws Error if called on a new (unsaved) record
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* // Get all linked WorkOrder records
|
|
167
|
+
* const items = await record.workOrders.list();
|
|
168
|
+
* const first = await record.workOrders.first();
|
|
169
|
+
*
|
|
170
|
+
* // Filter by label
|
|
171
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrder_YfFieldServiceVisit' });
|
|
172
|
+
* ```
|
|
173
|
+
*/
|
|
174
|
+
get workOrders(): RecordLinkManager<WorkOrderRecord, typeof YfFieldServiceVisitRecord['workOrdersLabels'][number]>;
|
|
175
|
+
/** Valid labels for File associations */
|
|
176
|
+
static readonly filesLabels: readonly ["YfFieldServiceVisit__File"];
|
|
177
|
+
/**
|
|
178
|
+
* Access linked File records
|
|
179
|
+
* @remarks Available labels: YfFieldServiceVisit__File
|
|
180
|
+
* @throws Error if called on a new (unsaved) record
|
|
181
|
+
*
|
|
182
|
+
* @example
|
|
183
|
+
* ```typescript
|
|
184
|
+
* // Get all linked File records
|
|
185
|
+
* const items = await record.files.list();
|
|
186
|
+
* const first = await record.files.first();
|
|
187
|
+
*
|
|
188
|
+
* // Filter by label
|
|
189
|
+
* const specific = await record.files.first({ label: 'YfFieldServiceVisit__File' });
|
|
190
|
+
* ```
|
|
191
|
+
*/
|
|
192
|
+
get files(): RecordLinkManager<FileRecord, typeof YfFieldServiceVisitRecord['filesLabels'][number]>;
|
|
112
193
|
/**
|
|
113
194
|
* Queue a link to be created with the next action.
|
|
114
195
|
* Works for both create and update actions.
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* await record.createYfFieldServiceVisit({ ... }).execute();
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
|
+
* Entity Types: OUTCOME_FORM
|
|
18
|
+
*
|
|
17
19
|
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
18
20
|
*/
|
|
19
21
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
@@ -29,6 +31,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
31
|
exports.isYfFieldServiceVisitRecord = exports.YfFieldServiceVisitRecord = void 0;
|
|
30
32
|
const uuid_1 = require("uuid");
|
|
31
33
|
const core_1 = require("@d19n/odin-types/dist/core");
|
|
34
|
+
const record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/record-link-manager");
|
|
35
|
+
const NoteRecord_1 = require("./NoteRecord");
|
|
36
|
+
const WorkOrderRecord_1 = require("./WorkOrderRecord");
|
|
37
|
+
const FileRecord_1 = require("./FileRecord");
|
|
32
38
|
/**
|
|
33
39
|
* Builder for action execution with dryRun support
|
|
34
40
|
*
|
|
@@ -140,6 +146,115 @@ class YfFieldServiceVisitRecord {
|
|
|
140
146
|
/** Access the underlying OdinRecord (null for new records) */
|
|
141
147
|
get record() { return this._record; }
|
|
142
148
|
// ============================================
|
|
149
|
+
// TYPE GUARDS (with TypeScript type predicates)
|
|
150
|
+
// ============================================
|
|
151
|
+
/**
|
|
152
|
+
* Type guard: check if this record is of type OUTCOME_FORM
|
|
153
|
+
*
|
|
154
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
155
|
+
* giving you access to OUTCOME_FORM-specific properties.
|
|
156
|
+
*
|
|
157
|
+
* @example
|
|
158
|
+
* ```typescript
|
|
159
|
+
* if (record.isOutcomeForm()) {
|
|
160
|
+
* // TypeScript knows record.properties is OutcomeFormYfFieldServiceVisitProperties
|
|
161
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
162
|
+
* }
|
|
163
|
+
* ```
|
|
164
|
+
* @remarks outcome form
|
|
165
|
+
*/
|
|
166
|
+
isOutcomeForm() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'OUTCOME_FORM'; }
|
|
167
|
+
/**
|
|
168
|
+
* Access linked Note records
|
|
169
|
+
* @remarks Available labels: YfFieldServiceVisit__Note
|
|
170
|
+
* @throws Error if called on a new (unsaved) record
|
|
171
|
+
*
|
|
172
|
+
* @example
|
|
173
|
+
* ```typescript
|
|
174
|
+
* // Get all linked Note records
|
|
175
|
+
* const items = await record.notes.list();
|
|
176
|
+
* const first = await record.notes.first();
|
|
177
|
+
*
|
|
178
|
+
* // Filter by label
|
|
179
|
+
* const specific = await record.notes.first({ label: 'YfFieldServiceVisit__Note' });
|
|
180
|
+
* ```
|
|
181
|
+
*/
|
|
182
|
+
get notes() {
|
|
183
|
+
var _a;
|
|
184
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
185
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
186
|
+
if (!this._notes) {
|
|
187
|
+
this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
188
|
+
sourceEntity: 'FieldServiceModule:YfFieldServiceVisit',
|
|
189
|
+
targetEntity: 'SupportModule:Note',
|
|
190
|
+
targetModuleName: 'SupportModule',
|
|
191
|
+
targetEntityName: 'Note',
|
|
192
|
+
labels: ['YfFieldServiceVisit__Note'],
|
|
193
|
+
}, NoteRecord_1.NoteRecord);
|
|
194
|
+
}
|
|
195
|
+
return this._notes;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Access linked WorkOrder records
|
|
199
|
+
* @remarks Available labels: WorkOrder_YfFieldServiceVisit
|
|
200
|
+
* @throws Error if called on a new (unsaved) record
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* // Get all linked WorkOrder records
|
|
205
|
+
* const items = await record.workOrders.list();
|
|
206
|
+
* const first = await record.workOrders.first();
|
|
207
|
+
*
|
|
208
|
+
* // Filter by label
|
|
209
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrder_YfFieldServiceVisit' });
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
get workOrders() {
|
|
213
|
+
var _a;
|
|
214
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
215
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
216
|
+
if (!this._workOrders) {
|
|
217
|
+
this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
218
|
+
sourceEntity: 'FieldServiceModule:YfFieldServiceVisit',
|
|
219
|
+
targetEntity: 'FieldServiceModule:WorkOrder',
|
|
220
|
+
targetModuleName: 'FieldServiceModule',
|
|
221
|
+
targetEntityName: 'WorkOrder',
|
|
222
|
+
labels: ['WorkOrder_YfFieldServiceVisit'],
|
|
223
|
+
}, WorkOrderRecord_1.WorkOrderRecord);
|
|
224
|
+
}
|
|
225
|
+
return this._workOrders;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Access linked File records
|
|
229
|
+
* @remarks Available labels: YfFieldServiceVisit__File
|
|
230
|
+
* @throws Error if called on a new (unsaved) record
|
|
231
|
+
*
|
|
232
|
+
* @example
|
|
233
|
+
* ```typescript
|
|
234
|
+
* // Get all linked File records
|
|
235
|
+
* const items = await record.files.list();
|
|
236
|
+
* const first = await record.files.first();
|
|
237
|
+
*
|
|
238
|
+
* // Filter by label
|
|
239
|
+
* const specific = await record.files.first({ label: 'YfFieldServiceVisit__File' });
|
|
240
|
+
* ```
|
|
241
|
+
*/
|
|
242
|
+
get files() {
|
|
243
|
+
var _a;
|
|
244
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
245
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
246
|
+
if (!this._files) {
|
|
247
|
+
this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
248
|
+
sourceEntity: 'FieldServiceModule:YfFieldServiceVisit',
|
|
249
|
+
targetEntity: 'SchemaModule:File',
|
|
250
|
+
targetModuleName: 'SchemaModule',
|
|
251
|
+
targetEntityName: 'File',
|
|
252
|
+
labels: ['YfFieldServiceVisit__File'],
|
|
253
|
+
}, FileRecord_1.FileRecord);
|
|
254
|
+
}
|
|
255
|
+
return this._files;
|
|
256
|
+
}
|
|
257
|
+
// ============================================
|
|
143
258
|
// LINK MANAGEMENT
|
|
144
259
|
// ============================================
|
|
145
260
|
/**
|
|
@@ -215,6 +330,15 @@ class YfFieldServiceVisitRecord {
|
|
|
215
330
|
}
|
|
216
331
|
}
|
|
217
332
|
exports.YfFieldServiceVisitRecord = YfFieldServiceVisitRecord;
|
|
333
|
+
// ============================================
|
|
334
|
+
// TYPED LINK ACCESSORS
|
|
335
|
+
// ============================================
|
|
336
|
+
/** Valid labels for Note associations */
|
|
337
|
+
YfFieldServiceVisitRecord.notesLabels = ['YfFieldServiceVisit__Note'];
|
|
338
|
+
/** Valid labels for WorkOrder associations */
|
|
339
|
+
YfFieldServiceVisitRecord.workOrdersLabels = ['WorkOrder_YfFieldServiceVisit'];
|
|
340
|
+
/** Valid labels for File associations */
|
|
341
|
+
YfFieldServiceVisitRecord.filesLabels = ['YfFieldServiceVisit__File'];
|
|
218
342
|
/** Type guard to check if an object is a YfFieldServiceVisitRecord */
|
|
219
343
|
function isYfFieldServiceVisitRecord(obj) {
|
|
220
344
|
return obj instanceof YfFieldServiceVisitRecord;
|
|
@@ -13,15 +13,24 @@
|
|
|
13
13
|
* await record.createYfStockAudit({ ... }).execute();
|
|
14
14
|
* ```
|
|
15
15
|
*
|
|
16
|
+
* Entity Types: OUTCOME_FORM
|
|
17
|
+
*
|
|
16
18
|
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
17
19
|
*/
|
|
18
20
|
import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
|
|
19
21
|
import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
|
|
20
22
|
import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
|
|
21
23
|
import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
|
|
22
|
-
import {
|
|
24
|
+
import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
|
|
25
|
+
import { YfStockAuditProperties, OutcomeFormYfStockAuditProperties } from '../entities-v2/YfStockAudit';
|
|
23
26
|
import { CreateYfStockAuditProperties } from '../actions-v2/CreateYfStockAuditDto';
|
|
24
27
|
import { UpdateYfStockAuditProperties } from '../actions-v2/StageChangeTestEntityForVisualBuilderDto';
|
|
28
|
+
import { FileRecord } from './FileRecord';
|
|
29
|
+
import { NoteRecord } from './NoteRecord';
|
|
30
|
+
import { WorkOrderRecord } from './WorkOrderRecord';
|
|
31
|
+
import { TestEntityForVisualBuilderRecord } from './TestEntityForVisualBuilderRecord';
|
|
32
|
+
/** Valid entity types for YfStockAudit */
|
|
33
|
+
export declare type YfStockAuditType = 'OUTCOME_FORM';
|
|
25
34
|
/**
|
|
26
35
|
* Builder for action execution with dryRun support
|
|
27
36
|
*
|
|
@@ -85,6 +94,10 @@ export declare class YfStockAuditRecord<TProps = YfStockAuditProperties> {
|
|
|
85
94
|
private _provider;
|
|
86
95
|
private _pendingLinks;
|
|
87
96
|
private _preGeneratedId;
|
|
97
|
+
private _files?;
|
|
98
|
+
private _notes?;
|
|
99
|
+
private _workOrders?;
|
|
100
|
+
private _testEntityForVisualBuilders?;
|
|
88
101
|
/**
|
|
89
102
|
* Create a record wrapper.
|
|
90
103
|
* @param record - The underlying record, or null for create operations
|
|
@@ -97,7 +110,7 @@ export declare class YfStockAuditRecord<TProps = YfStockAuditProperties> {
|
|
|
97
110
|
/** Record ID - always available (pre-generated for new records) */
|
|
98
111
|
get id(): string;
|
|
99
112
|
get entity(): string;
|
|
100
|
-
get type():
|
|
113
|
+
get type(): YfStockAuditType | undefined;
|
|
101
114
|
/** Record properties - empty object for new (unsaved) records */
|
|
102
115
|
get properties(): TProps;
|
|
103
116
|
get title(): string | undefined;
|
|
@@ -110,6 +123,94 @@ export declare class YfStockAuditRecord<TProps = YfStockAuditProperties> {
|
|
|
110
123
|
get groups(): string[];
|
|
111
124
|
/** Access the underlying OdinRecord (null for new records) */
|
|
112
125
|
get record(): OdinRecord<TProps> | null;
|
|
126
|
+
/**
|
|
127
|
+
* Type guard: check if this record is of type OUTCOME_FORM
|
|
128
|
+
*
|
|
129
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
130
|
+
* giving you access to OUTCOME_FORM-specific properties.
|
|
131
|
+
*
|
|
132
|
+
* @example
|
|
133
|
+
* ```typescript
|
|
134
|
+
* if (record.isOutcomeForm()) {
|
|
135
|
+
* // TypeScript knows record.properties is OutcomeFormYfStockAuditProperties
|
|
136
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
137
|
+
* }
|
|
138
|
+
* ```
|
|
139
|
+
* @remarks outcome form
|
|
140
|
+
*/
|
|
141
|
+
isOutcomeForm(): this is YfStockAuditRecord<OutcomeFormYfStockAuditProperties>;
|
|
142
|
+
/** Valid labels for File associations */
|
|
143
|
+
static readonly filesLabels: readonly ["YfStockAudit__File"];
|
|
144
|
+
/**
|
|
145
|
+
* Access linked File records
|
|
146
|
+
* @remarks Available labels: YfStockAudit__File
|
|
147
|
+
* @throws Error if called on a new (unsaved) record
|
|
148
|
+
*
|
|
149
|
+
* @example
|
|
150
|
+
* ```typescript
|
|
151
|
+
* // Get all linked File records
|
|
152
|
+
* const items = await record.files.list();
|
|
153
|
+
* const first = await record.files.first();
|
|
154
|
+
*
|
|
155
|
+
* // Filter by label
|
|
156
|
+
* const specific = await record.files.first({ label: 'YfStockAudit__File' });
|
|
157
|
+
* ```
|
|
158
|
+
*/
|
|
159
|
+
get files(): RecordLinkManager<FileRecord, typeof YfStockAuditRecord['filesLabels'][number]>;
|
|
160
|
+
/** Valid labels for Note associations */
|
|
161
|
+
static readonly notesLabels: readonly ["YfStockAudit__Note"];
|
|
162
|
+
/**
|
|
163
|
+
* Access linked Note records
|
|
164
|
+
* @remarks Available labels: YfStockAudit__Note
|
|
165
|
+
* @throws Error if called on a new (unsaved) record
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* // Get all linked Note records
|
|
170
|
+
* const items = await record.notes.list();
|
|
171
|
+
* const first = await record.notes.first();
|
|
172
|
+
*
|
|
173
|
+
* // Filter by label
|
|
174
|
+
* const specific = await record.notes.first({ label: 'YfStockAudit__Note' });
|
|
175
|
+
* ```
|
|
176
|
+
*/
|
|
177
|
+
get notes(): RecordLinkManager<NoteRecord, typeof YfStockAuditRecord['notesLabels'][number]>;
|
|
178
|
+
/** Valid labels for WorkOrder associations */
|
|
179
|
+
static readonly workOrdersLabels: readonly ["WorkOrder__YfStockAudit"];
|
|
180
|
+
/**
|
|
181
|
+
* Access linked WorkOrder records
|
|
182
|
+
* @remarks Available labels: WorkOrder__YfStockAudit
|
|
183
|
+
* @throws Error if called on a new (unsaved) record
|
|
184
|
+
*
|
|
185
|
+
* @example
|
|
186
|
+
* ```typescript
|
|
187
|
+
* // Get all linked WorkOrder records
|
|
188
|
+
* const items = await record.workOrders.list();
|
|
189
|
+
* const first = await record.workOrders.first();
|
|
190
|
+
*
|
|
191
|
+
* // Filter by label
|
|
192
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrder__YfStockAudit' });
|
|
193
|
+
* ```
|
|
194
|
+
*/
|
|
195
|
+
get workOrders(): RecordLinkManager<WorkOrderRecord, typeof YfStockAuditRecord['workOrdersLabels'][number]>;
|
|
196
|
+
/** Valid labels for TestEntityForVisualBuilder associations */
|
|
197
|
+
static readonly testEntityForVisualBuildersLabels: readonly ["TestEntityForVisualBuilder__YfStockAudit"];
|
|
198
|
+
/**
|
|
199
|
+
* Access linked TestEntityForVisualBuilder records
|
|
200
|
+
* @remarks Available labels: TestEntityForVisualBuilder__YfStockAudit
|
|
201
|
+
* @throws Error if called on a new (unsaved) record
|
|
202
|
+
*
|
|
203
|
+
* @example
|
|
204
|
+
* ```typescript
|
|
205
|
+
* // Get all linked TestEntityForVisualBuilder records
|
|
206
|
+
* const items = await record.testEntityForVisualBuilders.list();
|
|
207
|
+
* const first = await record.testEntityForVisualBuilders.first();
|
|
208
|
+
*
|
|
209
|
+
* // Filter by label
|
|
210
|
+
* const specific = await record.testEntityForVisualBuilders.first({ label: 'TestEntityForVisualBuilder__YfStockAudit' });
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
get testEntityForVisualBuilders(): RecordLinkManager<TestEntityForVisualBuilderRecord, typeof YfStockAuditRecord['testEntityForVisualBuildersLabels'][number]>;
|
|
113
214
|
/**
|
|
114
215
|
* Queue a link to be created with the next action.
|
|
115
216
|
* Works for both create and update actions.
|