@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
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* await record.createOneTouchSwitch({ ... }).execute();
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
|
+
* Entity Types: DEFAULT, GAINING, LOSING
|
|
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,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
31
|
exports.isOneTouchSwitchRecord = exports.OneTouchSwitchRecord = 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 AccountRecord_1 = require("./AccountRecord");
|
|
36
|
+
const AddressRecord_1 = require("./AddressRecord");
|
|
37
|
+
const InvoiceRecord_1 = require("./InvoiceRecord");
|
|
38
|
+
const NoteRecord_1 = require("./NoteRecord");
|
|
39
|
+
const ActivityRecord_1 = require("./ActivityRecord");
|
|
40
|
+
const OrderItemRecord_1 = require("./OrderItemRecord");
|
|
41
|
+
const ActivityLogRecord_1 = require("./ActivityLogRecord");
|
|
42
|
+
const FileRecord_1 = require("./FileRecord");
|
|
43
|
+
const OrderRecord_1 = require("./OrderRecord");
|
|
44
|
+
const ContactRecord_1 = require("./ContactRecord");
|
|
32
45
|
/**
|
|
33
46
|
* Builder for action execution with dryRun support
|
|
34
47
|
*
|
|
@@ -140,6 +153,357 @@ class OneTouchSwitchRecord {
|
|
|
140
153
|
/** Access the underlying OdinRecord (null for new records) */
|
|
141
154
|
get record() { return this._record; }
|
|
142
155
|
// ============================================
|
|
156
|
+
// TYPE GUARDS (with TypeScript type predicates)
|
|
157
|
+
// ============================================
|
|
158
|
+
/**
|
|
159
|
+
* Type guard: check if this record is of type DEFAULT
|
|
160
|
+
*
|
|
161
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
162
|
+
* giving you access to DEFAULT-specific properties.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* if (record.isDefault()) {
|
|
167
|
+
* // TypeScript knows record.properties is OneTouchSwitchProperties
|
|
168
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
169
|
+
* }
|
|
170
|
+
* ```
|
|
171
|
+
* @remarks This is the default record type
|
|
172
|
+
*/
|
|
173
|
+
isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
|
|
174
|
+
/**
|
|
175
|
+
* Type guard: check if this record is of type GAINING
|
|
176
|
+
*
|
|
177
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
178
|
+
* giving you access to GAINING-specific properties.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```typescript
|
|
182
|
+
* if (record.isGaining()) {
|
|
183
|
+
* // TypeScript knows record.properties is GainingOneTouchSwitchProperties
|
|
184
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
185
|
+
* }
|
|
186
|
+
* ```
|
|
187
|
+
* @remarks gaining
|
|
188
|
+
*/
|
|
189
|
+
isGaining() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'GAINING'; }
|
|
190
|
+
/**
|
|
191
|
+
* Type guard: check if this record is of type LOSING
|
|
192
|
+
*
|
|
193
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
194
|
+
* giving you access to LOSING-specific properties.
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* if (record.isLosing()) {
|
|
199
|
+
* // TypeScript knows record.properties is LosingOneTouchSwitchProperties
|
|
200
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
201
|
+
* }
|
|
202
|
+
* ```
|
|
203
|
+
* @remarks losing
|
|
204
|
+
*/
|
|
205
|
+
isLosing() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'LOSING'; }
|
|
206
|
+
/**
|
|
207
|
+
* Access linked Account records
|
|
208
|
+
* @remarks Available labels: Account__OneTouchSwitch
|
|
209
|
+
* @throws Error if called on a new (unsaved) record
|
|
210
|
+
*
|
|
211
|
+
* @example
|
|
212
|
+
* ```typescript
|
|
213
|
+
* // Get all linked Account records
|
|
214
|
+
* const items = await record.accounts.list();
|
|
215
|
+
* const first = await record.accounts.first();
|
|
216
|
+
*
|
|
217
|
+
* // Filter by label
|
|
218
|
+
* const specific = await record.accounts.first({ label: 'Account__OneTouchSwitch' });
|
|
219
|
+
* ```
|
|
220
|
+
*/
|
|
221
|
+
get accounts() {
|
|
222
|
+
var _a;
|
|
223
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
224
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
225
|
+
if (!this._accounts) {
|
|
226
|
+
this._accounts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
227
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
228
|
+
targetEntity: 'CrmModule:Account',
|
|
229
|
+
targetModuleName: 'CrmModule',
|
|
230
|
+
targetEntityName: 'Account',
|
|
231
|
+
labels: ['Account__OneTouchSwitch'],
|
|
232
|
+
}, AccountRecord_1.AccountRecord);
|
|
233
|
+
}
|
|
234
|
+
return this._accounts;
|
|
235
|
+
}
|
|
236
|
+
/**
|
|
237
|
+
* Access linked Address records
|
|
238
|
+
* @remarks Available labels: OneTouchSwitch__Address
|
|
239
|
+
* @throws Error if called on a new (unsaved) record
|
|
240
|
+
*
|
|
241
|
+
* @example
|
|
242
|
+
* ```typescript
|
|
243
|
+
* // Get all linked Address records
|
|
244
|
+
* const items = await record.addresses.list();
|
|
245
|
+
* const first = await record.addresses.first();
|
|
246
|
+
*
|
|
247
|
+
* // Filter by label
|
|
248
|
+
* const specific = await record.addresses.first({ label: 'OneTouchSwitch__Address' });
|
|
249
|
+
* ```
|
|
250
|
+
*/
|
|
251
|
+
get addresses() {
|
|
252
|
+
var _a;
|
|
253
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
254
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
255
|
+
if (!this._addresses) {
|
|
256
|
+
this._addresses = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
257
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
258
|
+
targetEntity: 'CrmModule:Address',
|
|
259
|
+
targetModuleName: 'CrmModule',
|
|
260
|
+
targetEntityName: 'Address',
|
|
261
|
+
labels: ['OneTouchSwitch__Address'],
|
|
262
|
+
}, AddressRecord_1.AddressRecord);
|
|
263
|
+
}
|
|
264
|
+
return this._addresses;
|
|
265
|
+
}
|
|
266
|
+
/**
|
|
267
|
+
* Access linked Invoice records
|
|
268
|
+
* @remarks Available labels: OneTouchSwitch__Invoice
|
|
269
|
+
* @throws Error if called on a new (unsaved) record
|
|
270
|
+
*
|
|
271
|
+
* @example
|
|
272
|
+
* ```typescript
|
|
273
|
+
* // Get all linked Invoice records
|
|
274
|
+
* const items = await record.invoices.list();
|
|
275
|
+
* const first = await record.invoices.first();
|
|
276
|
+
*
|
|
277
|
+
* // Filter by label
|
|
278
|
+
* const specific = await record.invoices.first({ label: 'OneTouchSwitch__Invoice' });
|
|
279
|
+
* ```
|
|
280
|
+
*/
|
|
281
|
+
get invoices() {
|
|
282
|
+
var _a;
|
|
283
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
284
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
285
|
+
if (!this._invoices) {
|
|
286
|
+
this._invoices = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
287
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
288
|
+
targetEntity: 'BillingModule:Invoice',
|
|
289
|
+
targetModuleName: 'BillingModule',
|
|
290
|
+
targetEntityName: 'Invoice',
|
|
291
|
+
labels: ['OneTouchSwitch__Invoice'],
|
|
292
|
+
}, InvoiceRecord_1.InvoiceRecord);
|
|
293
|
+
}
|
|
294
|
+
return this._invoices;
|
|
295
|
+
}
|
|
296
|
+
/**
|
|
297
|
+
* Access linked Note records
|
|
298
|
+
* @remarks Available labels: OneTouchSwitch_Note
|
|
299
|
+
* @throws Error if called on a new (unsaved) record
|
|
300
|
+
*
|
|
301
|
+
* @example
|
|
302
|
+
* ```typescript
|
|
303
|
+
* // Get all linked Note records
|
|
304
|
+
* const items = await record.notes.list();
|
|
305
|
+
* const first = await record.notes.first();
|
|
306
|
+
*
|
|
307
|
+
* // Filter by label
|
|
308
|
+
* const specific = await record.notes.first({ label: 'OneTouchSwitch_Note' });
|
|
309
|
+
* ```
|
|
310
|
+
*/
|
|
311
|
+
get notes() {
|
|
312
|
+
var _a;
|
|
313
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
314
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
315
|
+
if (!this._notes) {
|
|
316
|
+
this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
317
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
318
|
+
targetEntity: 'SupportModule:Note',
|
|
319
|
+
targetModuleName: 'SupportModule',
|
|
320
|
+
targetEntityName: 'Note',
|
|
321
|
+
labels: ['OneTouchSwitch_Note'],
|
|
322
|
+
}, NoteRecord_1.NoteRecord);
|
|
323
|
+
}
|
|
324
|
+
return this._notes;
|
|
325
|
+
}
|
|
326
|
+
/**
|
|
327
|
+
* Access linked Activity records
|
|
328
|
+
* @remarks Available labels: OneTouchSwitch__Activity
|
|
329
|
+
* @throws Error if called on a new (unsaved) record
|
|
330
|
+
*
|
|
331
|
+
* @example
|
|
332
|
+
* ```typescript
|
|
333
|
+
* // Get all linked Activity records
|
|
334
|
+
* const items = await record.activities.list();
|
|
335
|
+
* const first = await record.activities.first();
|
|
336
|
+
*
|
|
337
|
+
* // Filter by label
|
|
338
|
+
* const specific = await record.activities.first({ label: 'OneTouchSwitch__Activity' });
|
|
339
|
+
* ```
|
|
340
|
+
*/
|
|
341
|
+
get activities() {
|
|
342
|
+
var _a;
|
|
343
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
344
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
345
|
+
if (!this._activities) {
|
|
346
|
+
this._activities = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
347
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
348
|
+
targetEntity: 'SchemaModule:Activity',
|
|
349
|
+
targetModuleName: 'SchemaModule',
|
|
350
|
+
targetEntityName: 'Activity',
|
|
351
|
+
labels: ['OneTouchSwitch__Activity'],
|
|
352
|
+
}, ActivityRecord_1.ActivityRecord);
|
|
353
|
+
}
|
|
354
|
+
return this._activities;
|
|
355
|
+
}
|
|
356
|
+
/**
|
|
357
|
+
* Access linked OrderItem records
|
|
358
|
+
* @remarks Available labels: OneTouchSwitch__OrderItem
|
|
359
|
+
* @throws Error if called on a new (unsaved) record
|
|
360
|
+
*
|
|
361
|
+
* @example
|
|
362
|
+
* ```typescript
|
|
363
|
+
* // Get all linked OrderItem records
|
|
364
|
+
* const items = await record.orderItems.list();
|
|
365
|
+
* const first = await record.orderItems.first();
|
|
366
|
+
*
|
|
367
|
+
* // Filter by label
|
|
368
|
+
* const specific = await record.orderItems.first({ label: 'OneTouchSwitch__OrderItem' });
|
|
369
|
+
* ```
|
|
370
|
+
*/
|
|
371
|
+
get orderItems() {
|
|
372
|
+
var _a;
|
|
373
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
374
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
375
|
+
if (!this._orderItems) {
|
|
376
|
+
this._orderItems = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
377
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
378
|
+
targetEntity: 'OrderModule:OrderItem',
|
|
379
|
+
targetModuleName: 'OrderModule',
|
|
380
|
+
targetEntityName: 'OrderItem',
|
|
381
|
+
labels: ['OneTouchSwitch__OrderItem'],
|
|
382
|
+
}, OrderItemRecord_1.OrderItemRecord);
|
|
383
|
+
}
|
|
384
|
+
return this._orderItems;
|
|
385
|
+
}
|
|
386
|
+
/**
|
|
387
|
+
* Access linked ActivityLog records
|
|
388
|
+
* @remarks Available labels: OneTouchSwitch_ActivityLog
|
|
389
|
+
* @throws Error if called on a new (unsaved) record
|
|
390
|
+
*
|
|
391
|
+
* @example
|
|
392
|
+
* ```typescript
|
|
393
|
+
* // Get all linked ActivityLog records
|
|
394
|
+
* const items = await record.activityLogs.list();
|
|
395
|
+
* const first = await record.activityLogs.first();
|
|
396
|
+
*
|
|
397
|
+
* // Filter by label
|
|
398
|
+
* const specific = await record.activityLogs.first({ label: 'OneTouchSwitch_ActivityLog' });
|
|
399
|
+
* ```
|
|
400
|
+
*/
|
|
401
|
+
get activityLogs() {
|
|
402
|
+
var _a;
|
|
403
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
404
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
405
|
+
if (!this._activityLogs) {
|
|
406
|
+
this._activityLogs = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
407
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
408
|
+
targetEntity: 'AuditModule:ActivityLog',
|
|
409
|
+
targetModuleName: 'AuditModule',
|
|
410
|
+
targetEntityName: 'ActivityLog',
|
|
411
|
+
labels: ['OneTouchSwitch_ActivityLog'],
|
|
412
|
+
}, ActivityLogRecord_1.ActivityLogRecord);
|
|
413
|
+
}
|
|
414
|
+
return this._activityLogs;
|
|
415
|
+
}
|
|
416
|
+
/**
|
|
417
|
+
* Access linked File records
|
|
418
|
+
* @remarks Available labels: OneTouchSwitch_File
|
|
419
|
+
* @throws Error if called on a new (unsaved) record
|
|
420
|
+
*
|
|
421
|
+
* @example
|
|
422
|
+
* ```typescript
|
|
423
|
+
* // Get all linked File records
|
|
424
|
+
* const items = await record.files.list();
|
|
425
|
+
* const first = await record.files.first();
|
|
426
|
+
*
|
|
427
|
+
* // Filter by label
|
|
428
|
+
* const specific = await record.files.first({ label: 'OneTouchSwitch_File' });
|
|
429
|
+
* ```
|
|
430
|
+
*/
|
|
431
|
+
get files() {
|
|
432
|
+
var _a;
|
|
433
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
434
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
435
|
+
if (!this._files) {
|
|
436
|
+
this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
437
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
438
|
+
targetEntity: 'SchemaModule:File',
|
|
439
|
+
targetModuleName: 'SchemaModule',
|
|
440
|
+
targetEntityName: 'File',
|
|
441
|
+
labels: ['OneTouchSwitch_File'],
|
|
442
|
+
}, FileRecord_1.FileRecord);
|
|
443
|
+
}
|
|
444
|
+
return this._files;
|
|
445
|
+
}
|
|
446
|
+
/**
|
|
447
|
+
* Access linked Order records
|
|
448
|
+
* @remarks Available labels: OneTouchSwitch__Order
|
|
449
|
+
* @throws Error if called on a new (unsaved) record
|
|
450
|
+
*
|
|
451
|
+
* @example
|
|
452
|
+
* ```typescript
|
|
453
|
+
* // Get all linked Order records
|
|
454
|
+
* const items = await record.orders.list();
|
|
455
|
+
* const first = await record.orders.first();
|
|
456
|
+
*
|
|
457
|
+
* // Filter by label
|
|
458
|
+
* const specific = await record.orders.first({ label: 'OneTouchSwitch__Order' });
|
|
459
|
+
* ```
|
|
460
|
+
*/
|
|
461
|
+
get orders() {
|
|
462
|
+
var _a;
|
|
463
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
464
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
465
|
+
if (!this._orders) {
|
|
466
|
+
this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
467
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
468
|
+
targetEntity: 'OrderModule:Order',
|
|
469
|
+
targetModuleName: 'OrderModule',
|
|
470
|
+
targetEntityName: 'Order',
|
|
471
|
+
labels: ['OneTouchSwitch__Order'],
|
|
472
|
+
}, OrderRecord_1.OrderRecord);
|
|
473
|
+
}
|
|
474
|
+
return this._orders;
|
|
475
|
+
}
|
|
476
|
+
/**
|
|
477
|
+
* Access linked Contact records
|
|
478
|
+
* @remarks Available labels: OneTouchSwitch__Contact
|
|
479
|
+
* @throws Error if called on a new (unsaved) record
|
|
480
|
+
*
|
|
481
|
+
* @example
|
|
482
|
+
* ```typescript
|
|
483
|
+
* // Get all linked Contact records
|
|
484
|
+
* const items = await record.contacts.list();
|
|
485
|
+
* const first = await record.contacts.first();
|
|
486
|
+
*
|
|
487
|
+
* // Filter by label
|
|
488
|
+
* const specific = await record.contacts.first({ label: 'OneTouchSwitch__Contact' });
|
|
489
|
+
* ```
|
|
490
|
+
*/
|
|
491
|
+
get contacts() {
|
|
492
|
+
var _a;
|
|
493
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
494
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
495
|
+
if (!this._contacts) {
|
|
496
|
+
this._contacts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
497
|
+
sourceEntity: 'OrderModule:OneTouchSwitch',
|
|
498
|
+
targetEntity: 'CrmModule:Contact',
|
|
499
|
+
targetModuleName: 'CrmModule',
|
|
500
|
+
targetEntityName: 'Contact',
|
|
501
|
+
labels: ['OneTouchSwitch__Contact'],
|
|
502
|
+
}, ContactRecord_1.ContactRecord);
|
|
503
|
+
}
|
|
504
|
+
return this._contacts;
|
|
505
|
+
}
|
|
506
|
+
// ============================================
|
|
143
507
|
// LINK MANAGEMENT
|
|
144
508
|
// ============================================
|
|
145
509
|
/**
|
|
@@ -292,6 +656,29 @@ class OneTouchSwitchRecord {
|
|
|
292
656
|
}
|
|
293
657
|
}
|
|
294
658
|
exports.OneTouchSwitchRecord = OneTouchSwitchRecord;
|
|
659
|
+
// ============================================
|
|
660
|
+
// TYPED LINK ACCESSORS
|
|
661
|
+
// ============================================
|
|
662
|
+
/** Valid labels for Account associations */
|
|
663
|
+
OneTouchSwitchRecord.accountsLabels = ['Account__OneTouchSwitch'];
|
|
664
|
+
/** Valid labels for Address associations */
|
|
665
|
+
OneTouchSwitchRecord.addressesLabels = ['OneTouchSwitch__Address'];
|
|
666
|
+
/** Valid labels for Invoice associations */
|
|
667
|
+
OneTouchSwitchRecord.invoicesLabels = ['OneTouchSwitch__Invoice'];
|
|
668
|
+
/** Valid labels for Note associations */
|
|
669
|
+
OneTouchSwitchRecord.notesLabels = ['OneTouchSwitch_Note'];
|
|
670
|
+
/** Valid labels for Activity associations */
|
|
671
|
+
OneTouchSwitchRecord.activitiesLabels = ['OneTouchSwitch__Activity'];
|
|
672
|
+
/** Valid labels for OrderItem associations */
|
|
673
|
+
OneTouchSwitchRecord.orderItemsLabels = ['OneTouchSwitch__OrderItem'];
|
|
674
|
+
/** Valid labels for ActivityLog associations */
|
|
675
|
+
OneTouchSwitchRecord.activityLogsLabels = ['OneTouchSwitch_ActivityLog'];
|
|
676
|
+
/** Valid labels for File associations */
|
|
677
|
+
OneTouchSwitchRecord.filesLabels = ['OneTouchSwitch_File'];
|
|
678
|
+
/** Valid labels for Order associations */
|
|
679
|
+
OneTouchSwitchRecord.ordersLabels = ['OneTouchSwitch__Order'];
|
|
680
|
+
/** Valid labels for Contact associations */
|
|
681
|
+
OneTouchSwitchRecord.contactsLabels = ['OneTouchSwitch__Contact'];
|
|
295
682
|
/** Type guard to check if an object is a OneTouchSwitchRecord */
|
|
296
683
|
function isOneTouchSwitchRecord(obj) {
|
|
297
684
|
return obj instanceof OneTouchSwitchRecord;
|
|
@@ -13,15 +13,22 @@
|
|
|
13
13
|
* await record.createOntReplacementApproval({ ... }).execute();
|
|
14
14
|
* ```
|
|
15
15
|
*
|
|
16
|
+
* Entity Types: DEFAULT
|
|
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';
|
|
24
|
+
import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
|
|
22
25
|
import { OntReplacementApprovalProperties } from '../entities-v2/OntReplacementApproval';
|
|
23
26
|
import { ChangeOntReplacementRequestApprovalStatusProperties } from '../actions-v2/ChangeOntReplacementRequestApprovalStatusDto';
|
|
24
27
|
import { CreateOntReplacementApprovalProperties } from '../actions-v2/CreateOntReplacementApprovalDto';
|
|
28
|
+
import { WorkOrderRecord } from './WorkOrderRecord';
|
|
29
|
+
import { CustomerDeviceOntRecord } from './CustomerDeviceOntRecord';
|
|
30
|
+
/** Valid entity types for OntReplacementApproval */
|
|
31
|
+
export declare type OntReplacementApprovalType = 'DEFAULT';
|
|
25
32
|
/**
|
|
26
33
|
* Builder for action execution with dryRun support
|
|
27
34
|
*
|
|
@@ -85,6 +92,8 @@ export declare class OntReplacementApprovalRecord<TProps = OntReplacementApprova
|
|
|
85
92
|
private _provider;
|
|
86
93
|
private _pendingLinks;
|
|
87
94
|
private _preGeneratedId;
|
|
95
|
+
private _workOrders?;
|
|
96
|
+
private _customerDeviceOnts?;
|
|
88
97
|
/**
|
|
89
98
|
* Create a record wrapper.
|
|
90
99
|
* @param record - The underlying record, or null for create operations
|
|
@@ -97,7 +106,7 @@ export declare class OntReplacementApprovalRecord<TProps = OntReplacementApprova
|
|
|
97
106
|
/** Record ID - always available (pre-generated for new records) */
|
|
98
107
|
get id(): string;
|
|
99
108
|
get entity(): string;
|
|
100
|
-
get type():
|
|
109
|
+
get type(): OntReplacementApprovalType | undefined;
|
|
101
110
|
/** Record properties - empty object for new (unsaved) records */
|
|
102
111
|
get properties(): TProps;
|
|
103
112
|
get title(): string | undefined;
|
|
@@ -110,6 +119,58 @@ export declare class OntReplacementApprovalRecord<TProps = OntReplacementApprova
|
|
|
110
119
|
get groups(): string[];
|
|
111
120
|
/** Access the underlying OdinRecord (null for new records) */
|
|
112
121
|
get record(): OdinRecord<TProps> | null;
|
|
122
|
+
/**
|
|
123
|
+
* Type guard: check if this record is of type DEFAULT
|
|
124
|
+
*
|
|
125
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
126
|
+
* giving you access to DEFAULT-specific properties.
|
|
127
|
+
*
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* if (record.isDefault()) {
|
|
131
|
+
* // TypeScript knows record.properties is OntReplacementApprovalProperties
|
|
132
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
* @remarks This is the default record type
|
|
136
|
+
*/
|
|
137
|
+
isDefault(): this is OntReplacementApprovalRecord<OntReplacementApprovalProperties>;
|
|
138
|
+
/** Valid labels for WorkOrder associations */
|
|
139
|
+
static readonly workOrdersLabels: readonly ["OntReplacementApproval_WorkOrder"];
|
|
140
|
+
/**
|
|
141
|
+
* Access linked WorkOrder records
|
|
142
|
+
* @remarks Available labels: OntReplacementApproval_WorkOrder
|
|
143
|
+
* @throws Error if called on a new (unsaved) record
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* // Get all linked WorkOrder records
|
|
148
|
+
* const items = await record.workOrders.list();
|
|
149
|
+
* const first = await record.workOrders.first();
|
|
150
|
+
*
|
|
151
|
+
* // Filter by label
|
|
152
|
+
* const specific = await record.workOrders.first({ label: 'OntReplacementApproval_WorkOrder' });
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
get workOrders(): RecordLinkManager<WorkOrderRecord, typeof OntReplacementApprovalRecord['workOrdersLabels'][number]>;
|
|
156
|
+
/** Valid labels for CustomerDeviceOnt associations */
|
|
157
|
+
static readonly customerDeviceOntsLabels: readonly ["OntReplacementApproval_CustomerDeviceOnt"];
|
|
158
|
+
/**
|
|
159
|
+
* Access linked CustomerDeviceOnt records
|
|
160
|
+
* @remarks Available labels: OntReplacementApproval_CustomerDeviceOnt
|
|
161
|
+
* @throws Error if called on a new (unsaved) record
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* // Get all linked CustomerDeviceOnt records
|
|
166
|
+
* const items = await record.customerDeviceOnts.list();
|
|
167
|
+
* const first = await record.customerDeviceOnts.first();
|
|
168
|
+
*
|
|
169
|
+
* // Filter by label
|
|
170
|
+
* const specific = await record.customerDeviceOnts.first({ label: 'OntReplacementApproval_CustomerDeviceOnt' });
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
get customerDeviceOnts(): RecordLinkManager<CustomerDeviceOntRecord, typeof OntReplacementApprovalRecord['customerDeviceOntsLabels'][number]>;
|
|
113
174
|
/**
|
|
114
175
|
* Queue a link to be created with the next action.
|
|
115
176
|
* Works for both create and update actions.
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* await record.createOntReplacementApproval({ ... }).execute();
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
|
+
* Entity Types: DEFAULT
|
|
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,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
31
|
exports.isOntReplacementApprovalRecord = exports.OntReplacementApprovalRecord = 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");
|
|
36
|
+
const CustomerDeviceOntRecord_1 = require("./CustomerDeviceOntRecord");
|
|
32
37
|
/**
|
|
33
38
|
* Builder for action execution with dryRun support
|
|
34
39
|
*
|
|
@@ -140,6 +145,85 @@ class OntReplacementApprovalRecord {
|
|
|
140
145
|
/** Access the underlying OdinRecord (null for new records) */
|
|
141
146
|
get record() { return this._record; }
|
|
142
147
|
// ============================================
|
|
148
|
+
// TYPE GUARDS (with TypeScript type predicates)
|
|
149
|
+
// ============================================
|
|
150
|
+
/**
|
|
151
|
+
* Type guard: check if this record is of type DEFAULT
|
|
152
|
+
*
|
|
153
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
154
|
+
* giving you access to DEFAULT-specific properties.
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* if (record.isDefault()) {
|
|
159
|
+
* // TypeScript knows record.properties is OntReplacementApprovalProperties
|
|
160
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
161
|
+
* }
|
|
162
|
+
* ```
|
|
163
|
+
* @remarks This is the default record type
|
|
164
|
+
*/
|
|
165
|
+
isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
|
|
166
|
+
/**
|
|
167
|
+
* Access linked WorkOrder records
|
|
168
|
+
* @remarks Available labels: OntReplacementApproval_WorkOrder
|
|
169
|
+
* @throws Error if called on a new (unsaved) record
|
|
170
|
+
*
|
|
171
|
+
* @example
|
|
172
|
+
* ```typescript
|
|
173
|
+
* // Get all linked WorkOrder records
|
|
174
|
+
* const items = await record.workOrders.list();
|
|
175
|
+
* const first = await record.workOrders.first();
|
|
176
|
+
*
|
|
177
|
+
* // Filter by label
|
|
178
|
+
* const specific = await record.workOrders.first({ label: 'OntReplacementApproval_WorkOrder' });
|
|
179
|
+
* ```
|
|
180
|
+
*/
|
|
181
|
+
get workOrders() {
|
|
182
|
+
var _a;
|
|
183
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
184
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
185
|
+
if (!this._workOrders) {
|
|
186
|
+
this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
187
|
+
sourceEntity: 'FieldServiceModule:OntReplacementApproval',
|
|
188
|
+
targetEntity: 'FieldServiceModule:WorkOrder',
|
|
189
|
+
targetModuleName: 'FieldServiceModule',
|
|
190
|
+
targetEntityName: 'WorkOrder',
|
|
191
|
+
labels: ['OntReplacementApproval_WorkOrder'],
|
|
192
|
+
}, WorkOrderRecord_1.WorkOrderRecord);
|
|
193
|
+
}
|
|
194
|
+
return this._workOrders;
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Access linked CustomerDeviceOnt records
|
|
198
|
+
* @remarks Available labels: OntReplacementApproval_CustomerDeviceOnt
|
|
199
|
+
* @throws Error if called on a new (unsaved) record
|
|
200
|
+
*
|
|
201
|
+
* @example
|
|
202
|
+
* ```typescript
|
|
203
|
+
* // Get all linked CustomerDeviceOnt records
|
|
204
|
+
* const items = await record.customerDeviceOnts.list();
|
|
205
|
+
* const first = await record.customerDeviceOnts.first();
|
|
206
|
+
*
|
|
207
|
+
* // Filter by label
|
|
208
|
+
* const specific = await record.customerDeviceOnts.first({ label: 'OntReplacementApproval_CustomerDeviceOnt' });
|
|
209
|
+
* ```
|
|
210
|
+
*/
|
|
211
|
+
get customerDeviceOnts() {
|
|
212
|
+
var _a;
|
|
213
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
214
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
215
|
+
if (!this._customerDeviceOnts) {
|
|
216
|
+
this._customerDeviceOnts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
217
|
+
sourceEntity: 'FieldServiceModule:OntReplacementApproval',
|
|
218
|
+
targetEntity: 'ServiceModule:CustomerDeviceOnt',
|
|
219
|
+
targetModuleName: 'ServiceModule',
|
|
220
|
+
targetEntityName: 'CustomerDeviceOnt',
|
|
221
|
+
labels: ['OntReplacementApproval_CustomerDeviceOnt'],
|
|
222
|
+
}, CustomerDeviceOntRecord_1.CustomerDeviceOntRecord);
|
|
223
|
+
}
|
|
224
|
+
return this._customerDeviceOnts;
|
|
225
|
+
}
|
|
226
|
+
// ============================================
|
|
143
227
|
// LINK MANAGEMENT
|
|
144
228
|
// ============================================
|
|
145
229
|
/**
|
|
@@ -255,6 +339,13 @@ class OntReplacementApprovalRecord {
|
|
|
255
339
|
}
|
|
256
340
|
}
|
|
257
341
|
exports.OntReplacementApprovalRecord = OntReplacementApprovalRecord;
|
|
342
|
+
// ============================================
|
|
343
|
+
// TYPED LINK ACCESSORS
|
|
344
|
+
// ============================================
|
|
345
|
+
/** Valid labels for WorkOrder associations */
|
|
346
|
+
OntReplacementApprovalRecord.workOrdersLabels = ['OntReplacementApproval_WorkOrder'];
|
|
347
|
+
/** Valid labels for CustomerDeviceOnt associations */
|
|
348
|
+
OntReplacementApprovalRecord.customerDeviceOntsLabels = ['OntReplacementApproval_CustomerDeviceOnt'];
|
|
258
349
|
/** Type guard to check if an object is a OntReplacementApprovalRecord */
|
|
259
350
|
function isOntReplacementApprovalRecord(obj) {
|
|
260
351
|
return obj instanceof OntReplacementApprovalRecord;
|
|
@@ -19,9 +19,11 @@ import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
|
|
|
19
19
|
import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
|
|
20
20
|
import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
|
|
21
21
|
import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
|
|
22
|
+
import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
|
|
22
23
|
import { OrderCheckProperties } from '../entities-v2/OrderCheck';
|
|
23
24
|
import { CreateOrderCheckProperties } from '../actions-v2/CreateOrderCheckDto';
|
|
24
25
|
import { UpdateProperties } from '../actions-v2/UpdateDto';
|
|
26
|
+
import { OrderRecord } from './OrderRecord';
|
|
25
27
|
/**
|
|
26
28
|
* Builder for action execution with dryRun support
|
|
27
29
|
*
|
|
@@ -85,6 +87,7 @@ export declare class OrderCheckRecord<TProps = OrderCheckProperties> {
|
|
|
85
87
|
private _provider;
|
|
86
88
|
private _pendingLinks;
|
|
87
89
|
private _preGeneratedId;
|
|
90
|
+
private _orders?;
|
|
88
91
|
/**
|
|
89
92
|
* Create a record wrapper.
|
|
90
93
|
* @param record - The underlying record, or null for create operations
|
|
@@ -110,6 +113,24 @@ export declare class OrderCheckRecord<TProps = OrderCheckProperties> {
|
|
|
110
113
|
get groups(): string[];
|
|
111
114
|
/** Access the underlying OdinRecord (null for new records) */
|
|
112
115
|
get record(): OdinRecord<TProps> | null;
|
|
116
|
+
/** Valid labels for Order associations */
|
|
117
|
+
static readonly ordersLabels: readonly ["Order__OrderCheck"];
|
|
118
|
+
/**
|
|
119
|
+
* Access linked Order records
|
|
120
|
+
* @remarks Available labels: Order__OrderCheck
|
|
121
|
+
* @throws Error if called on a new (unsaved) record
|
|
122
|
+
*
|
|
123
|
+
* @example
|
|
124
|
+
* ```typescript
|
|
125
|
+
* // Get all linked Order records
|
|
126
|
+
* const items = await record.orders.list();
|
|
127
|
+
* const first = await record.orders.first();
|
|
128
|
+
*
|
|
129
|
+
* // Filter by label
|
|
130
|
+
* const specific = await record.orders.first({ label: 'Order__OrderCheck' });
|
|
131
|
+
* ```
|
|
132
|
+
*/
|
|
133
|
+
get orders(): RecordLinkManager<OrderRecord, typeof OrderCheckRecord['ordersLabels'][number]>;
|
|
113
134
|
/**
|
|
114
135
|
* Queue a link to be created with the next action.
|
|
115
136
|
* Works for both create and update actions.
|