@d19n/youfibre-odin-sdk 2.0.31 → 2.0.33
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/actions-v2/EditCaseFormDto.d.ts +1 -1
- package/dist/entities-v2/BillingAdjustment.d.ts +76 -76
- package/dist/entities-v2/BillingAdjustment.js +35 -35
- package/dist/entities-v2/Case.d.ts +19 -4
- package/dist/entities-v2/Case.js +16 -2
- package/dist/records-v2/AccountCreditRecord.d.ts +82 -1
- package/dist/records-v2/AccountCreditRecord.js +124 -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/BngProvisionRecord.d.ts +42 -1
- package/dist/records-v2/BngProvisionRecord.js +58 -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 +398 -2
- package/dist/records-v2/CaseRecord.js +634 -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/ContactIdentityRecord.d.ts +80 -0
- package/dist/records-v2/ContactIdentityRecord.js +135 -0
- package/dist/records-v2/ContactRecord.d.ts +580 -0
- package/dist/records-v2/ContactRecord.js +960 -0
- package/dist/records-v2/ContractBuyOutRecord.d.ts +162 -1
- package/dist/records-v2/ContractBuyOutRecord.js +256 -0
- package/dist/records-v2/ConversationRecord.d.ts +82 -1
- package/dist/records-v2/ConversationRecord.js +124 -0
- package/dist/records-v2/CreditNoteRecord.d.ts +101 -0
- package/dist/records-v2/CreditNoteRecord.js +169 -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 +131 -2
- package/dist/records-v2/MessageRecord.js +172 -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 +300 -0
- package/dist/records-v2/OrderItemRecord.js +498 -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 +640 -0
- package/dist/records-v2/OrderRecord.js +1059 -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 +161 -0
- package/dist/records-v2/PaymentMethodRecord.js +268 -0
- package/dist/records-v2/PaymentMethodRefundRecord.d.ts +201 -0
- package/dist/records-v2/PaymentMethodRefundRecord.js +334 -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 +82 -1
- package/dist/records-v2/PgContactRecord.js +124 -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 +122 -1
- package/dist/records-v2/PgPaymentMethodRecord.js +190 -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 +175 -2
- package/dist/records-v2/PgTransactionRecord.js +255 -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 +201 -1
- package/dist/records-v2/TransactionRecord.js +321 -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 +380 -0
- package/dist/records-v2/UserRecord.js +630 -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/package.json +1 -1
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* await record.createAccount({ ... }).execute();
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
|
+
* Entity Types: BUSINESS, MULTIPLE, PRIMARY, RESELLER, SERVICE
|
|
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.isAccountRecord = exports.AccountRecord = 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 NoteRecord_1 = require("./NoteRecord");
|
|
37
|
+
const OneTouchSwitchRecord_1 = require("./OneTouchSwitchRecord");
|
|
38
|
+
const OrderRecord_1 = require("./OrderRecord");
|
|
39
|
+
const InvoiceRecord_1 = require("./InvoiceRecord");
|
|
40
|
+
const AddressRecord_1 = require("./AddressRecord");
|
|
41
|
+
const CaseRecord_1 = require("./CaseRecord");
|
|
42
|
+
const PaymentRecord_1 = require("./PaymentRecord");
|
|
43
|
+
const ContactRecord_1 = require("./ContactRecord");
|
|
44
|
+
const FileRecord_1 = require("./FileRecord");
|
|
32
45
|
/**
|
|
33
46
|
* Builder for action execution with dryRun support
|
|
34
47
|
*
|
|
@@ -140,6 +153,419 @@ class AccountRecord {
|
|
|
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 BUSINESS
|
|
160
|
+
*
|
|
161
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
162
|
+
* giving you access to BUSINESS-specific properties.
|
|
163
|
+
*
|
|
164
|
+
* @example
|
|
165
|
+
* ```typescript
|
|
166
|
+
* if (record.isBusiness()) {
|
|
167
|
+
* // TypeScript knows record.properties is BusinessAccountProperties
|
|
168
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
169
|
+
* }
|
|
170
|
+
* ```
|
|
171
|
+
* @remarks Business accounts
|
|
172
|
+
*/
|
|
173
|
+
isBusiness() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'BUSINESS'; }
|
|
174
|
+
/**
|
|
175
|
+
* Type guard: check if this record is of type MULTIPLE
|
|
176
|
+
*
|
|
177
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
178
|
+
* giving you access to MULTIPLE-specific properties.
|
|
179
|
+
*
|
|
180
|
+
* @example
|
|
181
|
+
* ```typescript
|
|
182
|
+
* if (record.isMultiple()) {
|
|
183
|
+
* // TypeScript knows record.properties is MultipleAccountProperties
|
|
184
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
185
|
+
* }
|
|
186
|
+
* ```
|
|
187
|
+
* @remarks Multiple accounts are for customers who want to purchase multiple services at many addresses
|
|
188
|
+
*/
|
|
189
|
+
isMultiple() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'MULTIPLE'; }
|
|
190
|
+
/**
|
|
191
|
+
* Type guard: check if this record is of type PRIMARY
|
|
192
|
+
*
|
|
193
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
194
|
+
* giving you access to PRIMARY-specific properties.
|
|
195
|
+
*
|
|
196
|
+
* @example
|
|
197
|
+
* ```typescript
|
|
198
|
+
* if (record.isPrimary()) {
|
|
199
|
+
* // TypeScript knows record.properties is PrimaryAccountProperties
|
|
200
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
201
|
+
* }
|
|
202
|
+
* ```
|
|
203
|
+
* @remarks Primary account
|
|
204
|
+
*/
|
|
205
|
+
isPrimary() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'PRIMARY'; }
|
|
206
|
+
/**
|
|
207
|
+
* Type guard: check if this record is of type RESELLER
|
|
208
|
+
*
|
|
209
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
210
|
+
* giving you access to RESELLER-specific properties.
|
|
211
|
+
*
|
|
212
|
+
* @example
|
|
213
|
+
* ```typescript
|
|
214
|
+
* if (record.isReseller()) {
|
|
215
|
+
* // TypeScript knows record.properties is ResellerAccountProperties
|
|
216
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
217
|
+
* }
|
|
218
|
+
* ```
|
|
219
|
+
* @remarks Reseller
|
|
220
|
+
*/
|
|
221
|
+
isReseller() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'RESELLER'; }
|
|
222
|
+
/**
|
|
223
|
+
* Type guard: check if this record is of type SERVICE
|
|
224
|
+
*
|
|
225
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
226
|
+
* giving you access to SERVICE-specific properties.
|
|
227
|
+
*
|
|
228
|
+
* @example
|
|
229
|
+
* ```typescript
|
|
230
|
+
* if (record.isService()) {
|
|
231
|
+
* // TypeScript knows record.properties is ServiceAccountProperties
|
|
232
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
233
|
+
* }
|
|
234
|
+
* ```
|
|
235
|
+
* @remarks This is the account where service is being delivered
|
|
236
|
+
*/
|
|
237
|
+
isService() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'SERVICE'; }
|
|
238
|
+
/**
|
|
239
|
+
* Access linked WorkOrder records
|
|
240
|
+
* @remarks Available labels: Account__WorkOrder
|
|
241
|
+
* @throws Error if called on a new (unsaved) record
|
|
242
|
+
*
|
|
243
|
+
* @example
|
|
244
|
+
* ```typescript
|
|
245
|
+
* // Get all linked WorkOrder records
|
|
246
|
+
* const items = await record.workOrders.list();
|
|
247
|
+
* const first = await record.workOrders.first();
|
|
248
|
+
*
|
|
249
|
+
* // Filter by label
|
|
250
|
+
* const specific = await record.workOrders.first({ label: 'Account__WorkOrder' });
|
|
251
|
+
* ```
|
|
252
|
+
*/
|
|
253
|
+
get workOrders() {
|
|
254
|
+
var _a;
|
|
255
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
256
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
257
|
+
if (!this._workOrders) {
|
|
258
|
+
this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
259
|
+
sourceEntity: 'CrmModule:Account',
|
|
260
|
+
targetEntity: 'FieldServiceModule:WorkOrder',
|
|
261
|
+
targetModuleName: 'FieldServiceModule',
|
|
262
|
+
targetEntityName: 'WorkOrder',
|
|
263
|
+
labels: ['Account__WorkOrder'],
|
|
264
|
+
}, WorkOrderRecord_1.WorkOrderRecord);
|
|
265
|
+
}
|
|
266
|
+
return this._workOrders;
|
|
267
|
+
}
|
|
268
|
+
/**
|
|
269
|
+
* Access linked Note records
|
|
270
|
+
* @remarks Available labels: Account__Note
|
|
271
|
+
* @throws Error if called on a new (unsaved) record
|
|
272
|
+
*
|
|
273
|
+
* @example
|
|
274
|
+
* ```typescript
|
|
275
|
+
* // Get all linked Note records
|
|
276
|
+
* const items = await record.notes.list();
|
|
277
|
+
* const first = await record.notes.first();
|
|
278
|
+
*
|
|
279
|
+
* // Filter by label
|
|
280
|
+
* const specific = await record.notes.first({ label: 'Account__Note' });
|
|
281
|
+
* ```
|
|
282
|
+
*/
|
|
283
|
+
get notes() {
|
|
284
|
+
var _a;
|
|
285
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
286
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
287
|
+
if (!this._notes) {
|
|
288
|
+
this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
289
|
+
sourceEntity: 'CrmModule:Account',
|
|
290
|
+
targetEntity: 'SupportModule:Note',
|
|
291
|
+
targetModuleName: 'SupportModule',
|
|
292
|
+
targetEntityName: 'Note',
|
|
293
|
+
labels: ['Account__Note'],
|
|
294
|
+
}, NoteRecord_1.NoteRecord);
|
|
295
|
+
}
|
|
296
|
+
return this._notes;
|
|
297
|
+
}
|
|
298
|
+
/**
|
|
299
|
+
* Access linked OneTouchSwitch records
|
|
300
|
+
* @remarks Available labels: Account__OneTouchSwitch
|
|
301
|
+
* @throws Error if called on a new (unsaved) record
|
|
302
|
+
*
|
|
303
|
+
* @example
|
|
304
|
+
* ```typescript
|
|
305
|
+
* // Get all linked OneTouchSwitch records
|
|
306
|
+
* const items = await record.oneTouchSwitches.list();
|
|
307
|
+
* const first = await record.oneTouchSwitches.first();
|
|
308
|
+
*
|
|
309
|
+
* // Filter by label
|
|
310
|
+
* const specific = await record.oneTouchSwitches.first({ label: 'Account__OneTouchSwitch' });
|
|
311
|
+
* ```
|
|
312
|
+
*/
|
|
313
|
+
get oneTouchSwitches() {
|
|
314
|
+
var _a;
|
|
315
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
316
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
317
|
+
if (!this._oneTouchSwitches) {
|
|
318
|
+
this._oneTouchSwitches = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
319
|
+
sourceEntity: 'CrmModule:Account',
|
|
320
|
+
targetEntity: 'OrderModule:OneTouchSwitch',
|
|
321
|
+
targetModuleName: 'OrderModule',
|
|
322
|
+
targetEntityName: 'OneTouchSwitch',
|
|
323
|
+
labels: ['Account__OneTouchSwitch'],
|
|
324
|
+
}, OneTouchSwitchRecord_1.OneTouchSwitchRecord);
|
|
325
|
+
}
|
|
326
|
+
return this._oneTouchSwitches;
|
|
327
|
+
}
|
|
328
|
+
/**
|
|
329
|
+
* Access linked Order records
|
|
330
|
+
* @remarks Available labels: Account__Order
|
|
331
|
+
* @throws Error if called on a new (unsaved) record
|
|
332
|
+
*
|
|
333
|
+
* @example
|
|
334
|
+
* ```typescript
|
|
335
|
+
* // Get all linked Order records
|
|
336
|
+
* const items = await record.orders.list();
|
|
337
|
+
* const first = await record.orders.first();
|
|
338
|
+
*
|
|
339
|
+
* // Filter by label
|
|
340
|
+
* const specific = await record.orders.first({ label: 'Account__Order' });
|
|
341
|
+
* ```
|
|
342
|
+
*/
|
|
343
|
+
get orders() {
|
|
344
|
+
var _a;
|
|
345
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
346
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
347
|
+
if (!this._orders) {
|
|
348
|
+
this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
349
|
+
sourceEntity: 'CrmModule:Account',
|
|
350
|
+
targetEntity: 'OrderModule:Order',
|
|
351
|
+
targetModuleName: 'OrderModule',
|
|
352
|
+
targetEntityName: 'Order',
|
|
353
|
+
labels: ['Account__Order'],
|
|
354
|
+
}, OrderRecord_1.OrderRecord);
|
|
355
|
+
}
|
|
356
|
+
return this._orders;
|
|
357
|
+
}
|
|
358
|
+
/**
|
|
359
|
+
* Access linked Invoice records
|
|
360
|
+
* @remarks Available labels: Account__Invoice
|
|
361
|
+
* @throws Error if called on a new (unsaved) record
|
|
362
|
+
*
|
|
363
|
+
* @example
|
|
364
|
+
* ```typescript
|
|
365
|
+
* // Get all linked Invoice records
|
|
366
|
+
* const items = await record.invoices.list();
|
|
367
|
+
* const first = await record.invoices.first();
|
|
368
|
+
*
|
|
369
|
+
* // Filter by label
|
|
370
|
+
* const specific = await record.invoices.first({ label: 'Account__Invoice' });
|
|
371
|
+
* ```
|
|
372
|
+
*/
|
|
373
|
+
get invoices() {
|
|
374
|
+
var _a;
|
|
375
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
376
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
377
|
+
if (!this._invoices) {
|
|
378
|
+
this._invoices = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
379
|
+
sourceEntity: 'CrmModule:Account',
|
|
380
|
+
targetEntity: 'BillingModule:Invoice',
|
|
381
|
+
targetModuleName: 'BillingModule',
|
|
382
|
+
targetEntityName: 'Invoice',
|
|
383
|
+
labels: ['Account__Invoice'],
|
|
384
|
+
}, InvoiceRecord_1.InvoiceRecord);
|
|
385
|
+
}
|
|
386
|
+
return this._invoices;
|
|
387
|
+
}
|
|
388
|
+
/**
|
|
389
|
+
* Access linked Account records
|
|
390
|
+
* @remarks Available labels: Account_Account
|
|
391
|
+
* @throws Error if called on a new (unsaved) record
|
|
392
|
+
*
|
|
393
|
+
* @example
|
|
394
|
+
* ```typescript
|
|
395
|
+
* // Get all linked Account records
|
|
396
|
+
* const items = await record.accounts.list();
|
|
397
|
+
* const first = await record.accounts.first();
|
|
398
|
+
*
|
|
399
|
+
* // Filter by label
|
|
400
|
+
* const specific = await record.accounts.first({ label: 'Account_Account' });
|
|
401
|
+
* ```
|
|
402
|
+
*/
|
|
403
|
+
get accounts() {
|
|
404
|
+
var _a;
|
|
405
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
406
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
407
|
+
if (!this._accounts) {
|
|
408
|
+
this._accounts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
409
|
+
sourceEntity: 'CrmModule:Account',
|
|
410
|
+
targetEntity: 'CrmModule:Account',
|
|
411
|
+
targetModuleName: 'CrmModule',
|
|
412
|
+
targetEntityName: 'Account',
|
|
413
|
+
labels: ['Account_Account'],
|
|
414
|
+
}, AccountRecord);
|
|
415
|
+
}
|
|
416
|
+
return this._accounts;
|
|
417
|
+
}
|
|
418
|
+
/**
|
|
419
|
+
* Access linked Address records
|
|
420
|
+
* @remarks Available labels: BillingAddress
|
|
421
|
+
* @throws Error if called on a new (unsaved) record
|
|
422
|
+
*
|
|
423
|
+
* @example
|
|
424
|
+
* ```typescript
|
|
425
|
+
* // Get all linked Address records
|
|
426
|
+
* const items = await record.addresses.list();
|
|
427
|
+
* const first = await record.addresses.first();
|
|
428
|
+
*
|
|
429
|
+
* // Filter by label
|
|
430
|
+
* const specific = await record.addresses.first({ label: 'BillingAddress' });
|
|
431
|
+
* ```
|
|
432
|
+
*/
|
|
433
|
+
get addresses() {
|
|
434
|
+
var _a;
|
|
435
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
436
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
437
|
+
if (!this._addresses) {
|
|
438
|
+
this._addresses = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
439
|
+
sourceEntity: 'CrmModule:Account',
|
|
440
|
+
targetEntity: 'CrmModule:Address',
|
|
441
|
+
targetModuleName: 'CrmModule',
|
|
442
|
+
targetEntityName: 'Address',
|
|
443
|
+
labels: ['BillingAddress'],
|
|
444
|
+
}, AddressRecord_1.AddressRecord);
|
|
445
|
+
}
|
|
446
|
+
return this._addresses;
|
|
447
|
+
}
|
|
448
|
+
/**
|
|
449
|
+
* Access linked Case records
|
|
450
|
+
* @remarks Available labels: Account__Case
|
|
451
|
+
* @throws Error if called on a new (unsaved) record
|
|
452
|
+
*
|
|
453
|
+
* @example
|
|
454
|
+
* ```typescript
|
|
455
|
+
* // Get all linked Case records
|
|
456
|
+
* const items = await record.cases.list();
|
|
457
|
+
* const first = await record.cases.first();
|
|
458
|
+
*
|
|
459
|
+
* // Filter by label
|
|
460
|
+
* const specific = await record.cases.first({ label: 'Account__Case' });
|
|
461
|
+
* ```
|
|
462
|
+
*/
|
|
463
|
+
get cases() {
|
|
464
|
+
var _a;
|
|
465
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
466
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
467
|
+
if (!this._cases) {
|
|
468
|
+
this._cases = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
469
|
+
sourceEntity: 'CrmModule:Account',
|
|
470
|
+
targetEntity: 'SupportModule:Case',
|
|
471
|
+
targetModuleName: 'SupportModule',
|
|
472
|
+
targetEntityName: 'Case',
|
|
473
|
+
labels: ['Account__Case'],
|
|
474
|
+
}, CaseRecord_1.CaseRecord);
|
|
475
|
+
}
|
|
476
|
+
return this._cases;
|
|
477
|
+
}
|
|
478
|
+
/**
|
|
479
|
+
* Access linked Payment records
|
|
480
|
+
* @remarks Available labels: Account_Payment
|
|
481
|
+
* @throws Error if called on a new (unsaved) record
|
|
482
|
+
*
|
|
483
|
+
* @example
|
|
484
|
+
* ```typescript
|
|
485
|
+
* // Get all linked Payment records
|
|
486
|
+
* const items = await record.payments.list();
|
|
487
|
+
* const first = await record.payments.first();
|
|
488
|
+
*
|
|
489
|
+
* // Filter by label
|
|
490
|
+
* const specific = await record.payments.first({ label: 'Account_Payment' });
|
|
491
|
+
* ```
|
|
492
|
+
*/
|
|
493
|
+
get payments() {
|
|
494
|
+
var _a;
|
|
495
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
496
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
497
|
+
if (!this._payments) {
|
|
498
|
+
this._payments = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
499
|
+
sourceEntity: 'CrmModule:Account',
|
|
500
|
+
targetEntity: 'BillingModule:Payment',
|
|
501
|
+
targetModuleName: 'BillingModule',
|
|
502
|
+
targetEntityName: 'Payment',
|
|
503
|
+
labels: ['Account_Payment'],
|
|
504
|
+
}, PaymentRecord_1.PaymentRecord);
|
|
505
|
+
}
|
|
506
|
+
return this._payments;
|
|
507
|
+
}
|
|
508
|
+
/**
|
|
509
|
+
* Access linked Contact records
|
|
510
|
+
* @remarks Available labels: BillingContact
|
|
511
|
+
* @throws Error if called on a new (unsaved) record
|
|
512
|
+
*
|
|
513
|
+
* @example
|
|
514
|
+
* ```typescript
|
|
515
|
+
* // Get all linked Contact records
|
|
516
|
+
* const items = await record.contacts.list();
|
|
517
|
+
* const first = await record.contacts.first();
|
|
518
|
+
*
|
|
519
|
+
* // Filter by label
|
|
520
|
+
* const specific = await record.contacts.first({ label: 'BillingContact' });
|
|
521
|
+
* ```
|
|
522
|
+
*/
|
|
523
|
+
get contacts() {
|
|
524
|
+
var _a;
|
|
525
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
526
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
527
|
+
if (!this._contacts) {
|
|
528
|
+
this._contacts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
529
|
+
sourceEntity: 'CrmModule:Account',
|
|
530
|
+
targetEntity: 'CrmModule:Contact',
|
|
531
|
+
targetModuleName: 'CrmModule',
|
|
532
|
+
targetEntityName: 'Contact',
|
|
533
|
+
labels: ['BillingContact'],
|
|
534
|
+
}, ContactRecord_1.ContactRecord);
|
|
535
|
+
}
|
|
536
|
+
return this._contacts;
|
|
537
|
+
}
|
|
538
|
+
/**
|
|
539
|
+
* Access linked File records
|
|
540
|
+
* @remarks Available labels: Account__File
|
|
541
|
+
* @throws Error if called on a new (unsaved) record
|
|
542
|
+
*
|
|
543
|
+
* @example
|
|
544
|
+
* ```typescript
|
|
545
|
+
* // Get all linked File records
|
|
546
|
+
* const items = await record.files.list();
|
|
547
|
+
* const first = await record.files.first();
|
|
548
|
+
*
|
|
549
|
+
* // Filter by label
|
|
550
|
+
* const specific = await record.files.first({ label: 'Account__File' });
|
|
551
|
+
* ```
|
|
552
|
+
*/
|
|
553
|
+
get files() {
|
|
554
|
+
var _a;
|
|
555
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
556
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
557
|
+
if (!this._files) {
|
|
558
|
+
this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
559
|
+
sourceEntity: 'CrmModule:Account',
|
|
560
|
+
targetEntity: 'SchemaModule:File',
|
|
561
|
+
targetModuleName: 'SchemaModule',
|
|
562
|
+
targetEntityName: 'File',
|
|
563
|
+
labels: ['Account__File'],
|
|
564
|
+
}, FileRecord_1.FileRecord);
|
|
565
|
+
}
|
|
566
|
+
return this._files;
|
|
567
|
+
}
|
|
568
|
+
// ============================================
|
|
143
569
|
// LINK MANAGEMENT
|
|
144
570
|
// ============================================
|
|
145
571
|
/**
|
|
@@ -466,6 +892,31 @@ class AccountRecord {
|
|
|
466
892
|
}
|
|
467
893
|
}
|
|
468
894
|
exports.AccountRecord = AccountRecord;
|
|
895
|
+
// ============================================
|
|
896
|
+
// TYPED LINK ACCESSORS
|
|
897
|
+
// ============================================
|
|
898
|
+
/** Valid labels for WorkOrder associations */
|
|
899
|
+
AccountRecord.workOrdersLabels = ['Account__WorkOrder'];
|
|
900
|
+
/** Valid labels for Note associations */
|
|
901
|
+
AccountRecord.notesLabels = ['Account__Note'];
|
|
902
|
+
/** Valid labels for OneTouchSwitch associations */
|
|
903
|
+
AccountRecord.oneTouchSwitchesLabels = ['Account__OneTouchSwitch'];
|
|
904
|
+
/** Valid labels for Order associations */
|
|
905
|
+
AccountRecord.ordersLabels = ['Account__Order'];
|
|
906
|
+
/** Valid labels for Invoice associations */
|
|
907
|
+
AccountRecord.invoicesLabels = ['Account__Invoice'];
|
|
908
|
+
/** Valid labels for Account associations */
|
|
909
|
+
AccountRecord.accountsLabels = ['Account_Account'];
|
|
910
|
+
/** Valid labels for Address associations */
|
|
911
|
+
AccountRecord.addressesLabels = ['BillingAddress'];
|
|
912
|
+
/** Valid labels for Case associations */
|
|
913
|
+
AccountRecord.casesLabels = ['Account__Case'];
|
|
914
|
+
/** Valid labels for Payment associations */
|
|
915
|
+
AccountRecord.paymentsLabels = ['Account_Payment'];
|
|
916
|
+
/** Valid labels for Contact associations */
|
|
917
|
+
AccountRecord.contactsLabels = ['BillingContact'];
|
|
918
|
+
/** Valid labels for File associations */
|
|
919
|
+
AccountRecord.filesLabels = ['Account__File'];
|
|
469
920
|
/** Type guard to check if an object is a AccountRecord */
|
|
470
921
|
function isAccountRecord(obj) {
|
|
471
922
|
return obj instanceof AccountRecord;
|
|
@@ -13,14 +13,24 @@
|
|
|
13
13
|
* await record.createActivityLog({ ... }).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 { ActivityLogProperties } from '../entities-v2/ActivityLog';
|
|
23
26
|
import { CreateActivityLogEntryProperties } from '../actions-v2/CreateActivityLogEntryDto';
|
|
27
|
+
import { OrderRecord } from './OrderRecord';
|
|
28
|
+
import { CaseRecord } from './CaseRecord';
|
|
29
|
+
import { OneTouchSwitchRecord } from './OneTouchSwitchRecord';
|
|
30
|
+
import { CallRecord } from './CallRecord';
|
|
31
|
+
import { WorkOrderRecord } from './WorkOrderRecord';
|
|
32
|
+
/** Valid entity types for ActivityLog */
|
|
33
|
+
export declare type ActivityLogType = 'DEFAULT';
|
|
24
34
|
/**
|
|
25
35
|
* Builder for action execution with dryRun support
|
|
26
36
|
*
|
|
@@ -84,6 +94,11 @@ export declare class ActivityLogRecord<TProps = ActivityLogProperties> {
|
|
|
84
94
|
private _provider;
|
|
85
95
|
private _pendingLinks;
|
|
86
96
|
private _preGeneratedId;
|
|
97
|
+
private _orders?;
|
|
98
|
+
private _cases?;
|
|
99
|
+
private _oneTouchSwitches?;
|
|
100
|
+
private _calls?;
|
|
101
|
+
private _workOrders?;
|
|
87
102
|
/**
|
|
88
103
|
* Create a record wrapper.
|
|
89
104
|
* @param record - The underlying record, or null for create operations
|
|
@@ -96,7 +111,7 @@ export declare class ActivityLogRecord<TProps = ActivityLogProperties> {
|
|
|
96
111
|
/** Record ID - always available (pre-generated for new records) */
|
|
97
112
|
get id(): string;
|
|
98
113
|
get entity(): string;
|
|
99
|
-
get type():
|
|
114
|
+
get type(): ActivityLogType | undefined;
|
|
100
115
|
/** Record properties - empty object for new (unsaved) records */
|
|
101
116
|
get properties(): TProps;
|
|
102
117
|
get title(): string | undefined;
|
|
@@ -109,6 +124,112 @@ export declare class ActivityLogRecord<TProps = ActivityLogProperties> {
|
|
|
109
124
|
get groups(): string[];
|
|
110
125
|
/** Access the underlying OdinRecord (null for new records) */
|
|
111
126
|
get record(): OdinRecord<TProps> | null;
|
|
127
|
+
/**
|
|
128
|
+
* Type guard: check if this record is of type DEFAULT
|
|
129
|
+
*
|
|
130
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
131
|
+
* giving you access to DEFAULT-specific properties.
|
|
132
|
+
*
|
|
133
|
+
* @example
|
|
134
|
+
* ```typescript
|
|
135
|
+
* if (record.isDefault()) {
|
|
136
|
+
* // TypeScript knows record.properties is ActivityLogProperties
|
|
137
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
138
|
+
* }
|
|
139
|
+
* ```
|
|
140
|
+
* @remarks This is the default record type
|
|
141
|
+
*/
|
|
142
|
+
isDefault(): this is ActivityLogRecord<ActivityLogProperties>;
|
|
143
|
+
/** Valid labels for Order associations */
|
|
144
|
+
static readonly ordersLabels: readonly ["Order__ActivityLog"];
|
|
145
|
+
/**
|
|
146
|
+
* Access linked Order records
|
|
147
|
+
* @remarks Available labels: Order__ActivityLog
|
|
148
|
+
* @throws Error if called on a new (unsaved) record
|
|
149
|
+
*
|
|
150
|
+
* @example
|
|
151
|
+
* ```typescript
|
|
152
|
+
* // Get all linked Order records
|
|
153
|
+
* const items = await record.orders.list();
|
|
154
|
+
* const first = await record.orders.first();
|
|
155
|
+
*
|
|
156
|
+
* // Filter by label
|
|
157
|
+
* const specific = await record.orders.first({ label: 'Order__ActivityLog' });
|
|
158
|
+
* ```
|
|
159
|
+
*/
|
|
160
|
+
get orders(): RecordLinkManager<OrderRecord, typeof ActivityLogRecord['ordersLabels'][number]>;
|
|
161
|
+
/** Valid labels for Case associations */
|
|
162
|
+
static readonly casesLabels: readonly ["Case__ActivityLog"];
|
|
163
|
+
/**
|
|
164
|
+
* Access linked Case records
|
|
165
|
+
* @remarks Available labels: Case__ActivityLog
|
|
166
|
+
* @throws Error if called on a new (unsaved) record
|
|
167
|
+
*
|
|
168
|
+
* @example
|
|
169
|
+
* ```typescript
|
|
170
|
+
* // Get all linked Case records
|
|
171
|
+
* const items = await record.cases.list();
|
|
172
|
+
* const first = await record.cases.first();
|
|
173
|
+
*
|
|
174
|
+
* // Filter by label
|
|
175
|
+
* const specific = await record.cases.first({ label: 'Case__ActivityLog' });
|
|
176
|
+
* ```
|
|
177
|
+
*/
|
|
178
|
+
get cases(): RecordLinkManager<CaseRecord, typeof ActivityLogRecord['casesLabels'][number]>;
|
|
179
|
+
/** Valid labels for OneTouchSwitch associations */
|
|
180
|
+
static readonly oneTouchSwitchesLabels: readonly ["OneTouchSwitch_ActivityLog"];
|
|
181
|
+
/**
|
|
182
|
+
* Access linked OneTouchSwitch records
|
|
183
|
+
* @remarks Available labels: OneTouchSwitch_ActivityLog
|
|
184
|
+
* @throws Error if called on a new (unsaved) record
|
|
185
|
+
*
|
|
186
|
+
* @example
|
|
187
|
+
* ```typescript
|
|
188
|
+
* // Get all linked OneTouchSwitch records
|
|
189
|
+
* const items = await record.oneTouchSwitches.list();
|
|
190
|
+
* const first = await record.oneTouchSwitches.first();
|
|
191
|
+
*
|
|
192
|
+
* // Filter by label
|
|
193
|
+
* const specific = await record.oneTouchSwitches.first({ label: 'OneTouchSwitch_ActivityLog' });
|
|
194
|
+
* ```
|
|
195
|
+
*/
|
|
196
|
+
get oneTouchSwitches(): RecordLinkManager<OneTouchSwitchRecord, typeof ActivityLogRecord['oneTouchSwitchesLabels'][number]>;
|
|
197
|
+
/** Valid labels for Call associations */
|
|
198
|
+
static readonly callsLabels: readonly ["CallActivity"];
|
|
199
|
+
/**
|
|
200
|
+
* Access linked Call records
|
|
201
|
+
* @remarks Available labels: CallActivity
|
|
202
|
+
* @throws Error if called on a new (unsaved) record
|
|
203
|
+
*
|
|
204
|
+
* @example
|
|
205
|
+
* ```typescript
|
|
206
|
+
* // Get all linked Call records
|
|
207
|
+
* const items = await record.calls.list();
|
|
208
|
+
* const first = await record.calls.first();
|
|
209
|
+
*
|
|
210
|
+
* // Filter by label
|
|
211
|
+
* const specific = await record.calls.first({ label: 'CallActivity' });
|
|
212
|
+
* ```
|
|
213
|
+
*/
|
|
214
|
+
get calls(): RecordLinkManager<CallRecord, typeof ActivityLogRecord['callsLabels'][number]>;
|
|
215
|
+
/** Valid labels for WorkOrder associations */
|
|
216
|
+
static readonly workOrdersLabels: readonly ["WorkOrder_ActivityLog"];
|
|
217
|
+
/**
|
|
218
|
+
* Access linked WorkOrder records
|
|
219
|
+
* @remarks Available labels: WorkOrder_ActivityLog
|
|
220
|
+
* @throws Error if called on a new (unsaved) record
|
|
221
|
+
*
|
|
222
|
+
* @example
|
|
223
|
+
* ```typescript
|
|
224
|
+
* // Get all linked WorkOrder records
|
|
225
|
+
* const items = await record.workOrders.list();
|
|
226
|
+
* const first = await record.workOrders.first();
|
|
227
|
+
*
|
|
228
|
+
* // Filter by label
|
|
229
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrder_ActivityLog' });
|
|
230
|
+
* ```
|
|
231
|
+
*/
|
|
232
|
+
get workOrders(): RecordLinkManager<WorkOrderRecord, typeof ActivityLogRecord['workOrdersLabels'][number]>;
|
|
112
233
|
/**
|
|
113
234
|
* Queue a link to be created with the next action.
|
|
114
235
|
* Works for both create and update actions.
|