@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.
Files changed (234) hide show
  1. package/dist/actions-v2/EditCaseFormDto.d.ts +1 -1
  2. package/dist/entities-v2/BillingAdjustment.d.ts +76 -76
  3. package/dist/entities-v2/BillingAdjustment.js +35 -35
  4. package/dist/entities-v2/Case.d.ts +19 -4
  5. package/dist/entities-v2/Case.js +16 -2
  6. package/dist/records-v2/AccountCreditRecord.d.ts +82 -1
  7. package/dist/records-v2/AccountCreditRecord.js +124 -0
  8. package/dist/records-v2/AccountRecord.d.ts +306 -2
  9. package/dist/records-v2/AccountRecord.js +451 -0
  10. package/dist/records-v2/ActivityLogRecord.d.ts +122 -1
  11. package/dist/records-v2/ActivityLogRecord.js +190 -0
  12. package/dist/records-v2/ActivityRecord.d.ts +255 -2
  13. package/dist/records-v2/ActivityRecord.js +387 -0
  14. package/dist/records-v2/AddressRecord.d.ts +321 -0
  15. package/dist/records-v2/AddressRecord.js +532 -0
  16. package/dist/records-v2/AffiliateCodeRecord.d.ts +102 -1
  17. package/dist/records-v2/AffiliateCodeRecord.js +157 -0
  18. package/dist/records-v2/AppointmentRecord.d.ts +141 -0
  19. package/dist/records-v2/AppointmentRecord.js +235 -0
  20. package/dist/records-v2/BillingAdjustmentRecord.d.ts +81 -0
  21. package/dist/records-v2/BillingAdjustmentRecord.js +136 -0
  22. package/dist/records-v2/BillingRequestRecord.d.ts +178 -2
  23. package/dist/records-v2/BillingRequestRecord.js +271 -0
  24. package/dist/records-v2/BlockageA55Record.d.ts +103 -2
  25. package/dist/records-v2/BlockageA55Record.js +157 -0
  26. package/dist/records-v2/BngProvisionRecord.d.ts +42 -1
  27. package/dist/records-v2/BngProvisionRecord.js +58 -0
  28. package/dist/records-v2/BrskEntityMigrationErrorRecord.d.ts +21 -1
  29. package/dist/records-v2/BrskEntityMigrationErrorRecord.js +21 -0
  30. package/dist/records-v2/CallEventRecord.d.ts +82 -1
  31. package/dist/records-v2/CallEventRecord.js +124 -0
  32. package/dist/records-v2/CallLegRecord.d.ts +82 -1
  33. package/dist/records-v2/CallLegRecord.js +124 -0
  34. package/dist/records-v2/CallRecord.d.ts +202 -1
  35. package/dist/records-v2/CallRecord.js +322 -0
  36. package/dist/records-v2/CallTransferRecord.d.ts +102 -1
  37. package/dist/records-v2/CallTransferRecord.js +157 -0
  38. package/dist/records-v2/CampaignRecord.d.ts +83 -2
  39. package/dist/records-v2/CampaignRecord.js +124 -0
  40. package/dist/records-v2/CaseRecord.d.ts +398 -2
  41. package/dist/records-v2/CaseRecord.js +634 -0
  42. package/dist/records-v2/ChangeReasonRecord.d.ts +171 -2
  43. package/dist/records-v2/ChangeReasonRecord.js +238 -0
  44. package/dist/records-v2/ChurnRequestRecord.d.ts +62 -1
  45. package/dist/records-v2/ChurnRequestRecord.js +91 -0
  46. package/dist/records-v2/ContactIdentityRecord.d.ts +80 -0
  47. package/dist/records-v2/ContactIdentityRecord.js +135 -0
  48. package/dist/records-v2/ContactRecord.d.ts +580 -0
  49. package/dist/records-v2/ContactRecord.js +960 -0
  50. package/dist/records-v2/ContractBuyOutRecord.d.ts +162 -1
  51. package/dist/records-v2/ContractBuyOutRecord.js +256 -0
  52. package/dist/records-v2/ConversationRecord.d.ts +82 -1
  53. package/dist/records-v2/ConversationRecord.js +124 -0
  54. package/dist/records-v2/CreditNoteRecord.d.ts +101 -0
  55. package/dist/records-v2/CreditNoteRecord.js +169 -0
  56. package/dist/records-v2/CrmDatasetRecord.d.ts +191 -2
  57. package/dist/records-v2/CrmDatasetRecord.js +271 -0
  58. package/dist/records-v2/CustomerDeviceAtaRecord.d.ts +21 -0
  59. package/dist/records-v2/CustomerDeviceAtaRecord.js +37 -0
  60. package/dist/records-v2/CustomerDeviceConfigurationRecord.d.ts +62 -1
  61. package/dist/records-v2/CustomerDeviceConfigurationRecord.js +91 -0
  62. package/dist/records-v2/CustomerDeviceOntRecord.d.ts +181 -0
  63. package/dist/records-v2/CustomerDeviceOntRecord.js +301 -0
  64. package/dist/records-v2/CustomerDeviceRouterRecord.d.ts +141 -0
  65. package/dist/records-v2/CustomerDeviceRouterRecord.js +235 -0
  66. package/dist/records-v2/CustomerPhonePortingRecord.d.ts +21 -0
  67. package/dist/records-v2/CustomerPhonePortingRecord.js +37 -0
  68. package/dist/records-v2/DiscountRecord.d.ts +121 -0
  69. package/dist/records-v2/DiscountRecord.js +202 -0
  70. package/dist/records-v2/EmailRecord.d.ts +230 -2
  71. package/dist/records-v2/EmailRecord.js +336 -0
  72. package/dist/records-v2/EmailSenderRecord.d.ts +42 -1
  73. package/dist/records-v2/EmailSenderRecord.js +58 -0
  74. package/dist/records-v2/EmailTemplateRecord.d.ts +21 -1
  75. package/dist/records-v2/EmailTemplateRecord.js +21 -0
  76. package/dist/records-v2/FieldServiceDispatchedProductRecord.d.ts +135 -2
  77. package/dist/records-v2/FieldServiceDispatchedProductRecord.js +189 -0
  78. package/dist/records-v2/FieldServiceProductRecord.d.ts +115 -2
  79. package/dist/records-v2/FieldServiceProductRecord.js +156 -0
  80. package/dist/records-v2/FileRecord.d.ts +1211 -2
  81. package/dist/records-v2/FileRecord.js +1902 -0
  82. package/dist/records-v2/ImpersonationTrackerRecord.d.ts +62 -1
  83. package/dist/records-v2/ImpersonationTrackerRecord.js +91 -0
  84. package/dist/records-v2/InternalInstallAuditRecord.d.ts +83 -2
  85. package/dist/records-v2/InternalInstallAuditRecord.js +124 -0
  86. package/dist/records-v2/InvoiceItemRecord.d.ts +40 -0
  87. package/dist/records-v2/InvoiceItemRecord.js +69 -0
  88. package/dist/records-v2/InvoiceRecord.d.ts +399 -2
  89. package/dist/records-v2/InvoiceRecord.js +635 -0
  90. package/dist/records-v2/KnowledgeArticleRecord.d.ts +98 -2
  91. package/dist/records-v2/KnowledgeArticleRecord.js +139 -0
  92. package/dist/records-v2/LeadRecord.d.ts +261 -0
  93. package/dist/records-v2/LeadRecord.js +433 -0
  94. package/dist/records-v2/MessageRecord.d.ts +131 -2
  95. package/dist/records-v2/MessageRecord.js +172 -0
  96. package/dist/records-v2/NetworkDeviceRecord.d.ts +43 -2
  97. package/dist/records-v2/NetworkDeviceRecord.js +58 -0
  98. package/dist/records-v2/NoteRecord.d.ts +1121 -1
  99. package/dist/records-v2/NoteRecord.js +1839 -0
  100. package/dist/records-v2/OfferRecord.d.ts +154 -2
  101. package/dist/records-v2/OfferRecord.js +221 -0
  102. package/dist/records-v2/OhAuditOfInstallationRecord.d.ts +83 -2
  103. package/dist/records-v2/OhAuditOfInstallationRecord.js +124 -0
  104. package/dist/records-v2/OhExternalAuditRecord.d.ts +83 -2
  105. package/dist/records-v2/OhExternalAuditRecord.js +124 -0
  106. package/dist/records-v2/OhInProgressAuditRecord.d.ts +83 -2
  107. package/dist/records-v2/OhInProgressAuditRecord.js +124 -0
  108. package/dist/records-v2/OhInstallationAuditRecord.d.ts +83 -2
  109. package/dist/records-v2/OhInstallationAuditRecord.js +124 -0
  110. package/dist/records-v2/OhRetroAuditRecord.d.ts +83 -2
  111. package/dist/records-v2/OhRetroAuditRecord.js +124 -0
  112. package/dist/records-v2/OneTouchSwitchRecord.d.ts +255 -2
  113. package/dist/records-v2/OneTouchSwitchRecord.js +387 -0
  114. package/dist/records-v2/OntReplacementApprovalRecord.d.ts +62 -1
  115. package/dist/records-v2/OntReplacementApprovalRecord.js +91 -0
  116. package/dist/records-v2/OrderCheckRecord.d.ts +21 -0
  117. package/dist/records-v2/OrderCheckRecord.js +37 -0
  118. package/dist/records-v2/OrderItemRecord.d.ts +300 -0
  119. package/dist/records-v2/OrderItemRecord.js +498 -0
  120. package/dist/records-v2/OrderKciRecord.d.ts +42 -1
  121. package/dist/records-v2/OrderKciRecord.js +58 -0
  122. package/dist/records-v2/OrderRecord.d.ts +640 -0
  123. package/dist/records-v2/OrderRecord.js +1059 -0
  124. package/dist/records-v2/OutageRecord.d.ts +42 -1
  125. package/dist/records-v2/OutageRecord.js +58 -0
  126. package/dist/records-v2/OverlayRealA55Record.d.ts +83 -2
  127. package/dist/records-v2/OverlayRealA55Record.js +124 -0
  128. package/dist/records-v2/PICRequestRecord.d.ts +62 -1
  129. package/dist/records-v2/PICRequestRecord.js +91 -0
  130. package/dist/records-v2/PaymentMethodRecord.d.ts +161 -0
  131. package/dist/records-v2/PaymentMethodRecord.js +268 -0
  132. package/dist/records-v2/PaymentMethodRefundRecord.d.ts +201 -0
  133. package/dist/records-v2/PaymentMethodRefundRecord.js +334 -0
  134. package/dist/records-v2/PaymentRecord.d.ts +82 -1
  135. package/dist/records-v2/PaymentRecord.js +124 -0
  136. package/dist/records-v2/PermissionToFailRecord.d.ts +61 -0
  137. package/dist/records-v2/PermissionToFailRecord.js +103 -0
  138. package/dist/records-v2/PgAccountValidationRecord.d.ts +21 -1
  139. package/dist/records-v2/PgAccountValidationRecord.js +21 -0
  140. package/dist/records-v2/PgContactRecord.d.ts +82 -1
  141. package/dist/records-v2/PgContactRecord.js +124 -0
  142. package/dist/records-v2/PgDirectDebitFileRecord.d.ts +95 -2
  143. package/dist/records-v2/PgDirectDebitFileRecord.js +123 -0
  144. package/dist/records-v2/PgDisputeRecord.d.ts +62 -1
  145. package/dist/records-v2/PgDisputeRecord.js +91 -0
  146. package/dist/records-v2/PgFileAllocationRecord.d.ts +115 -2
  147. package/dist/records-v2/PgFileAllocationRecord.js +156 -0
  148. package/dist/records-v2/PgLogRecord.d.ts +21 -1
  149. package/dist/records-v2/PgLogRecord.js +21 -0
  150. package/dist/records-v2/PgPaymentMethodRecord.d.ts +122 -1
  151. package/dist/records-v2/PgPaymentMethodRecord.js +190 -0
  152. package/dist/records-v2/PgSortCodeSubstitutionRecord.d.ts +21 -1
  153. package/dist/records-v2/PgSortCodeSubstitutionRecord.js +21 -0
  154. package/dist/records-v2/PgTransactionRecord.d.ts +175 -2
  155. package/dist/records-v2/PgTransactionRecord.js +255 -0
  156. package/dist/records-v2/PgVocalinkRecord.d.ts +21 -1
  157. package/dist/records-v2/PgVocalinkRecord.js +21 -0
  158. package/dist/records-v2/PgWebhookAttemptRecord.d.ts +42 -1
  159. package/dist/records-v2/PgWebhookAttemptRecord.js +58 -0
  160. package/dist/records-v2/PgWebhookRecord.d.ts +122 -1
  161. package/dist/records-v2/PgWebhookRecord.js +190 -0
  162. package/dist/records-v2/PhoneNumberRecord.d.ts +41 -0
  163. package/dist/records-v2/PhoneNumberRecord.js +70 -0
  164. package/dist/records-v2/PriceBookRecord.d.ts +21 -0
  165. package/dist/records-v2/PriceBookRecord.js +37 -0
  166. package/dist/records-v2/ProductRecord.d.ts +258 -2
  167. package/dist/records-v2/ProductRecord.js +351 -0
  168. package/dist/records-v2/PushNotificationRecord.d.ts +162 -1
  169. package/dist/records-v2/PushNotificationRecord.js +256 -0
  170. package/dist/records-v2/ReferralRecord.d.ts +143 -2
  171. package/dist/records-v2/ReferralRecord.js +223 -0
  172. package/dist/records-v2/RemediationOutcomeFormRecord.d.ts +83 -2
  173. package/dist/records-v2/RemediationOutcomeFormRecord.js +124 -0
  174. package/dist/records-v2/RemediationRequiredReasonRecord.d.ts +103 -2
  175. package/dist/records-v2/RemediationRequiredReasonRecord.js +157 -0
  176. package/dist/records-v2/ReturnsRecord.d.ts +62 -1
  177. package/dist/records-v2/ReturnsRecord.js +91 -0
  178. package/dist/records-v2/RewardRecord.d.ts +123 -2
  179. package/dist/records-v2/RewardRecord.js +190 -0
  180. package/dist/records-v2/SalesTerritoryRecord.d.ts +79 -2
  181. package/dist/records-v2/SalesTerritoryRecord.js +107 -0
  182. package/dist/records-v2/ScheduleSlotRecord.d.ts +42 -1
  183. package/dist/records-v2/ScheduleSlotRecord.js +58 -0
  184. package/dist/records-v2/ServiceAppointmentConfigRecord.d.ts +287 -2
  185. package/dist/records-v2/ServiceAppointmentConfigRecord.js +367 -0
  186. package/dist/records-v2/ServiceAppointmentRecord.d.ts +81 -0
  187. package/dist/records-v2/ServiceAppointmentRecord.js +136 -0
  188. package/dist/records-v2/ServiceRecord.d.ts +40 -0
  189. package/dist/records-v2/ServiceRecord.js +69 -0
  190. package/dist/records-v2/ServiceVisitAuditRecord.d.ts +83 -2
  191. package/dist/records-v2/ServiceVisitAuditRecord.js +124 -0
  192. package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.d.ts +83 -2
  193. package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.js +124 -0
  194. package/dist/records-v2/SmsMessageRecord.d.ts +175 -2
  195. package/dist/records-v2/SmsMessageRecord.js +255 -0
  196. package/dist/records-v2/SweeperMaintenanceAuditRecord.d.ts +83 -2
  197. package/dist/records-v2/SweeperMaintenanceAuditRecord.js +124 -0
  198. package/dist/records-v2/TeamRecord.d.ts +101 -0
  199. package/dist/records-v2/TeamRecord.js +169 -0
  200. package/dist/records-v2/TestEntityForVisualBuilderRecord.d.ts +115 -2
  201. package/dist/records-v2/TestEntityForVisualBuilderRecord.js +156 -0
  202. package/dist/records-v2/TimeSlotRecord.d.ts +21 -0
  203. package/dist/records-v2/TimeSlotRecord.js +37 -0
  204. package/dist/records-v2/TransactionRecord.d.ts +201 -1
  205. package/dist/records-v2/TransactionRecord.js +321 -0
  206. package/dist/records-v2/TwilioUserUpdateRecord.d.ts +42 -1
  207. package/dist/records-v2/TwilioUserUpdateRecord.js +58 -0
  208. package/dist/records-v2/UgAuditOfInstallationRecord.d.ts +83 -2
  209. package/dist/records-v2/UgAuditOfInstallationRecord.js +124 -0
  210. package/dist/records-v2/UgExternalAuditRecord.d.ts +83 -2
  211. package/dist/records-v2/UgExternalAuditRecord.js +124 -0
  212. package/dist/records-v2/UgInProgressAuditRecord.d.ts +83 -2
  213. package/dist/records-v2/UgInProgressAuditRecord.js +124 -0
  214. package/dist/records-v2/UgInstallationAuditRecord.d.ts +83 -2
  215. package/dist/records-v2/UgInstallationAuditRecord.js +124 -0
  216. package/dist/records-v2/UgRetroAuditRecord.d.ts +83 -2
  217. package/dist/records-v2/UgRetroAuditRecord.js +124 -0
  218. package/dist/records-v2/UserRecord.d.ts +380 -0
  219. package/dist/records-v2/UserRecord.js +630 -0
  220. package/dist/records-v2/VisitRecord.d.ts +121 -0
  221. package/dist/records-v2/VisitRecord.js +202 -0
  222. package/dist/records-v2/VoiceConfigurationRecord.d.ts +21 -0
  223. package/dist/records-v2/VoiceConfigurationRecord.js +37 -0
  224. package/dist/records-v2/WayleaveAuditRecord.d.ts +83 -2
  225. package/dist/records-v2/WayleaveAuditRecord.js +124 -0
  226. package/dist/records-v2/WorkOrderRecord.d.ts +1226 -2
  227. package/dist/records-v2/WorkOrderRecord.js +1865 -0
  228. package/dist/records-v2/WorkOrderStatusUpdateRecord.d.ts +75 -2
  229. package/dist/records-v2/WorkOrderStatusUpdateRecord.js +90 -0
  230. package/dist/records-v2/YfFieldServiceVisitRecord.d.ts +83 -2
  231. package/dist/records-v2/YfFieldServiceVisitRecord.js +124 -0
  232. package/dist/records-v2/YfStockAuditRecord.d.ts +103 -2
  233. package/dist/records-v2/YfStockAuditRecord.js +157 -0
  234. package/package.json +1 -1
