@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.createSiteSpecificRiskAssessmentOutcomeForm({ ... }).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.isSiteSpecificRiskAssessmentOutcomeFormRecord = exports.SiteSpecificRiskAssessmentOutcomeFormRecord = 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 SiteSpecificRiskAssessmentOutcomeFormRecord {
|
|
|
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 OutcomeFormSiteSpecificRiskAssessmentOutcomeFormProperties
|
|
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: SiteSpecificRiskAssessmentOutcomeForm__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: 'SiteSpecificRiskAssessmentOutcomeForm__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:SiteSpecificRiskAssessmentOutcomeForm',
|
|
189
|
+
targetEntity: 'SupportModule:Note',
|
|
190
|
+
targetModuleName: 'SupportModule',
|
|
191
|
+
targetEntityName: 'Note',
|
|
192
|
+
labels: ['SiteSpecificRiskAssessmentOutcomeForm__Note'],
|
|
193
|
+
}, NoteRecord_1.NoteRecord);
|
|
194
|
+
}
|
|
195
|
+
return this._notes;
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Access linked WorkOrder records
|
|
199
|
+
* @remarks Available labels: WorkOrder__SiteSpecificRiskAssessmentOutcomeForm
|
|
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__SiteSpecificRiskAssessmentOutcomeForm' });
|
|
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:SiteSpecificRiskAssessmentOutcomeForm',
|
|
219
|
+
targetEntity: 'FieldServiceModule:WorkOrder',
|
|
220
|
+
targetModuleName: 'FieldServiceModule',
|
|
221
|
+
targetEntityName: 'WorkOrder',
|
|
222
|
+
labels: ['WorkOrder__SiteSpecificRiskAssessmentOutcomeForm'],
|
|
223
|
+
}, WorkOrderRecord_1.WorkOrderRecord);
|
|
224
|
+
}
|
|
225
|
+
return this._workOrders;
|
|
226
|
+
}
|
|
227
|
+
/**
|
|
228
|
+
* Access linked File records
|
|
229
|
+
* @remarks Available labels: SiteSpecificRiskAssessmentOutcomeForm__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: 'SiteSpecificRiskAssessmentOutcomeForm__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:SiteSpecificRiskAssessmentOutcomeForm',
|
|
249
|
+
targetEntity: 'SchemaModule:File',
|
|
250
|
+
targetModuleName: 'SchemaModule',
|
|
251
|
+
targetEntityName: 'File',
|
|
252
|
+
labels: ['SiteSpecificRiskAssessmentOutcomeForm__File'],
|
|
253
|
+
}, FileRecord_1.FileRecord);
|
|
254
|
+
}
|
|
255
|
+
return this._files;
|
|
256
|
+
}
|
|
257
|
+
// ============================================
|
|
143
258
|
// LINK MANAGEMENT
|
|
144
259
|
// ============================================
|
|
145
260
|
/**
|
|
@@ -247,6 +362,15 @@ class SiteSpecificRiskAssessmentOutcomeFormRecord {
|
|
|
247
362
|
}
|
|
248
363
|
}
|
|
249
364
|
exports.SiteSpecificRiskAssessmentOutcomeFormRecord = SiteSpecificRiskAssessmentOutcomeFormRecord;
|
|
365
|
+
// ============================================
|
|
366
|
+
// TYPED LINK ACCESSORS
|
|
367
|
+
// ============================================
|
|
368
|
+
/** Valid labels for Note associations */
|
|
369
|
+
SiteSpecificRiskAssessmentOutcomeFormRecord.notesLabels = ['SiteSpecificRiskAssessmentOutcomeForm__Note'];
|
|
370
|
+
/** Valid labels for WorkOrder associations */
|
|
371
|
+
SiteSpecificRiskAssessmentOutcomeFormRecord.workOrdersLabels = ['WorkOrder__SiteSpecificRiskAssessmentOutcomeForm'];
|
|
372
|
+
/** Valid labels for File associations */
|
|
373
|
+
SiteSpecificRiskAssessmentOutcomeFormRecord.filesLabels = ['SiteSpecificRiskAssessmentOutcomeForm__File'];
|
|
250
374
|
/** Type guard to check if an object is a SiteSpecificRiskAssessmentOutcomeFormRecord */
|
|
251
375
|
function isSiteSpecificRiskAssessmentOutcomeFormRecord(obj) {
|
|
252
376
|
return obj instanceof SiteSpecificRiskAssessmentOutcomeFormRecord;
|
|
@@ -13,14 +13,25 @@
|
|
|
13
13
|
* await record.createSmsMessage({ ... }).execute();
|
|
14
14
|
* ```
|
|
15
15
|
*
|
|
16
|
+
* Entity Types: DEFAULT, INBOUND, OUTBOUND
|
|
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 { SmsMessageProperties, InboundSmsMessageProperties, OutboundSmsMessageProperties } from '../entities-v2/SmsMessage';
|
|
23
26
|
import { CreateOutboundSmsProperties } from '../actions-v2/CreateOutboundSmsDto';
|
|
27
|
+
import { CaseRecord } from './CaseRecord';
|
|
28
|
+
import { ContactRecord } from './ContactRecord';
|
|
29
|
+
import { NoteRecord } from './NoteRecord';
|
|
30
|
+
import { OrderRecord } from './OrderRecord';
|
|
31
|
+
import { WorkOrderRecord } from './WorkOrderRecord';
|
|
32
|
+
import { InvoiceRecord } from './InvoiceRecord';
|
|
33
|
+
/** Valid entity types for SmsMessage */
|
|
34
|
+
export declare type SmsMessageType = 'DEFAULT' | 'INBOUND' | 'OUTBOUND';
|
|
24
35
|
/**
|
|
25
36
|
* Builder for action execution with dryRun support
|
|
26
37
|
*
|
|
@@ -84,6 +95,12 @@ export declare class SmsMessageRecord<TProps = SmsMessageProperties> {
|
|
|
84
95
|
private _provider;
|
|
85
96
|
private _pendingLinks;
|
|
86
97
|
private _preGeneratedId;
|
|
98
|
+
private _cases?;
|
|
99
|
+
private _contacts?;
|
|
100
|
+
private _notes?;
|
|
101
|
+
private _orders?;
|
|
102
|
+
private _workOrders?;
|
|
103
|
+
private _invoices?;
|
|
87
104
|
/**
|
|
88
105
|
* Create a record wrapper.
|
|
89
106
|
* @param record - The underlying record, or null for create operations
|
|
@@ -96,7 +113,7 @@ export declare class SmsMessageRecord<TProps = SmsMessageProperties> {
|
|
|
96
113
|
/** Record ID - always available (pre-generated for new records) */
|
|
97
114
|
get id(): string;
|
|
98
115
|
get entity(): string;
|
|
99
|
-
get type():
|
|
116
|
+
get type(): SmsMessageType | undefined;
|
|
100
117
|
/** Record properties - empty object for new (unsaved) records */
|
|
101
118
|
get properties(): TProps;
|
|
102
119
|
get title(): string | undefined;
|
|
@@ -109,6 +126,162 @@ export declare class SmsMessageRecord<TProps = SmsMessageProperties> {
|
|
|
109
126
|
get groups(): string[];
|
|
110
127
|
/** Access the underlying OdinRecord (null for new records) */
|
|
111
128
|
get record(): OdinRecord<TProps> | null;
|
|
129
|
+
/**
|
|
130
|
+
* Type guard: check if this record is of type DEFAULT
|
|
131
|
+
*
|
|
132
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
133
|
+
* giving you access to DEFAULT-specific properties.
|
|
134
|
+
*
|
|
135
|
+
* @example
|
|
136
|
+
* ```typescript
|
|
137
|
+
* if (record.isDefault()) {
|
|
138
|
+
* // TypeScript knows record.properties is SmsMessageProperties
|
|
139
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
140
|
+
* }
|
|
141
|
+
* ```
|
|
142
|
+
* @remarks This is the default record type
|
|
143
|
+
*/
|
|
144
|
+
isDefault(): this is SmsMessageRecord<SmsMessageProperties>;
|
|
145
|
+
/**
|
|
146
|
+
* Type guard: check if this record is of type INBOUND
|
|
147
|
+
*
|
|
148
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
149
|
+
* giving you access to INBOUND-specific properties.
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* if (record.isInbound()) {
|
|
154
|
+
* // TypeScript knows record.properties is InboundSmsMessageProperties
|
|
155
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
156
|
+
* }
|
|
157
|
+
* ```
|
|
158
|
+
* @remarks an inbound message
|
|
159
|
+
*/
|
|
160
|
+
isInbound(): this is SmsMessageRecord<InboundSmsMessageProperties>;
|
|
161
|
+
/**
|
|
162
|
+
* Type guard: check if this record is of type OUTBOUND
|
|
163
|
+
*
|
|
164
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
165
|
+
* giving you access to OUTBOUND-specific properties.
|
|
166
|
+
*
|
|
167
|
+
* @example
|
|
168
|
+
* ```typescript
|
|
169
|
+
* if (record.isOutbound()) {
|
|
170
|
+
* // TypeScript knows record.properties is OutboundSmsMessageProperties
|
|
171
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
172
|
+
* }
|
|
173
|
+
* ```
|
|
174
|
+
* @remarks Outbound message
|
|
175
|
+
*/
|
|
176
|
+
isOutbound(): this is SmsMessageRecord<OutboundSmsMessageProperties>;
|
|
177
|
+
/** Valid labels for Case associations */
|
|
178
|
+
static readonly casesLabels: readonly ["Case__SmsMessage"];
|
|
179
|
+
/**
|
|
180
|
+
* Access linked Case records
|
|
181
|
+
* @remarks Available labels: Case__SmsMessage
|
|
182
|
+
* @throws Error if called on a new (unsaved) record
|
|
183
|
+
*
|
|
184
|
+
* @example
|
|
185
|
+
* ```typescript
|
|
186
|
+
* // Get all linked Case records
|
|
187
|
+
* const items = await record.cases.list();
|
|
188
|
+
* const first = await record.cases.first();
|
|
189
|
+
*
|
|
190
|
+
* // Filter by label
|
|
191
|
+
* const specific = await record.cases.first({ label: 'Case__SmsMessage' });
|
|
192
|
+
* ```
|
|
193
|
+
*/
|
|
194
|
+
get cases(): RecordLinkManager<CaseRecord, typeof SmsMessageRecord['casesLabels'][number]>;
|
|
195
|
+
/** Valid labels for Contact associations */
|
|
196
|
+
static readonly contactsLabels: readonly ["Contact__SmsMessage"];
|
|
197
|
+
/**
|
|
198
|
+
* Access linked Contact records
|
|
199
|
+
* @remarks Available labels: Contact__SmsMessage
|
|
200
|
+
* @throws Error if called on a new (unsaved) record
|
|
201
|
+
*
|
|
202
|
+
* @example
|
|
203
|
+
* ```typescript
|
|
204
|
+
* // Get all linked Contact records
|
|
205
|
+
* const items = await record.contacts.list();
|
|
206
|
+
* const first = await record.contacts.first();
|
|
207
|
+
*
|
|
208
|
+
* // Filter by label
|
|
209
|
+
* const specific = await record.contacts.first({ label: 'Contact__SmsMessage' });
|
|
210
|
+
* ```
|
|
211
|
+
*/
|
|
212
|
+
get contacts(): RecordLinkManager<ContactRecord, typeof SmsMessageRecord['contactsLabels'][number]>;
|
|
213
|
+
/** Valid labels for Note associations */
|
|
214
|
+
static readonly notesLabels: readonly ["SmsMessage__Note"];
|
|
215
|
+
/**
|
|
216
|
+
* Access linked Note records
|
|
217
|
+
* @remarks Available labels: SmsMessage__Note
|
|
218
|
+
* @throws Error if called on a new (unsaved) record
|
|
219
|
+
*
|
|
220
|
+
* @example
|
|
221
|
+
* ```typescript
|
|
222
|
+
* // Get all linked Note records
|
|
223
|
+
* const items = await record.notes.list();
|
|
224
|
+
* const first = await record.notes.first();
|
|
225
|
+
*
|
|
226
|
+
* // Filter by label
|
|
227
|
+
* const specific = await record.notes.first({ label: 'SmsMessage__Note' });
|
|
228
|
+
* ```
|
|
229
|
+
*/
|
|
230
|
+
get notes(): RecordLinkManager<NoteRecord, typeof SmsMessageRecord['notesLabels'][number]>;
|
|
231
|
+
/** Valid labels for Order associations */
|
|
232
|
+
static readonly ordersLabels: readonly ["Order__SmsMessage"];
|
|
233
|
+
/**
|
|
234
|
+
* Access linked Order records
|
|
235
|
+
* @remarks Available labels: Order__SmsMessage
|
|
236
|
+
* @throws Error if called on a new (unsaved) record
|
|
237
|
+
*
|
|
238
|
+
* @example
|
|
239
|
+
* ```typescript
|
|
240
|
+
* // Get all linked Order records
|
|
241
|
+
* const items = await record.orders.list();
|
|
242
|
+
* const first = await record.orders.first();
|
|
243
|
+
*
|
|
244
|
+
* // Filter by label
|
|
245
|
+
* const specific = await record.orders.first({ label: 'Order__SmsMessage' });
|
|
246
|
+
* ```
|
|
247
|
+
*/
|
|
248
|
+
get orders(): RecordLinkManager<OrderRecord, typeof SmsMessageRecord['ordersLabels'][number]>;
|
|
249
|
+
/** Valid labels for WorkOrder associations */
|
|
250
|
+
static readonly workOrdersLabels: readonly ["WorkOrder__SmsMessage"];
|
|
251
|
+
/**
|
|
252
|
+
* Access linked WorkOrder records
|
|
253
|
+
* @remarks Available labels: WorkOrder__SmsMessage
|
|
254
|
+
* @throws Error if called on a new (unsaved) record
|
|
255
|
+
*
|
|
256
|
+
* @example
|
|
257
|
+
* ```typescript
|
|
258
|
+
* // Get all linked WorkOrder records
|
|
259
|
+
* const items = await record.workOrders.list();
|
|
260
|
+
* const first = await record.workOrders.first();
|
|
261
|
+
*
|
|
262
|
+
* // Filter by label
|
|
263
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrder__SmsMessage' });
|
|
264
|
+
* ```
|
|
265
|
+
*/
|
|
266
|
+
get workOrders(): RecordLinkManager<WorkOrderRecord, typeof SmsMessageRecord['workOrdersLabels'][number]>;
|
|
267
|
+
/** Valid labels for Invoice associations */
|
|
268
|
+
static readonly invoicesLabels: readonly ["Invoice__SmsMessage"];
|
|
269
|
+
/**
|
|
270
|
+
* Access linked Invoice records
|
|
271
|
+
* @remarks Available labels: Invoice__SmsMessage
|
|
272
|
+
* @throws Error if called on a new (unsaved) record
|
|
273
|
+
*
|
|
274
|
+
* @example
|
|
275
|
+
* ```typescript
|
|
276
|
+
* // Get all linked Invoice records
|
|
277
|
+
* const items = await record.invoices.list();
|
|
278
|
+
* const first = await record.invoices.first();
|
|
279
|
+
*
|
|
280
|
+
* // Filter by label
|
|
281
|
+
* const specific = await record.invoices.first({ label: 'Invoice__SmsMessage' });
|
|
282
|
+
* ```
|
|
283
|
+
*/
|
|
284
|
+
get invoices(): RecordLinkManager<InvoiceRecord, typeof SmsMessageRecord['invoicesLabels'][number]>;
|
|
112
285
|
/**
|
|
113
286
|
* Queue a link to be created with the next action.
|
|
114
287
|
* Works for both create and update actions.
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* await record.createSmsMessage({ ... }).execute();
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
|
+
* Entity Types: DEFAULT, INBOUND, OUTBOUND
|
|
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,13 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
31
|
exports.isSmsMessageRecord = exports.SmsMessageRecord = 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 CaseRecord_1 = require("./CaseRecord");
|
|
36
|
+
const ContactRecord_1 = require("./ContactRecord");
|
|
37
|
+
const NoteRecord_1 = require("./NoteRecord");
|
|
38
|
+
const OrderRecord_1 = require("./OrderRecord");
|
|
39
|
+
const WorkOrderRecord_1 = require("./WorkOrderRecord");
|
|
40
|
+
const InvoiceRecord_1 = require("./InvoiceRecord");
|
|
32
41
|
/**
|
|
33
42
|
* Builder for action execution with dryRun support
|
|
34
43
|
*
|
|
@@ -140,6 +149,237 @@ class SmsMessageRecord {
|
|
|
140
149
|
/** Access the underlying OdinRecord (null for new records) */
|
|
141
150
|
get record() { return this._record; }
|
|
142
151
|
// ============================================
|
|
152
|
+
// TYPE GUARDS (with TypeScript type predicates)
|
|
153
|
+
// ============================================
|
|
154
|
+
/**
|
|
155
|
+
* Type guard: check if this record is of type DEFAULT
|
|
156
|
+
*
|
|
157
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
158
|
+
* giving you access to DEFAULT-specific properties.
|
|
159
|
+
*
|
|
160
|
+
* @example
|
|
161
|
+
* ```typescript
|
|
162
|
+
* if (record.isDefault()) {
|
|
163
|
+
* // TypeScript knows record.properties is SmsMessageProperties
|
|
164
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
165
|
+
* }
|
|
166
|
+
* ```
|
|
167
|
+
* @remarks This is the default record type
|
|
168
|
+
*/
|
|
169
|
+
isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
|
|
170
|
+
/**
|
|
171
|
+
* Type guard: check if this record is of type INBOUND
|
|
172
|
+
*
|
|
173
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
174
|
+
* giving you access to INBOUND-specific properties.
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* if (record.isInbound()) {
|
|
179
|
+
* // TypeScript knows record.properties is InboundSmsMessageProperties
|
|
180
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
181
|
+
* }
|
|
182
|
+
* ```
|
|
183
|
+
* @remarks an inbound message
|
|
184
|
+
*/
|
|
185
|
+
isInbound() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'INBOUND'; }
|
|
186
|
+
/**
|
|
187
|
+
* Type guard: check if this record is of type OUTBOUND
|
|
188
|
+
*
|
|
189
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
190
|
+
* giving you access to OUTBOUND-specific properties.
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* if (record.isOutbound()) {
|
|
195
|
+
* // TypeScript knows record.properties is OutboundSmsMessageProperties
|
|
196
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
197
|
+
* }
|
|
198
|
+
* ```
|
|
199
|
+
* @remarks Outbound message
|
|
200
|
+
*/
|
|
201
|
+
isOutbound() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'OUTBOUND'; }
|
|
202
|
+
/**
|
|
203
|
+
* Access linked Case records
|
|
204
|
+
* @remarks Available labels: Case__SmsMessage
|
|
205
|
+
* @throws Error if called on a new (unsaved) record
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```typescript
|
|
209
|
+
* // Get all linked Case records
|
|
210
|
+
* const items = await record.cases.list();
|
|
211
|
+
* const first = await record.cases.first();
|
|
212
|
+
*
|
|
213
|
+
* // Filter by label
|
|
214
|
+
* const specific = await record.cases.first({ label: 'Case__SmsMessage' });
|
|
215
|
+
* ```
|
|
216
|
+
*/
|
|
217
|
+
get cases() {
|
|
218
|
+
var _a;
|
|
219
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
220
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
221
|
+
if (!this._cases) {
|
|
222
|
+
this._cases = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
223
|
+
sourceEntity: 'NotificationModule:SmsMessage',
|
|
224
|
+
targetEntity: 'SupportModule:Case',
|
|
225
|
+
targetModuleName: 'SupportModule',
|
|
226
|
+
targetEntityName: 'Case',
|
|
227
|
+
labels: ['Case__SmsMessage'],
|
|
228
|
+
}, CaseRecord_1.CaseRecord);
|
|
229
|
+
}
|
|
230
|
+
return this._cases;
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Access linked Contact records
|
|
234
|
+
* @remarks Available labels: Contact__SmsMessage
|
|
235
|
+
* @throws Error if called on a new (unsaved) record
|
|
236
|
+
*
|
|
237
|
+
* @example
|
|
238
|
+
* ```typescript
|
|
239
|
+
* // Get all linked Contact records
|
|
240
|
+
* const items = await record.contacts.list();
|
|
241
|
+
* const first = await record.contacts.first();
|
|
242
|
+
*
|
|
243
|
+
* // Filter by label
|
|
244
|
+
* const specific = await record.contacts.first({ label: 'Contact__SmsMessage' });
|
|
245
|
+
* ```
|
|
246
|
+
*/
|
|
247
|
+
get contacts() {
|
|
248
|
+
var _a;
|
|
249
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
250
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
251
|
+
if (!this._contacts) {
|
|
252
|
+
this._contacts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
253
|
+
sourceEntity: 'NotificationModule:SmsMessage',
|
|
254
|
+
targetEntity: 'CrmModule:Contact',
|
|
255
|
+
targetModuleName: 'CrmModule',
|
|
256
|
+
targetEntityName: 'Contact',
|
|
257
|
+
labels: ['Contact__SmsMessage'],
|
|
258
|
+
}, ContactRecord_1.ContactRecord);
|
|
259
|
+
}
|
|
260
|
+
return this._contacts;
|
|
261
|
+
}
|
|
262
|
+
/**
|
|
263
|
+
* Access linked Note records
|
|
264
|
+
* @remarks Available labels: SmsMessage__Note
|
|
265
|
+
* @throws Error if called on a new (unsaved) record
|
|
266
|
+
*
|
|
267
|
+
* @example
|
|
268
|
+
* ```typescript
|
|
269
|
+
* // Get all linked Note records
|
|
270
|
+
* const items = await record.notes.list();
|
|
271
|
+
* const first = await record.notes.first();
|
|
272
|
+
*
|
|
273
|
+
* // Filter by label
|
|
274
|
+
* const specific = await record.notes.first({ label: 'SmsMessage__Note' });
|
|
275
|
+
* ```
|
|
276
|
+
*/
|
|
277
|
+
get notes() {
|
|
278
|
+
var _a;
|
|
279
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
280
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
281
|
+
if (!this._notes) {
|
|
282
|
+
this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
283
|
+
sourceEntity: 'NotificationModule:SmsMessage',
|
|
284
|
+
targetEntity: 'SupportModule:Note',
|
|
285
|
+
targetModuleName: 'SupportModule',
|
|
286
|
+
targetEntityName: 'Note',
|
|
287
|
+
labels: ['SmsMessage__Note'],
|
|
288
|
+
}, NoteRecord_1.NoteRecord);
|
|
289
|
+
}
|
|
290
|
+
return this._notes;
|
|
291
|
+
}
|
|
292
|
+
/**
|
|
293
|
+
* Access linked Order records
|
|
294
|
+
* @remarks Available labels: Order__SmsMessage
|
|
295
|
+
* @throws Error if called on a new (unsaved) record
|
|
296
|
+
*
|
|
297
|
+
* @example
|
|
298
|
+
* ```typescript
|
|
299
|
+
* // Get all linked Order records
|
|
300
|
+
* const items = await record.orders.list();
|
|
301
|
+
* const first = await record.orders.first();
|
|
302
|
+
*
|
|
303
|
+
* // Filter by label
|
|
304
|
+
* const specific = await record.orders.first({ label: 'Order__SmsMessage' });
|
|
305
|
+
* ```
|
|
306
|
+
*/
|
|
307
|
+
get orders() {
|
|
308
|
+
var _a;
|
|
309
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
310
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
311
|
+
if (!this._orders) {
|
|
312
|
+
this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
313
|
+
sourceEntity: 'NotificationModule:SmsMessage',
|
|
314
|
+
targetEntity: 'OrderModule:Order',
|
|
315
|
+
targetModuleName: 'OrderModule',
|
|
316
|
+
targetEntityName: 'Order',
|
|
317
|
+
labels: ['Order__SmsMessage'],
|
|
318
|
+
}, OrderRecord_1.OrderRecord);
|
|
319
|
+
}
|
|
320
|
+
return this._orders;
|
|
321
|
+
}
|
|
322
|
+
/**
|
|
323
|
+
* Access linked WorkOrder records
|
|
324
|
+
* @remarks Available labels: WorkOrder__SmsMessage
|
|
325
|
+
* @throws Error if called on a new (unsaved) record
|
|
326
|
+
*
|
|
327
|
+
* @example
|
|
328
|
+
* ```typescript
|
|
329
|
+
* // Get all linked WorkOrder records
|
|
330
|
+
* const items = await record.workOrders.list();
|
|
331
|
+
* const first = await record.workOrders.first();
|
|
332
|
+
*
|
|
333
|
+
* // Filter by label
|
|
334
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrder__SmsMessage' });
|
|
335
|
+
* ```
|
|
336
|
+
*/
|
|
337
|
+
get workOrders() {
|
|
338
|
+
var _a;
|
|
339
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
340
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
341
|
+
if (!this._workOrders) {
|
|
342
|
+
this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
343
|
+
sourceEntity: 'NotificationModule:SmsMessage',
|
|
344
|
+
targetEntity: 'FieldServiceModule:WorkOrder',
|
|
345
|
+
targetModuleName: 'FieldServiceModule',
|
|
346
|
+
targetEntityName: 'WorkOrder',
|
|
347
|
+
labels: ['WorkOrder__SmsMessage'],
|
|
348
|
+
}, WorkOrderRecord_1.WorkOrderRecord);
|
|
349
|
+
}
|
|
350
|
+
return this._workOrders;
|
|
351
|
+
}
|
|
352
|
+
/**
|
|
353
|
+
* Access linked Invoice records
|
|
354
|
+
* @remarks Available labels: Invoice__SmsMessage
|
|
355
|
+
* @throws Error if called on a new (unsaved) record
|
|
356
|
+
*
|
|
357
|
+
* @example
|
|
358
|
+
* ```typescript
|
|
359
|
+
* // Get all linked Invoice records
|
|
360
|
+
* const items = await record.invoices.list();
|
|
361
|
+
* const first = await record.invoices.first();
|
|
362
|
+
*
|
|
363
|
+
* // Filter by label
|
|
364
|
+
* const specific = await record.invoices.first({ label: 'Invoice__SmsMessage' });
|
|
365
|
+
* ```
|
|
366
|
+
*/
|
|
367
|
+
get invoices() {
|
|
368
|
+
var _a;
|
|
369
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
370
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
371
|
+
if (!this._invoices) {
|
|
372
|
+
this._invoices = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
373
|
+
sourceEntity: 'NotificationModule:SmsMessage',
|
|
374
|
+
targetEntity: 'BillingModule:Invoice',
|
|
375
|
+
targetModuleName: 'BillingModule',
|
|
376
|
+
targetEntityName: 'Invoice',
|
|
377
|
+
labels: ['Invoice__SmsMessage'],
|
|
378
|
+
}, InvoiceRecord_1.InvoiceRecord);
|
|
379
|
+
}
|
|
380
|
+
return this._invoices;
|
|
381
|
+
}
|
|
382
|
+
// ============================================
|
|
143
383
|
// LINK MANAGEMENT
|
|
144
384
|
// ============================================
|
|
145
385
|
/**
|
|
@@ -215,6 +455,21 @@ class SmsMessageRecord {
|
|
|
215
455
|
}
|
|
216
456
|
}
|
|
217
457
|
exports.SmsMessageRecord = SmsMessageRecord;
|
|
458
|
+
// ============================================
|
|
459
|
+
// TYPED LINK ACCESSORS
|
|
460
|
+
// ============================================
|
|
461
|
+
/** Valid labels for Case associations */
|
|
462
|
+
SmsMessageRecord.casesLabels = ['Case__SmsMessage'];
|
|
463
|
+
/** Valid labels for Contact associations */
|
|
464
|
+
SmsMessageRecord.contactsLabels = ['Contact__SmsMessage'];
|
|
465
|
+
/** Valid labels for Note associations */
|
|
466
|
+
SmsMessageRecord.notesLabels = ['SmsMessage__Note'];
|
|
467
|
+
/** Valid labels for Order associations */
|
|
468
|
+
SmsMessageRecord.ordersLabels = ['Order__SmsMessage'];
|
|
469
|
+
/** Valid labels for WorkOrder associations */
|
|
470
|
+
SmsMessageRecord.workOrdersLabels = ['WorkOrder__SmsMessage'];
|
|
471
|
+
/** Valid labels for Invoice associations */
|
|
472
|
+
SmsMessageRecord.invoicesLabels = ['Invoice__SmsMessage'];
|
|
218
473
|
/** Type guard to check if an object is a SmsMessageRecord */
|
|
219
474
|
function isSmsMessageRecord(obj) {
|
|
220
475
|
return obj instanceof SmsMessageRecord;
|