@d19n/youfibre-odin-sdk 1.0.331 → 1.0.332
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/entities-v2/Email.d.ts +17 -0
- package/dist/entities-v2/Email.js +2 -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/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 +358 -2
- package/dist/records-v2/CaseRecord.js +568 -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 +460 -0
- package/dist/records-v2/ContactRecord.js +762 -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 +62 -1
- package/dist/records-v2/ConversationRecord.js +91 -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/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 +174 -2
- package/dist/records-v2/EmailRecord.js +254 -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 +1191 -2
- package/dist/records-v2/FileRecord.js +1869 -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 +359 -2
- package/dist/records-v2/InvoiceRecord.js +569 -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 +79 -2
- package/dist/records-v2/MessageRecord.js +107 -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 +1101 -1
- package/dist/records-v2/NoteRecord.js +1806 -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 +280 -0
- package/dist/records-v2/OrderItemRecord.js +465 -0
- package/dist/records-v2/OrderRecord.d.ts +540 -0
- package/dist/records-v2/OrderRecord.js +894 -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/PriceBookRecord.d.ts +21 -0
- package/dist/records-v2/PriceBookRecord.js +37 -0
- package/dist/records-v2/ProductRecord.d.ts +242 -2
- package/dist/records-v2/ProductRecord.js +335 -0
- package/dist/records-v2/PushNotificationRecord.d.ts +42 -1
- package/dist/records-v2/PushNotificationRecord.js +58 -0
- package/dist/records-v2/ReferralRecord.d.ts +103 -2
- package/dist/records-v2/ReferralRecord.js +157 -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 +103 -2
- package/dist/records-v2/RewardRecord.js +157 -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/SweeperMaintenanceAuditRecord.d.ts +83 -2
- package/dist/records-v2/SweeperMaintenanceAuditRecord.js +124 -0
- package/dist/records-v2/TeamRecord.d.ts +81 -0
- package/dist/records-v2/TeamRecord.js +136 -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 +360 -0
- package/dist/records-v2/UserRecord.js +597 -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 +1206 -2
- package/dist/records-v2/WorkOrderRecord.js +1832 -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 +83 -2
- package/dist/records-v2/YfStockAuditRecord.js +124 -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
|
*
|
|
@@ -103,6 +116,419 @@ class AccountRecord {
|
|
|
103
116
|
/** Access the underlying OdinRecord (null for new records) */
|
|
104
117
|
get record() { return this._record; }
|
|
105
118
|
// ============================================
|
|
119
|
+
// TYPE GUARDS (with TypeScript type predicates)
|
|
120
|
+
// ============================================
|
|
121
|
+
/**
|
|
122
|
+
* Type guard: check if this record is of type BUSINESS
|
|
123
|
+
*
|
|
124
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
125
|
+
* giving you access to BUSINESS-specific properties.
|
|
126
|
+
*
|
|
127
|
+
* @example
|
|
128
|
+
* ```typescript
|
|
129
|
+
* if (record.isBusiness()) {
|
|
130
|
+
* // TypeScript knows record.properties is BusinessAccountProperties
|
|
131
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
132
|
+
* }
|
|
133
|
+
* ```
|
|
134
|
+
* @remarks Business accounts
|
|
135
|
+
*/
|
|
136
|
+
isBusiness() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'BUSINESS'; }
|
|
137
|
+
/**
|
|
138
|
+
* Type guard: check if this record is of type MULTIPLE
|
|
139
|
+
*
|
|
140
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
141
|
+
* giving you access to MULTIPLE-specific properties.
|
|
142
|
+
*
|
|
143
|
+
* @example
|
|
144
|
+
* ```typescript
|
|
145
|
+
* if (record.isMultiple()) {
|
|
146
|
+
* // TypeScript knows record.properties is MultipleAccountProperties
|
|
147
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
148
|
+
* }
|
|
149
|
+
* ```
|
|
150
|
+
* @remarks Multiple accounts are for customers who want to purchase multiple services at many addresses
|
|
151
|
+
*/
|
|
152
|
+
isMultiple() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'MULTIPLE'; }
|
|
153
|
+
/**
|
|
154
|
+
* Type guard: check if this record is of type PRIMARY
|
|
155
|
+
*
|
|
156
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
157
|
+
* giving you access to PRIMARY-specific properties.
|
|
158
|
+
*
|
|
159
|
+
* @example
|
|
160
|
+
* ```typescript
|
|
161
|
+
* if (record.isPrimary()) {
|
|
162
|
+
* // TypeScript knows record.properties is PrimaryAccountProperties
|
|
163
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
164
|
+
* }
|
|
165
|
+
* ```
|
|
166
|
+
* @remarks Primary account
|
|
167
|
+
*/
|
|
168
|
+
isPrimary() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'PRIMARY'; }
|
|
169
|
+
/**
|
|
170
|
+
* Type guard: check if this record is of type RESELLER
|
|
171
|
+
*
|
|
172
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
173
|
+
* giving you access to RESELLER-specific properties.
|
|
174
|
+
*
|
|
175
|
+
* @example
|
|
176
|
+
* ```typescript
|
|
177
|
+
* if (record.isReseller()) {
|
|
178
|
+
* // TypeScript knows record.properties is ResellerAccountProperties
|
|
179
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
180
|
+
* }
|
|
181
|
+
* ```
|
|
182
|
+
* @remarks Reseller
|
|
183
|
+
*/
|
|
184
|
+
isReseller() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'RESELLER'; }
|
|
185
|
+
/**
|
|
186
|
+
* Type guard: check if this record is of type SERVICE
|
|
187
|
+
*
|
|
188
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
189
|
+
* giving you access to SERVICE-specific properties.
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```typescript
|
|
193
|
+
* if (record.isService()) {
|
|
194
|
+
* // TypeScript knows record.properties is ServiceAccountProperties
|
|
195
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
196
|
+
* }
|
|
197
|
+
* ```
|
|
198
|
+
* @remarks This is the account where service is being delivered
|
|
199
|
+
*/
|
|
200
|
+
isService() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'SERVICE'; }
|
|
201
|
+
/**
|
|
202
|
+
* Access linked WorkOrder records
|
|
203
|
+
* @remarks Available labels: Account__WorkOrder
|
|
204
|
+
* @throws Error if called on a new (unsaved) record
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```typescript
|
|
208
|
+
* // Get all linked WorkOrder records
|
|
209
|
+
* const items = await record.workOrders.list();
|
|
210
|
+
* const first = await record.workOrders.first();
|
|
211
|
+
*
|
|
212
|
+
* // Filter by label
|
|
213
|
+
* const specific = await record.workOrders.first({ label: 'Account__WorkOrder' });
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
get workOrders() {
|
|
217
|
+
var _a;
|
|
218
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
219
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
220
|
+
if (!this._workOrders) {
|
|
221
|
+
this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
222
|
+
sourceEntity: 'CrmModule:Account',
|
|
223
|
+
targetEntity: 'FieldServiceModule:WorkOrder',
|
|
224
|
+
targetModuleName: 'FieldServiceModule',
|
|
225
|
+
targetEntityName: 'WorkOrder',
|
|
226
|
+
labels: ['Account__WorkOrder'],
|
|
227
|
+
}, WorkOrderRecord_1.WorkOrderRecord);
|
|
228
|
+
}
|
|
229
|
+
return this._workOrders;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Access linked Note records
|
|
233
|
+
* @remarks Available labels: Account__Note
|
|
234
|
+
* @throws Error if called on a new (unsaved) record
|
|
235
|
+
*
|
|
236
|
+
* @example
|
|
237
|
+
* ```typescript
|
|
238
|
+
* // Get all linked Note records
|
|
239
|
+
* const items = await record.notes.list();
|
|
240
|
+
* const first = await record.notes.first();
|
|
241
|
+
*
|
|
242
|
+
* // Filter by label
|
|
243
|
+
* const specific = await record.notes.first({ label: 'Account__Note' });
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
get notes() {
|
|
247
|
+
var _a;
|
|
248
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
249
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
250
|
+
if (!this._notes) {
|
|
251
|
+
this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
252
|
+
sourceEntity: 'CrmModule:Account',
|
|
253
|
+
targetEntity: 'SupportModule:Note',
|
|
254
|
+
targetModuleName: 'SupportModule',
|
|
255
|
+
targetEntityName: 'Note',
|
|
256
|
+
labels: ['Account__Note'],
|
|
257
|
+
}, NoteRecord_1.NoteRecord);
|
|
258
|
+
}
|
|
259
|
+
return this._notes;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Access linked OneTouchSwitch records
|
|
263
|
+
* @remarks Available labels: Account__OneTouchSwitch
|
|
264
|
+
* @throws Error if called on a new (unsaved) record
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```typescript
|
|
268
|
+
* // Get all linked OneTouchSwitch records
|
|
269
|
+
* const items = await record.oneTouchSwitches.list();
|
|
270
|
+
* const first = await record.oneTouchSwitches.first();
|
|
271
|
+
*
|
|
272
|
+
* // Filter by label
|
|
273
|
+
* const specific = await record.oneTouchSwitches.first({ label: 'Account__OneTouchSwitch' });
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
get oneTouchSwitches() {
|
|
277
|
+
var _a;
|
|
278
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
279
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
280
|
+
if (!this._oneTouchSwitches) {
|
|
281
|
+
this._oneTouchSwitches = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
282
|
+
sourceEntity: 'CrmModule:Account',
|
|
283
|
+
targetEntity: 'OrderModule:OneTouchSwitch',
|
|
284
|
+
targetModuleName: 'OrderModule',
|
|
285
|
+
targetEntityName: 'OneTouchSwitch',
|
|
286
|
+
labels: ['Account__OneTouchSwitch'],
|
|
287
|
+
}, OneTouchSwitchRecord_1.OneTouchSwitchRecord);
|
|
288
|
+
}
|
|
289
|
+
return this._oneTouchSwitches;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Access linked Order records
|
|
293
|
+
* @remarks Available labels: Account__Order
|
|
294
|
+
* @throws Error if called on a new (unsaved) record
|
|
295
|
+
*
|
|
296
|
+
* @example
|
|
297
|
+
* ```typescript
|
|
298
|
+
* // Get all linked Order records
|
|
299
|
+
* const items = await record.orders.list();
|
|
300
|
+
* const first = await record.orders.first();
|
|
301
|
+
*
|
|
302
|
+
* // Filter by label
|
|
303
|
+
* const specific = await record.orders.first({ label: 'Account__Order' });
|
|
304
|
+
* ```
|
|
305
|
+
*/
|
|
306
|
+
get orders() {
|
|
307
|
+
var _a;
|
|
308
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
309
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
310
|
+
if (!this._orders) {
|
|
311
|
+
this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
312
|
+
sourceEntity: 'CrmModule:Account',
|
|
313
|
+
targetEntity: 'OrderModule:Order',
|
|
314
|
+
targetModuleName: 'OrderModule',
|
|
315
|
+
targetEntityName: 'Order',
|
|
316
|
+
labels: ['Account__Order'],
|
|
317
|
+
}, OrderRecord_1.OrderRecord);
|
|
318
|
+
}
|
|
319
|
+
return this._orders;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Access linked Invoice records
|
|
323
|
+
* @remarks Available labels: Account__Invoice
|
|
324
|
+
* @throws Error if called on a new (unsaved) record
|
|
325
|
+
*
|
|
326
|
+
* @example
|
|
327
|
+
* ```typescript
|
|
328
|
+
* // Get all linked Invoice records
|
|
329
|
+
* const items = await record.invoices.list();
|
|
330
|
+
* const first = await record.invoices.first();
|
|
331
|
+
*
|
|
332
|
+
* // Filter by label
|
|
333
|
+
* const specific = await record.invoices.first({ label: 'Account__Invoice' });
|
|
334
|
+
* ```
|
|
335
|
+
*/
|
|
336
|
+
get invoices() {
|
|
337
|
+
var _a;
|
|
338
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
339
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
340
|
+
if (!this._invoices) {
|
|
341
|
+
this._invoices = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
342
|
+
sourceEntity: 'CrmModule:Account',
|
|
343
|
+
targetEntity: 'BillingModule:Invoice',
|
|
344
|
+
targetModuleName: 'BillingModule',
|
|
345
|
+
targetEntityName: 'Invoice',
|
|
346
|
+
labels: ['Account__Invoice'],
|
|
347
|
+
}, InvoiceRecord_1.InvoiceRecord);
|
|
348
|
+
}
|
|
349
|
+
return this._invoices;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Access linked Account records
|
|
353
|
+
* @remarks Available labels: Account_Account
|
|
354
|
+
* @throws Error if called on a new (unsaved) record
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* ```typescript
|
|
358
|
+
* // Get all linked Account records
|
|
359
|
+
* const items = await record.accounts.list();
|
|
360
|
+
* const first = await record.accounts.first();
|
|
361
|
+
*
|
|
362
|
+
* // Filter by label
|
|
363
|
+
* const specific = await record.accounts.first({ label: 'Account_Account' });
|
|
364
|
+
* ```
|
|
365
|
+
*/
|
|
366
|
+
get accounts() {
|
|
367
|
+
var _a;
|
|
368
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
369
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
370
|
+
if (!this._accounts) {
|
|
371
|
+
this._accounts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
372
|
+
sourceEntity: 'CrmModule:Account',
|
|
373
|
+
targetEntity: 'CrmModule:Account',
|
|
374
|
+
targetModuleName: 'CrmModule',
|
|
375
|
+
targetEntityName: 'Account',
|
|
376
|
+
labels: ['Account_Account'],
|
|
377
|
+
}, AccountRecord);
|
|
378
|
+
}
|
|
379
|
+
return this._accounts;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Access linked Address records
|
|
383
|
+
* @remarks Available labels: BillingAddress
|
|
384
|
+
* @throws Error if called on a new (unsaved) record
|
|
385
|
+
*
|
|
386
|
+
* @example
|
|
387
|
+
* ```typescript
|
|
388
|
+
* // Get all linked Address records
|
|
389
|
+
* const items = await record.addresses.list();
|
|
390
|
+
* const first = await record.addresses.first();
|
|
391
|
+
*
|
|
392
|
+
* // Filter by label
|
|
393
|
+
* const specific = await record.addresses.first({ label: 'BillingAddress' });
|
|
394
|
+
* ```
|
|
395
|
+
*/
|
|
396
|
+
get addresses() {
|
|
397
|
+
var _a;
|
|
398
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
399
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
400
|
+
if (!this._addresses) {
|
|
401
|
+
this._addresses = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
402
|
+
sourceEntity: 'CrmModule:Account',
|
|
403
|
+
targetEntity: 'CrmModule:Address',
|
|
404
|
+
targetModuleName: 'CrmModule',
|
|
405
|
+
targetEntityName: 'Address',
|
|
406
|
+
labels: ['BillingAddress'],
|
|
407
|
+
}, AddressRecord_1.AddressRecord);
|
|
408
|
+
}
|
|
409
|
+
return this._addresses;
|
|
410
|
+
}
|
|
411
|
+
/**
|
|
412
|
+
* Access linked Case records
|
|
413
|
+
* @remarks Available labels: Account__Case
|
|
414
|
+
* @throws Error if called on a new (unsaved) record
|
|
415
|
+
*
|
|
416
|
+
* @example
|
|
417
|
+
* ```typescript
|
|
418
|
+
* // Get all linked Case records
|
|
419
|
+
* const items = await record.cases.list();
|
|
420
|
+
* const first = await record.cases.first();
|
|
421
|
+
*
|
|
422
|
+
* // Filter by label
|
|
423
|
+
* const specific = await record.cases.first({ label: 'Account__Case' });
|
|
424
|
+
* ```
|
|
425
|
+
*/
|
|
426
|
+
get cases() {
|
|
427
|
+
var _a;
|
|
428
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
429
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
430
|
+
if (!this._cases) {
|
|
431
|
+
this._cases = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
432
|
+
sourceEntity: 'CrmModule:Account',
|
|
433
|
+
targetEntity: 'SupportModule:Case',
|
|
434
|
+
targetModuleName: 'SupportModule',
|
|
435
|
+
targetEntityName: 'Case',
|
|
436
|
+
labels: ['Account__Case'],
|
|
437
|
+
}, CaseRecord_1.CaseRecord);
|
|
438
|
+
}
|
|
439
|
+
return this._cases;
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* Access linked Payment records
|
|
443
|
+
* @remarks Available labels: Account_Payment
|
|
444
|
+
* @throws Error if called on a new (unsaved) record
|
|
445
|
+
*
|
|
446
|
+
* @example
|
|
447
|
+
* ```typescript
|
|
448
|
+
* // Get all linked Payment records
|
|
449
|
+
* const items = await record.payments.list();
|
|
450
|
+
* const first = await record.payments.first();
|
|
451
|
+
*
|
|
452
|
+
* // Filter by label
|
|
453
|
+
* const specific = await record.payments.first({ label: 'Account_Payment' });
|
|
454
|
+
* ```
|
|
455
|
+
*/
|
|
456
|
+
get payments() {
|
|
457
|
+
var _a;
|
|
458
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
459
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
460
|
+
if (!this._payments) {
|
|
461
|
+
this._payments = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
462
|
+
sourceEntity: 'CrmModule:Account',
|
|
463
|
+
targetEntity: 'BillingModule:Payment',
|
|
464
|
+
targetModuleName: 'BillingModule',
|
|
465
|
+
targetEntityName: 'Payment',
|
|
466
|
+
labels: ['Account_Payment'],
|
|
467
|
+
}, PaymentRecord_1.PaymentRecord);
|
|
468
|
+
}
|
|
469
|
+
return this._payments;
|
|
470
|
+
}
|
|
471
|
+
/**
|
|
472
|
+
* Access linked Contact records
|
|
473
|
+
* @remarks Available labels: BillingContact
|
|
474
|
+
* @throws Error if called on a new (unsaved) record
|
|
475
|
+
*
|
|
476
|
+
* @example
|
|
477
|
+
* ```typescript
|
|
478
|
+
* // Get all linked Contact records
|
|
479
|
+
* const items = await record.contacts.list();
|
|
480
|
+
* const first = await record.contacts.first();
|
|
481
|
+
*
|
|
482
|
+
* // Filter by label
|
|
483
|
+
* const specific = await record.contacts.first({ label: 'BillingContact' });
|
|
484
|
+
* ```
|
|
485
|
+
*/
|
|
486
|
+
get contacts() {
|
|
487
|
+
var _a;
|
|
488
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
489
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
490
|
+
if (!this._contacts) {
|
|
491
|
+
this._contacts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
492
|
+
sourceEntity: 'CrmModule:Account',
|
|
493
|
+
targetEntity: 'CrmModule:Contact',
|
|
494
|
+
targetModuleName: 'CrmModule',
|
|
495
|
+
targetEntityName: 'Contact',
|
|
496
|
+
labels: ['BillingContact'],
|
|
497
|
+
}, ContactRecord_1.ContactRecord);
|
|
498
|
+
}
|
|
499
|
+
return this._contacts;
|
|
500
|
+
}
|
|
501
|
+
/**
|
|
502
|
+
* Access linked File records
|
|
503
|
+
* @remarks Available labels: Account__File
|
|
504
|
+
* @throws Error if called on a new (unsaved) record
|
|
505
|
+
*
|
|
506
|
+
* @example
|
|
507
|
+
* ```typescript
|
|
508
|
+
* // Get all linked File records
|
|
509
|
+
* const items = await record.files.list();
|
|
510
|
+
* const first = await record.files.first();
|
|
511
|
+
*
|
|
512
|
+
* // Filter by label
|
|
513
|
+
* const specific = await record.files.first({ label: 'Account__File' });
|
|
514
|
+
* ```
|
|
515
|
+
*/
|
|
516
|
+
get files() {
|
|
517
|
+
var _a;
|
|
518
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
519
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
520
|
+
if (!this._files) {
|
|
521
|
+
this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
522
|
+
sourceEntity: 'CrmModule:Account',
|
|
523
|
+
targetEntity: 'SchemaModule:File',
|
|
524
|
+
targetModuleName: 'SchemaModule',
|
|
525
|
+
targetEntityName: 'File',
|
|
526
|
+
labels: ['Account__File'],
|
|
527
|
+
}, FileRecord_1.FileRecord);
|
|
528
|
+
}
|
|
529
|
+
return this._files;
|
|
530
|
+
}
|
|
531
|
+
// ============================================
|
|
106
532
|
// LINK MANAGEMENT
|
|
107
533
|
// ============================================
|
|
108
534
|
/**
|
|
@@ -393,6 +819,31 @@ class AccountRecord {
|
|
|
393
819
|
}
|
|
394
820
|
}
|
|
395
821
|
exports.AccountRecord = AccountRecord;
|
|
822
|
+
// ============================================
|
|
823
|
+
// TYPED LINK ACCESSORS
|
|
824
|
+
// ============================================
|
|
825
|
+
/** Valid labels for WorkOrder associations */
|
|
826
|
+
AccountRecord.workOrdersLabels = ['Account__WorkOrder'];
|
|
827
|
+
/** Valid labels for Note associations */
|
|
828
|
+
AccountRecord.notesLabels = ['Account__Note'];
|
|
829
|
+
/** Valid labels for OneTouchSwitch associations */
|
|
830
|
+
AccountRecord.oneTouchSwitchesLabels = ['Account__OneTouchSwitch'];
|
|
831
|
+
/** Valid labels for Order associations */
|
|
832
|
+
AccountRecord.ordersLabels = ['Account__Order'];
|
|
833
|
+
/** Valid labels for Invoice associations */
|
|
834
|
+
AccountRecord.invoicesLabels = ['Account__Invoice'];
|
|
835
|
+
/** Valid labels for Account associations */
|
|
836
|
+
AccountRecord.accountsLabels = ['Account_Account'];
|
|
837
|
+
/** Valid labels for Address associations */
|
|
838
|
+
AccountRecord.addressesLabels = ['BillingAddress'];
|
|
839
|
+
/** Valid labels for Case associations */
|
|
840
|
+
AccountRecord.casesLabels = ['Account__Case'];
|
|
841
|
+
/** Valid labels for Payment associations */
|
|
842
|
+
AccountRecord.paymentsLabels = ['Account_Payment'];
|
|
843
|
+
/** Valid labels for Contact associations */
|
|
844
|
+
AccountRecord.contactsLabels = ['BillingContact'];
|
|
845
|
+
/** Valid labels for File associations */
|
|
846
|
+
AccountRecord.filesLabels = ['Account__File'];
|
|
396
847
|
/** Type guard to check if an object is a AccountRecord */
|
|
397
848
|
function isAccountRecord(obj) {
|
|
398
849
|
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
|
*
|
|
@@ -57,6 +67,11 @@ export declare class ActivityLogRecord<TProps = ActivityLogProperties> {
|
|
|
57
67
|
private _provider;
|
|
58
68
|
private _pendingLinks;
|
|
59
69
|
private _preGeneratedId;
|
|
70
|
+
private _orders?;
|
|
71
|
+
private _cases?;
|
|
72
|
+
private _oneTouchSwitches?;
|
|
73
|
+
private _calls?;
|
|
74
|
+
private _workOrders?;
|
|
60
75
|
/**
|
|
61
76
|
* Create a record wrapper.
|
|
62
77
|
* @param record - The underlying record, or null for create operations
|
|
@@ -69,7 +84,7 @@ export declare class ActivityLogRecord<TProps = ActivityLogProperties> {
|
|
|
69
84
|
/** Record ID - always available (pre-generated for new records) */
|
|
70
85
|
get id(): string;
|
|
71
86
|
get entity(): string;
|
|
72
|
-
get type():
|
|
87
|
+
get type(): ActivityLogType | undefined;
|
|
73
88
|
/** Record properties - empty object for new (unsaved) records */
|
|
74
89
|
get properties(): TProps;
|
|
75
90
|
get title(): string | undefined;
|
|
@@ -79,6 +94,112 @@ export declare class ActivityLogRecord<TProps = ActivityLogProperties> {
|
|
|
79
94
|
get updatedAt(): string | undefined;
|
|
80
95
|
/** Access the underlying OdinRecord (null for new records) */
|
|
81
96
|
get record(): OdinRecord<TProps> | null;
|
|
97
|
+
/**
|
|
98
|
+
* Type guard: check if this record is of type DEFAULT
|
|
99
|
+
*
|
|
100
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
101
|
+
* giving you access to DEFAULT-specific properties.
|
|
102
|
+
*
|
|
103
|
+
* @example
|
|
104
|
+
* ```typescript
|
|
105
|
+
* if (record.isDefault()) {
|
|
106
|
+
* // TypeScript knows record.properties is ActivityLogProperties
|
|
107
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
108
|
+
* }
|
|
109
|
+
* ```
|
|
110
|
+
* @remarks This is the default record type
|
|
111
|
+
*/
|
|
112
|
+
isDefault(): this is ActivityLogRecord<ActivityLogProperties>;
|
|
113
|
+
/** Valid labels for Order associations */
|
|
114
|
+
static readonly ordersLabels: readonly ["Order__ActivityLog"];
|
|
115
|
+
/**
|
|
116
|
+
* Access linked Order records
|
|
117
|
+
* @remarks Available labels: Order__ActivityLog
|
|
118
|
+
* @throws Error if called on a new (unsaved) record
|
|
119
|
+
*
|
|
120
|
+
* @example
|
|
121
|
+
* ```typescript
|
|
122
|
+
* // Get all linked Order records
|
|
123
|
+
* const items = await record.orders.list();
|
|
124
|
+
* const first = await record.orders.first();
|
|
125
|
+
*
|
|
126
|
+
* // Filter by label
|
|
127
|
+
* const specific = await record.orders.first({ label: 'Order__ActivityLog' });
|
|
128
|
+
* ```
|
|
129
|
+
*/
|
|
130
|
+
get orders(): RecordLinkManager<OrderRecord, typeof ActivityLogRecord['ordersLabels'][number]>;
|
|
131
|
+
/** Valid labels for Case associations */
|
|
132
|
+
static readonly casesLabels: readonly ["Case__ActivityLog"];
|
|
133
|
+
/**
|
|
134
|
+
* Access linked Case records
|
|
135
|
+
* @remarks Available labels: Case__ActivityLog
|
|
136
|
+
* @throws Error if called on a new (unsaved) record
|
|
137
|
+
*
|
|
138
|
+
* @example
|
|
139
|
+
* ```typescript
|
|
140
|
+
* // Get all linked Case records
|
|
141
|
+
* const items = await record.cases.list();
|
|
142
|
+
* const first = await record.cases.first();
|
|
143
|
+
*
|
|
144
|
+
* // Filter by label
|
|
145
|
+
* const specific = await record.cases.first({ label: 'Case__ActivityLog' });
|
|
146
|
+
* ```
|
|
147
|
+
*/
|
|
148
|
+
get cases(): RecordLinkManager<CaseRecord, typeof ActivityLogRecord['casesLabels'][number]>;
|
|
149
|
+
/** Valid labels for OneTouchSwitch associations */
|
|
150
|
+
static readonly oneTouchSwitchesLabels: readonly ["OneTouchSwitch_ActivityLog"];
|
|
151
|
+
/**
|
|
152
|
+
* Access linked OneTouchSwitch records
|
|
153
|
+
* @remarks Available labels: OneTouchSwitch_ActivityLog
|
|
154
|
+
* @throws Error if called on a new (unsaved) record
|
|
155
|
+
*
|
|
156
|
+
* @example
|
|
157
|
+
* ```typescript
|
|
158
|
+
* // Get all linked OneTouchSwitch records
|
|
159
|
+
* const items = await record.oneTouchSwitches.list();
|
|
160
|
+
* const first = await record.oneTouchSwitches.first();
|
|
161
|
+
*
|
|
162
|
+
* // Filter by label
|
|
163
|
+
* const specific = await record.oneTouchSwitches.first({ label: 'OneTouchSwitch_ActivityLog' });
|
|
164
|
+
* ```
|
|
165
|
+
*/
|
|
166
|
+
get oneTouchSwitches(): RecordLinkManager<OneTouchSwitchRecord, typeof ActivityLogRecord['oneTouchSwitchesLabels'][number]>;
|
|
167
|
+
/** Valid labels for Call associations */
|
|
168
|
+
static readonly callsLabels: readonly ["CallActivity"];
|
|
169
|
+
/**
|
|
170
|
+
* Access linked Call records
|
|
171
|
+
* @remarks Available labels: CallActivity
|
|
172
|
+
* @throws Error if called on a new (unsaved) record
|
|
173
|
+
*
|
|
174
|
+
* @example
|
|
175
|
+
* ```typescript
|
|
176
|
+
* // Get all linked Call records
|
|
177
|
+
* const items = await record.calls.list();
|
|
178
|
+
* const first = await record.calls.first();
|
|
179
|
+
*
|
|
180
|
+
* // Filter by label
|
|
181
|
+
* const specific = await record.calls.first({ label: 'CallActivity' });
|
|
182
|
+
* ```
|
|
183
|
+
*/
|
|
184
|
+
get calls(): RecordLinkManager<CallRecord, typeof ActivityLogRecord['callsLabels'][number]>;
|
|
185
|
+
/** Valid labels for WorkOrder associations */
|
|
186
|
+
static readonly workOrdersLabels: readonly ["WorkOrder_ActivityLog"];
|
|
187
|
+
/**
|
|
188
|
+
* Access linked WorkOrder records
|
|
189
|
+
* @remarks Available labels: WorkOrder_ActivityLog
|
|
190
|
+
* @throws Error if called on a new (unsaved) record
|
|
191
|
+
*
|
|
192
|
+
* @example
|
|
193
|
+
* ```typescript
|
|
194
|
+
* // Get all linked WorkOrder records
|
|
195
|
+
* const items = await record.workOrders.list();
|
|
196
|
+
* const first = await record.workOrders.first();
|
|
197
|
+
*
|
|
198
|
+
* // Filter by label
|
|
199
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrder_ActivityLog' });
|
|
200
|
+
* ```
|
|
201
|
+
*/
|
|
202
|
+
get workOrders(): RecordLinkManager<WorkOrderRecord, typeof ActivityLogRecord['workOrdersLabels'][number]>;
|
|
82
203
|
/**
|
|
83
204
|
* Queue a link to be created with the next action.
|
|
84
205
|
* Works for both create and update actions.
|