@@ -14,6 +14,8 @@
14
14
  * await record.createActivityLog({ ... }).execute();
15
15
  * ```
16
16
  *
17
+ * Entity Types: DEFAULT
18
+ *
17
19
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
18
20
  */
19
21
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -29,6 +31,12 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
31
  exports.isActivityLogRecord = exports.ActivityLogRecord = 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 OrderRecord_1 = require("./OrderRecord");
36
+ const CaseRecord_1 = require("./CaseRecord");
37
+ const OneTouchSwitchRecord_1 = require("./OneTouchSwitchRecord");
38
+ const CallRecord_1 = require("./CallRecord");
39
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
32
40
  /**
33
41
  * Builder for action execution with dryRun support
34
42
  *
@@ -140,6 +148,175 @@ class ActivityLogRecord {
140
148
  /** Access the underlying OdinRecord (null for new records) */
141
149
  get record() { return this._record; }
142
150
  // ============================================
151
+ // TYPE GUARDS (with TypeScript type predicates)
152
+ // ============================================
153
+ /**
154
+ * Type guard: check if this record is of type DEFAULT
155
+ *
156
+ * When this returns true, TypeScript automatically narrows the type,
157
+ * giving you access to DEFAULT-specific properties.
158
+ *
159
+ * @example
160
+ * ```typescript
161
+ * if (record.isDefault()) {
162
+ * // TypeScript knows record.properties is ActivityLogProperties
163
+ * console.log(record.properties.SomeTypeSpecificField);
164
+ * }
165
+ * ```
166
+ * @remarks This is the default record type
167
+ */
168
+ isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
169
+ /**
170
+ * Access linked Order records
171
+ * @remarks Available labels: Order__ActivityLog
172
+ * @throws Error if called on a new (unsaved) record
173
+ *
174
+ * @example
175
+ * ```typescript
176
+ * // Get all linked Order records
177
+ * const items = await record.orders.list();
178
+ * const first = await record.orders.first();
179
+ *
180
+ * // Filter by label
181
+ * const specific = await record.orders.first({ label: 'Order__ActivityLog' });
182
+ * ```
183
+ */
184
+ get orders() {
185
+ var _a;
186
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
187
+ throw new Error('Cannot access links on a new (unsaved) record');
188
+ if (!this._orders) {
189
+ this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
190
+ sourceEntity: 'AuditModule:ActivityLog',
191
+ targetEntity: 'OrderModule:Order',
192
+ targetModuleName: 'OrderModule',
193
+ targetEntityName: 'Order',
194
+ labels: ['Order__ActivityLog'],
195
+ }, OrderRecord_1.OrderRecord);
196
+ }
197
+ return this._orders;
198
+ }
199
+ /**
200
+ * Access linked Case records
201
+ * @remarks Available labels: Case__ActivityLog
202
+ * @throws Error if called on a new (unsaved) record
203
+ *
204
+ * @example
205
+ * ```typescript
206
+ * // Get all linked Case records
207
+ * const items = await record.cases.list();
208
+ * const first = await record.cases.first();
209
+ *
210
+ * // Filter by label
211
+ * const specific = await record.cases.first({ label: 'Case__ActivityLog' });
212
+ * ```
213
+ */
214
+ get cases() {
215
+ var _a;
216
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
217
+ throw new Error('Cannot access links on a new (unsaved) record');
218
+ if (!this._cases) {
219
+ this._cases = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
220
+ sourceEntity: 'AuditModule:ActivityLog',
221
+ targetEntity: 'SupportModule:Case',
222
+ targetModuleName: 'SupportModule',
223
+ targetEntityName: 'Case',
224
+ labels: ['Case__ActivityLog'],
225
+ }, CaseRecord_1.CaseRecord);
226
+ }
227
+ return this._cases;
228
+ }
229
+ /**
230
+ * Access linked OneTouchSwitch records
231
+ * @remarks Available labels: OneTouchSwitch_ActivityLog
232
+ * @throws Error if called on a new (unsaved) record
233
+ *
234
+ * @example
235
+ * ```typescript
236
+ * // Get all linked OneTouchSwitch records
237
+ * const items = await record.oneTouchSwitches.list();
238
+ * const first = await record.oneTouchSwitches.first();
239
+ *
240
+ * // Filter by label
241
+ * const specific = await record.oneTouchSwitches.first({ label: 'OneTouchSwitch_ActivityLog' });
242
+ * ```
243
+ */
244
+ get oneTouchSwitches() {
245
+ var _a;
246
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
247
+ throw new Error('Cannot access links on a new (unsaved) record');
248
+ if (!this._oneTouchSwitches) {
249
+ this._oneTouchSwitches = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
250
+ sourceEntity: 'AuditModule:ActivityLog',
251
+ targetEntity: 'OrderModule:OneTouchSwitch',
252
+ targetModuleName: 'OrderModule',
253
+ targetEntityName: 'OneTouchSwitch',
254
+ labels: ['OneTouchSwitch_ActivityLog'],
255
+ }, OneTouchSwitchRecord_1.OneTouchSwitchRecord);
256
+ }
257
+ return this._oneTouchSwitches;
258
+ }
259
+ /**
260
+ * Access linked Call records
261
+ * @remarks Available labels: CallActivity
262
+ * @throws Error if called on a new (unsaved) record
263
+ *
264
+ * @example
265
+ * ```typescript
266
+ * // Get all linked Call records
267
+ * const items = await record.calls.list();
268
+ * const first = await record.calls.first();
269
+ *
270
+ * // Filter by label
271
+ * const specific = await record.calls.first({ label: 'CallActivity' });
272
+ * ```
273
+ */
274
+ get calls() {
275
+ var _a;
276
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
277
+ throw new Error('Cannot access links on a new (unsaved) record');
278
+ if (!this._calls) {
279
+ this._calls = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
280
+ sourceEntity: 'AuditModule:ActivityLog',
281
+ targetEntity: 'NotificationModule:Call',
282
+ targetModuleName: 'NotificationModule',
283
+ targetEntityName: 'Call',
284
+ labels: ['CallActivity'],
285
+ }, CallRecord_1.CallRecord);
286
+ }
287
+ return this._calls;
288
+ }
289
+ /**
290
+ * Access linked WorkOrder records
291
+ * @remarks Available labels: WorkOrder_ActivityLog
292
+ * @throws Error if called on a new (unsaved) record
293
+ *
294
+ * @example
295
+ * ```typescript
296
+ * // Get all linked WorkOrder records
297
+ * const items = await record.workOrders.list();
298
+ * const first = await record.workOrders.first();
299
+ *
300
+ * // Filter by label
301
+ * const specific = await record.workOrders.first({ label: 'WorkOrder_ActivityLog' });
302
+ * ```
303
+ */
304
+ get workOrders() {
305
+ var _a;
306
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
307
+ throw new Error('Cannot access links on a new (unsaved) record');
308
+ if (!this._workOrders) {
309
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
310
+ sourceEntity: 'AuditModule:ActivityLog',
311
+ targetEntity: 'FieldServiceModule:WorkOrder',
312
+ targetModuleName: 'FieldServiceModule',
313
+ targetEntityName: 'WorkOrder',
314
+ labels: ['WorkOrder_ActivityLog'],
315
+ }, WorkOrderRecord_1.WorkOrderRecord);
316
+ }
317
+ return this._workOrders;
318
+ }
319
+ // ============================================
143
320
  // LINK MANAGEMENT
144
321
  // ============================================
145
322
  /**
@@ -215,6 +392,19 @@ class ActivityLogRecord {
215
392
  }
216
393
  }
217
394
  exports.ActivityLogRecord = ActivityLogRecord;
395
+ // ============================================
396
+ // TYPED LINK ACCESSORS
397
+ // ============================================
398
+ /** Valid labels for Order associations */
399
+ ActivityLogRecord.ordersLabels = ['Order__ActivityLog'];
400
+ /** Valid labels for Case associations */
401
+ ActivityLogRecord.casesLabels = ['Case__ActivityLog'];
402
+ /** Valid labels for OneTouchSwitch associations */
403
+ ActivityLogRecord.oneTouchSwitchesLabels = ['OneTouchSwitch_ActivityLog'];
404
+ /** Valid labels for Call associations */
405
+ ActivityLogRecord.callsLabels = ['CallActivity'];
406
+ /** Valid labels for WorkOrder associations */
407
+ ActivityLogRecord.workOrdersLabels = ['WorkOrder_ActivityLog'];
218
408
  /** Type guard to check if an object is a ActivityLogRecord */
219
409
  function isActivityLogRecord(obj) {
220
410
  return obj instanceof ActivityLogRecord;
@@ -13,15 +13,30 @@
13
13
  * await record.createActivity({ ... }).execute();
14
14
  * ```
