@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.
Files changed (239) hide show
  1. package/README.md +11 -10
  2. package/dist/actions-v2/CreateOrderFromBrskDto.d.ts +75 -0
  3. package/dist/actions-v2/CreateOrderItemFromBrskDto.d.ts +191 -0
  4. package/dist/actions-v2/CreateOrderItemFromBrskDto.js +52 -0
  5. package/dist/entities-v2/Order.d.ts +7 -0
  6. package/dist/entities-v2/Order.js +2 -0
  7. package/dist/entities-v2/OrderItem.d.ts +7 -0
  8. package/dist/entities-v2/OrderItem.js +2 -0
  9. package/dist/entities-v2/Product.d.ts +0 -42
  10. package/dist/entities-v2/Product.js +0 -2
  11. package/dist/records-v2/AccountCreditRecord.d.ts +62 -1
  12. package/dist/records-v2/AccountCreditRecord.js +91 -0
  13. package/dist/records-v2/AccountRecord.d.ts +306 -2
  14. package/dist/records-v2/AccountRecord.js +451 -0
  15. package/dist/records-v2/ActivityLogRecord.d.ts +122 -1
  16. package/dist/records-v2/ActivityLogRecord.js +190 -0
  17. package/dist/records-v2/ActivityRecord.d.ts +255 -2
  18. package/dist/records-v2/ActivityRecord.js +387 -0
  19. package/dist/records-v2/AddressRecord.d.ts +321 -0
  20. package/dist/records-v2/AddressRecord.js +532 -0
  21. package/dist/records-v2/AffiliateCodeRecord.d.ts +102 -1
  22. package/dist/records-v2/AffiliateCodeRecord.js +157 -0
  23. package/dist/records-v2/AppointmentRecord.d.ts +141 -0
  24. package/dist/records-v2/AppointmentRecord.js +235 -0
  25. package/dist/records-v2/BillingAdjustmentRecord.d.ts +81 -0
  26. package/dist/records-v2/BillingAdjustmentRecord.js +136 -0
  27. package/dist/records-v2/BillingRequestRecord.d.ts +178 -2
  28. package/dist/records-v2/BillingRequestRecord.js +271 -0
  29. package/dist/records-v2/BlockageA55Record.d.ts +103 -2
  30. package/dist/records-v2/BlockageA55Record.js +157 -0
  31. package/dist/records-v2/BrskEntityMigrationErrorRecord.d.ts +21 -1
  32. package/dist/records-v2/BrskEntityMigrationErrorRecord.js +21 -0
  33. package/dist/records-v2/CallEventRecord.d.ts +82 -1
  34. package/dist/records-v2/CallEventRecord.js +124 -0
  35. package/dist/records-v2/CallLegRecord.d.ts +82 -1
  36. package/dist/records-v2/CallLegRecord.js +124 -0
  37. package/dist/records-v2/CallRecord.d.ts +202 -1
  38. package/dist/records-v2/CallRecord.js +322 -0
  39. package/dist/records-v2/CallTransferRecord.d.ts +102 -1
  40. package/dist/records-v2/CallTransferRecord.js +157 -0
  41. package/dist/records-v2/CampaignRecord.d.ts +83 -2
  42. package/dist/records-v2/CampaignRecord.js +124 -0
  43. package/dist/records-v2/CaseRecord.d.ts +418 -2
  44. package/dist/records-v2/CaseRecord.js +667 -0
  45. package/dist/records-v2/ChangeReasonRecord.d.ts +171 -2
  46. package/dist/records-v2/ChangeReasonRecord.js +238 -0
  47. package/dist/records-v2/ChurnRequestRecord.d.ts +62 -1
  48. package/dist/records-v2/ChurnRequestRecord.js +91 -0
  49. package/dist/records-v2/ContactRecord.d.ts +560 -0
  50. package/dist/records-v2/ContactRecord.js +927 -0
  51. package/dist/records-v2/ContractBuyOutRecord.d.ts +162 -1
  52. package/dist/records-v2/ContractBuyOutRecord.js +256 -0
  53. package/dist/records-v2/ConversationFeedbackRecord.d.ts +102 -1
  54. package/dist/records-v2/ConversationFeedbackRecord.js +157 -0
  55. package/dist/records-v2/ConversationRecord.d.ts +102 -1
  56. package/dist/records-v2/ConversationRecord.js +157 -0
  57. package/dist/records-v2/CreditNoteRecord.d.ts +81 -0
  58. package/dist/records-v2/CreditNoteRecord.js +136 -0
  59. package/dist/records-v2/CrmDatasetRecord.d.ts +191 -2
  60. package/dist/records-v2/CrmDatasetRecord.js +271 -0
  61. package/dist/records-v2/CustomerDeviceAtaRecord.d.ts +21 -0
  62. package/dist/records-v2/CustomerDeviceAtaRecord.js +37 -0
  63. package/dist/records-v2/CustomerDeviceConfigurationRecord.d.ts +62 -1
  64. package/dist/records-v2/CustomerDeviceConfigurationRecord.js +91 -0
  65. package/dist/records-v2/CustomerDeviceOntRecord.d.ts +181 -0
  66. package/dist/records-v2/CustomerDeviceOntRecord.js +301 -0
  67. package/dist/records-v2/CustomerDeviceRouterRecord.d.ts +141 -0
  68. package/dist/records-v2/CustomerDeviceRouterRecord.js +235 -0
  69. package/dist/records-v2/CustomerPhonePortingRecord.d.ts +21 -0
  70. package/dist/records-v2/CustomerPhonePortingRecord.js +37 -0
  71. package/dist/records-v2/DiscountRecord.d.ts +121 -0
  72. package/dist/records-v2/DiscountRecord.js +202 -0
  73. package/dist/records-v2/EmailRecord.d.ts +230 -2
  74. package/dist/records-v2/EmailRecord.js +336 -0
  75. package/dist/records-v2/EmailSenderRecord.d.ts +42 -1
  76. package/dist/records-v2/EmailSenderRecord.js +58 -0
  77. package/dist/records-v2/EmailTemplateRecord.d.ts +21 -1
  78. package/dist/records-v2/EmailTemplateRecord.js +21 -0
  79. package/dist/records-v2/FieldServiceDispatchedProductRecord.d.ts +135 -2
  80. package/dist/records-v2/FieldServiceDispatchedProductRecord.js +189 -0
  81. package/dist/records-v2/FieldServiceProductRecord.d.ts +115 -2
  82. package/dist/records-v2/FieldServiceProductRecord.js +156 -0
  83. package/dist/records-v2/FileRecord.d.ts +1211 -2
  84. package/dist/records-v2/FileRecord.js +1902 -0
  85. package/dist/records-v2/ImpersonationTrackerRecord.d.ts +62 -1
  86. package/dist/records-v2/ImpersonationTrackerRecord.js +91 -0
  87. package/dist/records-v2/InternalInstallAuditRecord.d.ts +83 -2
  88. package/dist/records-v2/InternalInstallAuditRecord.js +124 -0
  89. package/dist/records-v2/InvoiceItemRecord.d.ts +40 -0
  90. package/dist/records-v2/InvoiceItemRecord.js +69 -0
  91. package/dist/records-v2/InvoiceRecord.d.ts +399 -2
  92. package/dist/records-v2/InvoiceRecord.js +635 -0
  93. package/dist/records-v2/KnowledgeArticleRecord.d.ts +98 -2
  94. package/dist/records-v2/KnowledgeArticleRecord.js +139 -0
  95. package/dist/records-v2/LeadRecord.d.ts +261 -0
  96. package/dist/records-v2/LeadRecord.js +433 -0
  97. package/dist/records-v2/MessageRecord.d.ts +99 -2
  98. package/dist/records-v2/MessageRecord.js +140 -0
  99. package/dist/records-v2/NetworkDeviceRecord.d.ts +43 -2
  100. package/dist/records-v2/NetworkDeviceRecord.js +58 -0
  101. package/dist/records-v2/NoteRecord.d.ts +1121 -1
  102. package/dist/records-v2/NoteRecord.js +1839 -0
  103. package/dist/records-v2/OfferRecord.d.ts +154 -2
  104. package/dist/records-v2/OfferRecord.js +221 -0
  105. package/dist/records-v2/OhAuditOfInstallationRecord.d.ts +83 -2
  106. package/dist/records-v2/OhAuditOfInstallationRecord.js +124 -0
  107. package/dist/records-v2/OhExternalAuditRecord.d.ts +83 -2
  108. package/dist/records-v2/OhExternalAuditRecord.js +124 -0
  109. package/dist/records-v2/OhInProgressAuditRecord.d.ts +83 -2
  110. package/dist/records-v2/OhInProgressAuditRecord.js +124 -0
  111. package/dist/records-v2/OhInstallationAuditRecord.d.ts +83 -2
  112. package/dist/records-v2/OhInstallationAuditRecord.js +124 -0
  113. package/dist/records-v2/OhRetroAuditRecord.d.ts +83 -2
  114. package/dist/records-v2/OhRetroAuditRecord.js +124 -0
  115. package/dist/records-v2/OneTouchSwitchRecord.d.ts +255 -2
  116. package/dist/records-v2/OneTouchSwitchRecord.js +387 -0
  117. package/dist/records-v2/OntReplacementApprovalRecord.d.ts +62 -1
  118. package/dist/records-v2/OntReplacementApprovalRecord.js +91 -0
  119. package/dist/records-v2/OrderCheckRecord.d.ts +21 -0
  120. package/dist/records-v2/OrderCheckRecord.js +37 -0
  121. package/dist/records-v2/OrderItemRecord.d.ts +309 -0
  122. package/dist/records-v2/OrderItemRecord.js +501 -0
  123. package/dist/records-v2/OrderKciRecord.d.ts +42 -1
  124. package/dist/records-v2/OrderKciRecord.js +58 -0
  125. package/dist/records-v2/OrderRecord.d.ts +620 -0
  126. package/dist/records-v2/OrderRecord.js +1026 -0
  127. package/dist/records-v2/OutageRecord.d.ts +42 -1
  128. package/dist/records-v2/OutageRecord.js +58 -0
  129. package/dist/records-v2/OverlayRealA55Record.d.ts +83 -2
  130. package/dist/records-v2/OverlayRealA55Record.js +124 -0
  131. package/dist/records-v2/PICRequestRecord.d.ts +62 -1
  132. package/dist/records-v2/PICRequestRecord.js +91 -0
  133. package/dist/records-v2/PaymentMethodRecord.d.ts +121 -0
  134. package/dist/records-v2/PaymentMethodRecord.js +202 -0
  135. package/dist/records-v2/PaymentMethodRefundRecord.d.ts +181 -0
  136. package/dist/records-v2/PaymentMethodRefundRecord.js +301 -0
  137. package/dist/records-v2/PaymentRecord.d.ts +82 -1
  138. package/dist/records-v2/PaymentRecord.js +124 -0
  139. package/dist/records-v2/PermissionToFailRecord.d.ts +61 -0
  140. package/dist/records-v2/PermissionToFailRecord.js +103 -0
  141. package/dist/records-v2/PgAccountValidationRecord.d.ts +21 -1
  142. package/dist/records-v2/PgAccountValidationRecord.js +21 -0
  143. package/dist/records-v2/PgContactRecord.d.ts +62 -1
  144. package/dist/records-v2/PgContactRecord.js +91 -0
  145. package/dist/records-v2/PgDirectDebitFileRecord.d.ts +95 -2
  146. package/dist/records-v2/PgDirectDebitFileRecord.js +123 -0
  147. package/dist/records-v2/PgDisputeRecord.d.ts +62 -1
  148. package/dist/records-v2/PgDisputeRecord.js +91 -0
  149. package/dist/records-v2/PgFileAllocationRecord.d.ts +115 -2
  150. package/dist/records-v2/PgFileAllocationRecord.js +156 -0
  151. package/dist/records-v2/PgLogRecord.d.ts +21 -1
  152. package/dist/records-v2/PgLogRecord.js +21 -0
  153. package/dist/records-v2/PgPaymentMethodRecord.d.ts +102 -1
  154. package/dist/records-v2/PgPaymentMethodRecord.js +157 -0
  155. package/dist/records-v2/PgSortCodeSubstitutionRecord.d.ts +21 -1
  156. package/dist/records-v2/PgSortCodeSubstitutionRecord.js +21 -0
  157. package/dist/records-v2/PgTransactionRecord.d.ts +135 -2
  158. package/dist/records-v2/PgTransactionRecord.js +189 -0
  159. package/dist/records-v2/PgVocalinkRecord.d.ts +21 -1
  160. package/dist/records-v2/PgVocalinkRecord.js +21 -0
  161. package/dist/records-v2/PgWebhookAttemptRecord.d.ts +42 -1
  162. package/dist/records-v2/PgWebhookAttemptRecord.js +58 -0
  163. package/dist/records-v2/PgWebhookRecord.d.ts +122 -1
  164. package/dist/records-v2/PgWebhookRecord.js +190 -0
  165. package/dist/records-v2/PhoneNumberRecord.d.ts +41 -0
  166. package/dist/records-v2/PhoneNumberRecord.js +70 -0
  167. package/dist/records-v2/PriceBookRecord.d.ts +21 -0
  168. package/dist/records-v2/PriceBookRecord.js +37 -0
  169. package/dist/records-v2/ProductRecord.d.ts +258 -2
  170. package/dist/records-v2/ProductRecord.js +351 -0
  171. package/dist/records-v2/PushNotificationRecord.d.ts +162 -1
  172. package/dist/records-v2/PushNotificationRecord.js +256 -0
  173. package/dist/records-v2/ReferralRecord.d.ts +143 -2
  174. package/dist/records-v2/ReferralRecord.js +223 -0
  175. package/dist/records-v2/RemediationOutcomeFormRecord.d.ts +83 -2
  176. package/dist/records-v2/RemediationOutcomeFormRecord.js +124 -0
  177. package/dist/records-v2/RemediationRequiredReasonRecord.d.ts +103 -2
  178. package/dist/records-v2/RemediationRequiredReasonRecord.js +157 -0
  179. package/dist/records-v2/ReturnsRecord.d.ts +62 -1
  180. package/dist/records-v2/ReturnsRecord.js +91 -0
  181. package/dist/records-v2/RewardRecord.d.ts +123 -2
  182. package/dist/records-v2/RewardRecord.js +190 -0
  183. package/dist/records-v2/SalesTerritoryRecord.d.ts +79 -2
  184. package/dist/records-v2/SalesTerritoryRecord.js +107 -0
  185. package/dist/records-v2/ScheduleSlotRecord.d.ts +42 -1
  186. package/dist/records-v2/ScheduleSlotRecord.js +58 -0
  187. package/dist/records-v2/ServiceAppointmentConfigRecord.d.ts +287 -2
  188. package/dist/records-v2/ServiceAppointmentConfigRecord.js +367 -0
  189. package/dist/records-v2/ServiceAppointmentRecord.d.ts +81 -0
  190. package/dist/records-v2/ServiceAppointmentRecord.js +136 -0
  191. package/dist/records-v2/ServiceRecord.d.ts +40 -0
  192. package/dist/records-v2/ServiceRecord.js +69 -0
  193. package/dist/records-v2/ServiceVisitAuditRecord.d.ts +83 -2
  194. package/dist/records-v2/ServiceVisitAuditRecord.js +124 -0
  195. package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.d.ts +83 -2
  196. package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.js +124 -0
  197. package/dist/records-v2/SmsMessageRecord.d.ts +175 -2
  198. package/dist/records-v2/SmsMessageRecord.js +255 -0
  199. package/dist/records-v2/SweeperMaintenanceAuditRecord.d.ts +83 -2
  200. package/dist/records-v2/SweeperMaintenanceAuditRecord.js +124 -0
  201. package/dist/records-v2/TeamRecord.d.ts +101 -0
  202. package/dist/records-v2/TeamRecord.js +169 -0
  203. package/dist/records-v2/TestEntityForVisualBuilderRecord.d.ts +115 -2
  204. package/dist/records-v2/TestEntityForVisualBuilderRecord.js +156 -0
  205. package/dist/records-v2/TimeSlotRecord.d.ts +21 -0
  206. package/dist/records-v2/TimeSlotRecord.js +37 -0
  207. package/dist/records-v2/TransactionRecord.d.ts +181 -1
  208. package/dist/records-v2/TransactionRecord.js +288 -0
  209. package/dist/records-v2/TwilioUserUpdateRecord.d.ts +42 -1
  210. package/dist/records-v2/TwilioUserUpdateRecord.js +58 -0
  211. package/dist/records-v2/UgAuditOfInstallationRecord.d.ts +83 -2
  212. package/dist/records-v2/UgAuditOfInstallationRecord.js +124 -0
  213. package/dist/records-v2/UgExternalAuditRecord.d.ts +83 -2
  214. package/dist/records-v2/UgExternalAuditRecord.js +124 -0
  215. package/dist/records-v2/UgInProgressAuditRecord.d.ts +83 -2
  216. package/dist/records-v2/UgInProgressAuditRecord.js +124 -0
  217. package/dist/records-v2/UgInstallationAuditRecord.d.ts +83 -2
  218. package/dist/records-v2/UgInstallationAuditRecord.js +124 -0
  219. package/dist/records-v2/UgRetroAuditRecord.d.ts +83 -2
  220. package/dist/records-v2/UgRetroAuditRecord.js +124 -0
  221. package/dist/records-v2/UserRecord.d.ts +400 -0
  222. package/dist/records-v2/UserRecord.js +663 -0
  223. package/dist/records-v2/VisitRecord.d.ts +121 -0
  224. package/dist/records-v2/VisitRecord.js +202 -0
  225. package/dist/records-v2/VoiceConfigurationRecord.d.ts +21 -0
  226. package/dist/records-v2/VoiceConfigurationRecord.js +37 -0
  227. package/dist/records-v2/WayleaveAuditRecord.d.ts +83 -2
  228. package/dist/records-v2/WayleaveAuditRecord.js +124 -0
  229. package/dist/records-v2/WorkOrderRecord.d.ts +1226 -2
  230. package/dist/records-v2/WorkOrderRecord.js +1865 -0
  231. package/dist/records-v2/WorkOrderStatusUpdateRecord.d.ts +75 -2
  232. package/dist/records-v2/WorkOrderStatusUpdateRecord.js +90 -0
  233. package/dist/records-v2/YfFieldServiceVisitRecord.d.ts +83 -2
  234. package/dist/records-v2/YfFieldServiceVisitRecord.js +124 -0
  235. package/dist/records-v2/YfStockAuditRecord.d.ts +103 -2
  236. package/dist/records-v2/YfStockAuditRecord.js +157 -0
  237. package/dist/records-v2/index.d.ts +1 -1
  238. package/dist/records-v2/index.js +5 -5
  239. package/package.json +1 -1
@@ -14,6 +14,8 @@
14
14
  * await record.createActivity({ ... }).execute();
15
15
  * ```
16
16
  *
17
+ * Entity Types: EVENT, NOTIFICATION, TASK
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.isActivityRecord = exports.ActivityRecord = 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 ContactRecord_1 = require("./ContactRecord");
36
+ const NoteRecord_1 = require("./NoteRecord");
37
+ const OneTouchSwitchRecord_1 = require("./OneTouchSwitchRecord");
38
+ const BillingRequestRecord_1 = require("./BillingRequestRecord");
39
+ const OrderItemRecord_1 = require("./OrderItemRecord");
40
+ const FileRecord_1 = require("./FileRecord");
41
+ const CustomerDeviceOntRecord_1 = require("./CustomerDeviceOntRecord");
42
+ const PaymentMethodRefundRecord_1 = require("./PaymentMethodRefundRecord");
43
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
44
+ const OrderRecord_1 = require("./OrderRecord");
32
45
  /**
33
46
  * Builder for action execution with dryRun support
34
47
  *
@@ -140,6 +153,357 @@ class ActivityRecord {
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 EVENT
160
+ *
161
+ * When this returns true, TypeScript automatically narrows the type,
162
+ * giving you access to EVENT-specific properties.
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * if (record.isEvent()) {
167
+ * // TypeScript knows record.properties is EventActivityProperties
168
+ * console.log(record.properties.SomeTypeSpecificField);
169
+ * }
170
+ * ```
171
+ * @remarks General Events
172
+ */
173
+ isEvent() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'EVENT'; }
174
+ /**
175
+ * Type guard: check if this record is of type NOTIFICATION
176
+ *
177
+ * When this returns true, TypeScript automatically narrows the type,
178
+ * giving you access to NOTIFICATION-specific properties.
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * if (record.isNotification()) {
183
+ * // TypeScript knows record.properties is NotificationActivityProperties
184
+ * console.log(record.properties.SomeTypeSpecificField);
185
+ * }
186
+ * ```
187
+ * @remarks track notification activities
188
+ */
189
+ isNotification() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'NOTIFICATION'; }
190
+ /**
191
+ * Type guard: check if this record is of type TASK
192
+ *
193
+ * When this returns true, TypeScript automatically narrows the type,
194
+ * giving you access to TASK-specific properties.
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * if (record.isTask()) {
199
+ * // TypeScript knows record.properties is TaskActivityProperties
200
+ * console.log(record.properties.SomeTypeSpecificField);
201
+ * }
202
+ * ```
203
+ * @remarks task activity tracks if an activity is resolved
204
+ */
205
+ isTask() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'TASK'; }
206
+ /**
207
+ * Access linked Contact records
208
+ * @remarks Available labels: Contact__Activity
209
+ * @throws Error if called on a new (unsaved) record
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * // Get all linked Contact records
214
+ * const items = await record.contacts.list();
215
+ * const first = await record.contacts.first();
216
+ *
217
+ * // Filter by label
218
+ * const specific = await record.contacts.first({ label: 'Contact__Activity' });
219
+ * ```
220
+ */
221
+ get contacts() {
222
+ var _a;
223
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
224
+ throw new Error('Cannot access links on a new (unsaved) record');
225
+ if (!this._contacts) {
226
+ this._contacts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
227
+ sourceEntity: 'SchemaModule:Activity',
228
+ targetEntity: 'CrmModule:Contact',
229
+ targetModuleName: 'CrmModule',
230
+ targetEntityName: 'Contact',
231
+ labels: ['Contact__Activity'],
232
+ }, ContactRecord_1.ContactRecord);
233
+ }
234
+ return this._contacts;
235
+ }
236
+ /**
237
+ * Access linked Note records
238
+ * @remarks Available labels: Activity__Note
239
+ * @throws Error if called on a new (unsaved) record
240
+ *
241
+ * @example
242
+ * ```typescript
243
+ * // Get all linked Note records
244
+ * const items = await record.notes.list();
245
+ * const first = await record.notes.first();
246
+ *
247
+ * // Filter by label
248
+ * const specific = await record.notes.first({ label: 'Activity__Note' });
249
+ * ```
250
+ */
251
+ get notes() {
252
+ var _a;
253
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
254
+ throw new Error('Cannot access links on a new (unsaved) record');
255
+ if (!this._notes) {
256
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
257
+ sourceEntity: 'SchemaModule:Activity',
258
+ targetEntity: 'SupportModule:Note',
259
+ targetModuleName: 'SupportModule',
260
+ targetEntityName: 'Note',
261
+ labels: ['Activity__Note'],
262
+ }, NoteRecord_1.NoteRecord);
263
+ }
264
+ return this._notes;
265
+ }
266
+ /**
267
+ * Access linked OneTouchSwitch records
268
+ * @remarks Available labels: OneTouchSwitch__Activity
269
+ * @throws Error if called on a new (unsaved) record
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * // Get all linked OneTouchSwitch records
274
+ * const items = await record.oneTouchSwitches.list();
275
+ * const first = await record.oneTouchSwitches.first();
276
+ *
277
+ * // Filter by label
278
+ * const specific = await record.oneTouchSwitches.first({ label: 'OneTouchSwitch__Activity' });
279
+ * ```
280
+ */
281
+ get oneTouchSwitches() {
282
+ var _a;
283
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
284
+ throw new Error('Cannot access links on a new (unsaved) record');
285
+ if (!this._oneTouchSwitches) {
286
+ this._oneTouchSwitches = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
287
+ sourceEntity: 'SchemaModule:Activity',
288
+ targetEntity: 'OrderModule:OneTouchSwitch',
289
+ targetModuleName: 'OrderModule',
290
+ targetEntityName: 'OneTouchSwitch',
291
+ labels: ['OneTouchSwitch__Activity'],
292
+ }, OneTouchSwitchRecord_1.OneTouchSwitchRecord);
293
+ }
294
+ return this._oneTouchSwitches;
295
+ }
296
+ /**
297
+ * Access linked BillingRequest records
298
+ * @remarks Available labels: BillingRequest__Activity
299
+ * @throws Error if called on a new (unsaved) record
300
+ *
301
+ * @example
302
+ * ```typescript
303
+ * // Get all linked BillingRequest records
304
+ * const items = await record.billingRequests.list();
305
+ * const first = await record.billingRequests.first();
306
+ *
307
+ * // Filter by label
308
+ * const specific = await record.billingRequests.first({ label: 'BillingRequest__Activity' });
309
+ * ```
310
+ */
311
+ get billingRequests() {
312
+ var _a;
313
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
314
+ throw new Error('Cannot access links on a new (unsaved) record');
315
+ if (!this._billingRequests) {
316
+ this._billingRequests = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
317
+ sourceEntity: 'SchemaModule:Activity',
318
+ targetEntity: 'BillingModule:BillingRequest',
319
+ targetModuleName: 'BillingModule',
320
+ targetEntityName: 'BillingRequest',
321
+ labels: ['BillingRequest__Activity'],
322
+ }, BillingRequestRecord_1.BillingRequestRecord);
323
+ }
324
+ return this._billingRequests;
325
+ }
326
+ /**
327
+ * Access linked OrderItem records
328
+ * @remarks Available labels: OrderItem__Activity
329
+ * @throws Error if called on a new (unsaved) record
330
+ *
331
+ * @example
332
+ * ```typescript
333
+ * // Get all linked OrderItem records
334
+ * const items = await record.orderItems.list();
335
+ * const first = await record.orderItems.first();
336
+ *
337
+ * // Filter by label
338
+ * const specific = await record.orderItems.first({ label: 'OrderItem__Activity' });
339
+ * ```
340
+ */
341
+ get orderItems() {
342
+ var _a;
343
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
344
+ throw new Error('Cannot access links on a new (unsaved) record');
345
+ if (!this._orderItems) {
346
+ this._orderItems = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
347
+ sourceEntity: 'SchemaModule:Activity',
348
+ targetEntity: 'OrderModule:OrderItem',
349
+ targetModuleName: 'OrderModule',
350
+ targetEntityName: 'OrderItem',
351
+ labels: ['OrderItem__Activity'],
352
+ }, OrderItemRecord_1.OrderItemRecord);
353
+ }
354
+ return this._orderItems;
355
+ }
356
+ /**
357
+ * Access linked File records
358
+ * @remarks Available labels: Activity__File
359
+ * @throws Error if called on a new (unsaved) record
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * // Get all linked File records
364
+ * const items = await record.files.list();
365
+ * const first = await record.files.first();
366
+ *
367
+ * // Filter by label
368
+ * const specific = await record.files.first({ label: 'Activity__File' });
369
+ * ```
370
+ */
371
+ get files() {
372
+ var _a;
373
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
374
+ throw new Error('Cannot access links on a new (unsaved) record');
375
+ if (!this._files) {
376
+ this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
377
+ sourceEntity: 'SchemaModule:Activity',
378
+ targetEntity: 'SchemaModule:File',
379
+ targetModuleName: 'SchemaModule',
380
+ targetEntityName: 'File',
381
+ labels: ['Activity__File'],
382
+ }, FileRecord_1.FileRecord);
383
+ }
384
+ return this._files;
385
+ }
386
+ /**
387
+ * Access linked CustomerDeviceOnt records
388
+ * @remarks Available labels: CustomerDeviceOnt__Activity
389
+ * @throws Error if called on a new (unsaved) record
390
+ *
391
+ * @example
392
+ * ```typescript
393
+ * // Get all linked CustomerDeviceOnt records
394
+ * const items = await record.customerDeviceOnts.list();
395
+ * const first = await record.customerDeviceOnts.first();
396
+ *
397
+ * // Filter by label
398
+ * const specific = await record.customerDeviceOnts.first({ label: 'CustomerDeviceOnt__Activity' });
399
+ * ```
400
+ */
401
+ get customerDeviceOnts() {
402
+ var _a;
403
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
404
+ throw new Error('Cannot access links on a new (unsaved) record');
405
+ if (!this._customerDeviceOnts) {
406
+ this._customerDeviceOnts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
407
+ sourceEntity: 'SchemaModule:Activity',
408
+ targetEntity: 'ServiceModule:CustomerDeviceOnt',
409
+ targetModuleName: 'ServiceModule',
410
+ targetEntityName: 'CustomerDeviceOnt',
411
+ labels: ['CustomerDeviceOnt__Activity'],
412
+ }, CustomerDeviceOntRecord_1.CustomerDeviceOntRecord);
413
+ }
414
+ return this._customerDeviceOnts;
415
+ }
416
+ /**
417
+ * Access linked PaymentMethodRefund records
418
+ * @remarks Available labels: PaymentMethodRefund__Activity
419
+ * @throws Error if called on a new (unsaved) record
420
+ *
421
+ * @example
422
+ * ```typescript
423
+ * // Get all linked PaymentMethodRefund records
424
+ * const items = await record.paymentMethodRefunds.list();
425
+ * const first = await record.paymentMethodRefunds.first();
426
+ *
427
+ * // Filter by label
428
+ * const specific = await record.paymentMethodRefunds.first({ label: 'PaymentMethodRefund__Activity' });
429
+ * ```
430
+ */
431
+ get paymentMethodRefunds() {
432
+ var _a;
433
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
434
+ throw new Error('Cannot access links on a new (unsaved) record');
435
+ if (!this._paymentMethodRefunds) {
436
+ this._paymentMethodRefunds = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
437
+ sourceEntity: 'SchemaModule:Activity',
438
+ targetEntity: 'BillingModule:PaymentMethodRefund',
439
+ targetModuleName: 'BillingModule',
440
+ targetEntityName: 'PaymentMethodRefund',
441
+ labels: ['PaymentMethodRefund__Activity'],
442
+ }, PaymentMethodRefundRecord_1.PaymentMethodRefundRecord);
443
+ }
444
+ return this._paymentMethodRefunds;
445
+ }
446
+ /**
447
+ * Access linked WorkOrder records
448
+ * @remarks Available labels: WorkOrder__Activity
449
+ * @throws Error if called on a new (unsaved) record
450
+ *
451
+ * @example
452
+ * ```typescript
453
+ * // Get all linked WorkOrder records
454
+ * const items = await record.workOrders.list();
455
+ * const first = await record.workOrders.first();
456
+ *
457
+ * // Filter by label
458
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__Activity' });
459
+ * ```
460
+ */
461
+ get workOrders() {
462
+ var _a;
463
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
464
+ throw new Error('Cannot access links on a new (unsaved) record');
465
+ if (!this._workOrders) {
466
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
467
+ sourceEntity: 'SchemaModule:Activity',
468
+ targetEntity: 'FieldServiceModule:WorkOrder',
469
+ targetModuleName: 'FieldServiceModule',
470
+ targetEntityName: 'WorkOrder',
471
+ labels: ['WorkOrder__Activity'],
472
+ }, WorkOrderRecord_1.WorkOrderRecord);
473
+ }
474
+ return this._workOrders;
475
+ }
476
+ /**
477
+ * Access linked Order records
478
+ * @remarks Available labels: Order__Activity
479
+ * @throws Error if called on a new (unsaved) record
480
+ *
481
+ * @example
482
+ * ```typescript
483
+ * // Get all linked Order records
484
+ * const items = await record.orders.list();
485
+ * const first = await record.orders.first();
486
+ *
487
+ * // Filter by label
488
+ * const specific = await record.orders.first({ label: 'Order__Activity' });
489
+ * ```
490
+ */
491
+ get orders() {
492
+ var _a;
493
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
494
+ throw new Error('Cannot access links on a new (unsaved) record');
495
+ if (!this._orders) {
496
+ this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
497
+ sourceEntity: 'SchemaModule:Activity',
498
+ targetEntity: 'OrderModule:Order',
499
+ targetModuleName: 'OrderModule',
500
+ targetEntityName: 'Order',
501
+ labels: ['Order__Activity'],
502
+ }, OrderRecord_1.OrderRecord);
503
+ }
504
+ return this._orders;
505
+ }
506
+ // ============================================
143
507
  // LINK MANAGEMENT