15
15
  *
16
+ * Entity Types: EVENT, NOTIFICATION, TASK
17
+ *
16
18
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
17
19
  */
18
20
  import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
19
21
  import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
20
22
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
21
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
22
- import { ActivityProperties } from '../entities-v2/Activity';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
+ import { ActivityProperties, EventActivityProperties, NotificationActivityProperties, TaskActivityProperties } from '../entities-v2/Activity';
23
26
  import { CreateFinalNoticeActivityProperties } from '../actions-v2/CreateFinalNoticeActivityDto';
24
27
  import { UpdateActivityDateProperties } from '../actions-v2/UpdateActivityDateDto';
28
+ import { ContactRecord } from './ContactRecord';
29
+ import { NoteRecord } from './NoteRecord';
30
+ import { OneTouchSwitchRecord } from './OneTouchSwitchRecord';
31
+ import { BillingRequestRecord } from './BillingRequestRecord';
32
+ import { OrderItemRecord } from './OrderItemRecord';
33
+ import { FileRecord } from './FileRecord';
34
+ import { CustomerDeviceOntRecord } from './CustomerDeviceOntRecord';
35
+ import { PaymentMethodRefundRecord } from './PaymentMethodRefundRecord';
36
+ import { WorkOrderRecord } from './WorkOrderRecord';
37
+ import { OrderRecord } from './OrderRecord';
38
+ /** Valid entity types for Activity */
39
+ export declare type ActivityType = 'EVENT' | 'NOTIFICATION' | 'TASK';
25
40
  /**
26
41
  * Builder for action execution with dryRun support
27
42
  *
@@ -85,6 +100,16 @@ export declare class ActivityRecord<TProps = ActivityProperties> {
85
100
  private _provider;
86
101
  private _pendingLinks;
87
102
  private _preGeneratedId;
103
+ private _contacts?;
104
+ private _notes?;
105
+ private _oneTouchSwitches?;
106
+ private _billingRequests?;
107
+ private _orderItems?;
108
+ private _files?;
109
+ private _customerDeviceOnts?;
110
+ private _paymentMethodRefunds?;
111
+ private _workOrders?;
112
+ private _orders?;
88
113
  /**
89
114
  * Create a record wrapper.
90
115
  * @param record - The underlying record, or null for create operations
@@ -97,7 +122,7 @@ export declare class ActivityRecord<TProps = ActivityProperties> {
97
122
  /** Record ID - always available (pre-generated for new records) */