144
508
  // ============================================
145
509
  /**
@@ -247,6 +611,29 @@ class ActivityRecord {
247
611
  }
248
612
  }
249
613
  exports.ActivityRecord = ActivityRecord;
614
+ // ============================================
615
+ // TYPED LINK ACCESSORS
616
+ // ============================================
617
+ /** Valid labels for Contact associations */
618
+ ActivityRecord.contactsLabels = ['Contact__Activity'];
619
+ /** Valid labels for Note associations */
620
+ ActivityRecord.notesLabels = ['Activity__Note'];
621
+ /** Valid labels for OneTouchSwitch associations */
622
+ ActivityRecord.oneTouchSwitchesLabels = ['OneTouchSwitch__Activity'];
623
+ /** Valid labels for BillingRequest associations */
624
+ ActivityRecord.billingRequestsLabels = ['BillingRequest__Activity'];
625
+ /** Valid labels for OrderItem associations */
626
+ ActivityRecord.orderItemsLabels = ['OrderItem__Activity'];
627
+ /** Valid labels for File associations */
628
+ ActivityRecord.filesLabels = ['Activity__File'];
629
+ /** Valid labels for CustomerDeviceOnt associations */
630
+ ActivityRecord.customerDeviceOntsLabels = ['CustomerDeviceOnt__Activity'];
631
+ /** Valid labels for PaymentMethodRefund associations */
632
+ ActivityRecord.paymentMethodRefundsLabels = ['PaymentMethodRefund__Activity'];
633
+ /** Valid labels for WorkOrder associations */
634
+ ActivityRecord.workOrdersLabels = ['WorkOrder__Activity'];
635
+ /** Valid labels for Order associations */
636
+ ActivityRecord.ordersLabels = ['Order__Activity'];
250
637
  /** Type guard to check if an object is a ActivityRecord */
251
638
  function isActivityRecord(obj) {
252
639
  return obj instanceof ActivityRecord;