98
123
  get id(): string;
99
124
  get entity(): string;
100
- get type(): string | undefined;
125
+ get type(): ActivityType | undefined;
101
126
  /** Record properties - empty object for new (unsaved) records */
102
127
  get properties(): TProps;
103
128
  get title(): string | undefined;
@@ -110,6 +135,234 @@ export declare class ActivityRecord<TProps = ActivityProperties> {
110
135
  get groups(): string[];
111
136
  /** Access the underlying OdinRecord (null for new records) */
112
137
  get record(): OdinRecord<TProps> | null;
138
+ /**
139
+ * Type guard: check if this record is of type EVENT
140
+ *
141
+ * When this returns true, TypeScript automatically narrows the type,
142
+ * giving you access to EVENT-specific properties.
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * if (record.isEvent()) {
147
+ * // TypeScript knows record.properties is EventActivityProperties
148
+ * console.log(record.properties.SomeTypeSpecificField);
149
+ * }
150
+ * ```
151
+ * @remarks General Events
152
+ */
153
+ isEvent(): this is ActivityRecord<EventActivityProperties>;
154
+ /**
155
+ * Type guard: check if this record is of type NOTIFICATION
156
+ *
157
+ * When this returns true, TypeScript automatically narrows the type,
158
+ * giving you access to NOTIFICATION-specific properties.
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * if (record.isNotification()) {
163
+ * // TypeScript knows record.properties is NotificationActivityProperties
164
+ * console.log(record.properties.SomeTypeSpecificField);
165
+ * }
166
+ * ```
167
+ * @remarks track notification activities
168
+ */
169
+ isNotification(): this is ActivityRecord<NotificationActivityProperties>;
170
+ /**
171
+ * Type guard: check if this record is of type TASK
172
+ *
173
+ * When this returns true, TypeScript automatically narrows the type,
174
+ * giving you access to TASK-specific properties.
175
+ *
176
+ * @example
177
+ * ```typescript
178
+ * if (record.isTask()) {
179
+ * // TypeScript knows record.properties is TaskActivityProperties
180
+ * console.log(record.properties.SomeTypeSpecificField);
181
+ * }
182
+ * ```
183
+ * @remarks task activity tracks if an activity is resolved
184
+ */
185
+ isTask(): this is ActivityRecord<TaskActivityProperties>;
186
+ /** Valid labels for Contact associations */
187
+ static readonly contactsLabels: readonly ["Contact__Activity"];
188
+ /**
189
+ * Access linked Contact records
190
+ * @remarks Available labels: Contact__Activity
191
+ * @throws Error if called on a new (unsaved) record
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * // Get all linked Contact records
196
+ * const items = await record.contacts.list();
197
+ * const first = await record.contacts.first();
198
+ *
199
+ * // Filter by label
200
+ * const specific = await record.contacts.first({ label: 'Contact__Activity' });
201
+ * ```
202
+ */
203
+ get contacts(): RecordLinkManager<ContactRecord, typeof ActivityRecord['contactsLabels'][number]>;
204
+ /** Valid labels for Note associations */
205
+ static readonly notesLabels: readonly ["Activity__Note"];
206
+ /**
207
+ * Access linked Note records
208
+ * @remarks Available labels: Activity__Note
209
+ * @throws Error if called on a new (unsaved) record
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * // Get all linked Note records
214
+ * const items = await record.notes.list();
215
+ * const first = await record.notes.first();
216
+ *
217
+ * // Filter by label
218
+ * const specific = await record.notes.first({ label: 'Activity__Note' });
219
+ * ```
220
+ */
221
+ get notes(): RecordLinkManager<NoteRecord, typeof ActivityRecord['notesLabels'][number]>;
222
+ /** Valid labels for OneTouchSwitch associations */
223
+ static readonly oneTouchSwitchesLabels: readonly ["OneTouchSwitch__Activity"];
224
+ /**
225
+ * Access linked OneTouchSwitch records
226
+ * @remarks Available labels: OneTouchSwitch__Activity
227
+ * @throws Error if called on a new (unsaved) record
228
+ *
229
+ * @example
230
+ * ```typescript
231
+ * // Get all linked OneTouchSwitch records
232
+ * const items = await record.oneTouchSwitches.list();
233
+ * const first = await record.oneTouchSwitches.first();
234
+ *
235
+ * // Filter by label
236
+ * const specific = await record.oneTouchSwitches.first({ label: 'OneTouchSwitch__Activity' });
237
+ * ```
238
+ */
239
+ get oneTouchSwitches(): RecordLinkManager<OneTouchSwitchRecord, typeof ActivityRecord['oneTouchSwitchesLabels'][number]>;
240
+ /** Valid labels for BillingRequest associations */
241
+ static readonly billingRequestsLabels: readonly ["BillingRequest__Activity"];
242
+ /**
243
+ * Access linked BillingRequest records
244
+ * @remarks Available labels: BillingRequest__Activity
245
+ * @throws Error if called on a new (unsaved) record
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * // Get all linked BillingRequest records
250
+ * const items = await record.billingRequests.list();
251
+ * const first = await record.billingRequests.first();
252
+ *
253
+ * // Filter by label
254
+ * const specific = await record.billingRequests.first({ label: 'BillingRequest__Activity' });
255
+ * ```
256
+ */
257
+ get billingRequests(): RecordLinkManager<BillingRequestRecord, typeof ActivityRecord['billingRequestsLabels'][number]>;
258
+ /** Valid labels for OrderItem associations */
259
+ static readonly orderItemsLabels: readonly ["OrderItem__Activity"];
260
+ /**
261
+ * Access linked OrderItem records
262
+ * @remarks Available labels: OrderItem__Activity
263
+ * @throws Error if called on a new (unsaved) record
264
+ *
265
+ * @example
266
+ * ```typescript
267
+ * // Get all linked OrderItem records
268
+ * const items = await record.orderItems.list();
269
+ * const first = await record.orderItems.first();
270
+ *
271
+ * // Filter by label
272
+ * const specific = await record.orderItems.first({ label: 'OrderItem__Activity' });
273
+ * ```
274
+ */
275
+ get orderItems(): RecordLinkManager<OrderItemRecord, typeof ActivityRecord['orderItemsLabels'][number]>;
276
+ /** Valid labels for File associations */
277
+ static readonly filesLabels: readonly ["Activity__File"];
278
+ /**
279
+ * Access linked File records
280
+ * @remarks Available labels: Activity__File
281
+ * @throws Error if called on a new (unsaved) record
282
+ *
283
+ * @example
284
+ * ```typescript
285
+ * // Get all linked File records
286
+ * const items = await record.files.list();
287
+ * const first = await record.files.first();
288
+ *
289
+ * // Filter by label
290
+ * const specific = await record.files.first({ label: 'Activity__File' });
291
+ * ```
292
+ */
293
+ get files(): RecordLinkManager<FileRecord, typeof ActivityRecord['filesLabels'][number]>;
294
+ /** Valid labels for CustomerDeviceOnt associations */
295
+ static readonly customerDeviceOntsLabels: readonly ["CustomerDeviceOnt__Activity"];
296
+ /**
297
+ * Access linked CustomerDeviceOnt records
298
+ * @remarks Available labels: CustomerDeviceOnt__Activity
299
+ * @throws Error if called on a new (unsaved) record
300
+ *
301
+ * @example
302
+ * ```typescript
303
+ * // Get all linked CustomerDeviceOnt records
304
+ * const items = await record.customerDeviceOnts.list();
305
+ * const first = await record.customerDeviceOnts.first();
306
+ *
307
+ * // Filter by label
308
+ * const specific = await record.customerDeviceOnts.first({ label: 'CustomerDeviceOnt__Activity' });
309
+ * ```
310
+ */
311
+ get customerDeviceOnts(): RecordLinkManager<CustomerDeviceOntRecord, typeof ActivityRecord['customerDeviceOntsLabels'][number]>;
312
+ /** Valid labels for PaymentMethodRefund associations */
313
+ static readonly paymentMethodRefundsLabels: readonly ["PaymentMethodRefund__Activity"];
314
+ /**
315
+ * Access linked PaymentMethodRefund records
316
+ * @remarks Available labels: PaymentMethodRefund__Activity
317
+ * @throws Error if called on a new (unsaved) record
318
+ *
319
+ * @example
320
+ * ```typescript
321
+ * // Get all linked PaymentMethodRefund records
322
+ * const items = await record.paymentMethodRefunds.list();
323
+ * const first = await record.paymentMethodRefunds.first();
324
+ *
325
+ * // Filter by label
326
+ * const specific = await record.paymentMethodRefunds.first({ label: 'PaymentMethodRefund__Activity' });
327
+ * ```
328
+ */
329
+ get paymentMethodRefunds(): RecordLinkManager<PaymentMethodRefundRecord, typeof ActivityRecord['paymentMethodRefundsLabels'][number]>;
330
+ /** Valid labels for WorkOrder associations */
331
+ static readonly workOrdersLabels: readonly ["WorkOrder__Activity"];
332
+ /**
333
+ * Access linked WorkOrder records
334
+ * @remarks Available labels: WorkOrder__Activity
335
+ * @throws Error if called on a new (unsaved) record
336
+ *
337
+ * @example
338
+ * ```typescript
339
+ * // Get all linked WorkOrder records
340
+ * const items = await record.workOrders.list();
341
+ * const first = await record.workOrders.first();
342
+ *
343
+ * // Filter by label
344
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__Activity' });
345
+ * ```
346
+ */
347
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof ActivityRecord['workOrdersLabels'][number]>;
348
+ /** Valid labels for Order associations */
349
+ static readonly ordersLabels: readonly ["Order__Activity"];
350
+ /**
351
+ * Access linked Order records
352
+ * @remarks Available labels: Order__Activity
353
+ * @throws Error if called on a new (unsaved) record
354
+ *
355
+ * @example
356
+ * ```typescript
357
+ * // Get all linked Order records
358
+ * const items = await record.orders.list();
359
+ * const first = await record.orders.first();
360
+ *
361
+ * // Filter by label
362
+ * const specific = await record.orders.first({ label: 'Order__Activity' });
363
+ * ```
364
+ */
365
+ get orders(): RecordLinkManager<OrderRecord, typeof ActivityRecord['ordersLabels'][number]>;
113
366
  /**
114
367
  * Queue a link to be created with the next action.
115
368
  * Works for both create and update actions.