@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
@@ -29,6 +29,23 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.isAddressRecord = exports.AddressRecord = exports.CreateLeadFromAddressFlowBuilder = void 0;
30
30
  const uuid_1 = require("uuid");
31
31
  const core_1 = require("@d19n/odin-types/dist/core");
32
+ const record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/record-link-manager");
33
+ const OrderRecord_1 = require("./OrderRecord");
34
+ const CustomerDeviceOntRecord_1 = require("./CustomerDeviceOntRecord");
35
+ const AppointmentRecord_1 = require("./AppointmentRecord");
36
+ const InvoiceRecord_1 = require("./InvoiceRecord");
37
+ const ContactRecord_1 = require("./ContactRecord");
38
+ const VisitRecord_1 = require("./VisitRecord");
39
+ const OneTouchSwitchRecord_1 = require("./OneTouchSwitchRecord");
40
+ const FileRecord_1 = require("./FileRecord");
41
+ const UserRecord_1 = require("./UserRecord");
42
+ const AccountRecord_1 = require("./AccountRecord");
43
+ const NoteRecord_1 = require("./NoteRecord");
44
+ const LeadRecord_1 = require("./LeadRecord");
45
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
46
+ const CrmDatasetRecord_1 = require("./CrmDatasetRecord");
47
+ const CustomerDeviceRouterRecord_1 = require("./CustomerDeviceRouterRecord");
48
+ const CaseRecord_1 = require("./CaseRecord");
32
49
  /**
33
50
  * Builder for action execution with dryRun support
34
51
  *
@@ -267,6 +284,486 @@ class AddressRecord {
267
284
  get groups() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.groups) || []; }
268
285
  /** Access the underlying OdinRecord (null for new records) */
269
286
  get record() { return this._record; }
287
+ /**
288
+ * Access linked Order records
289
+ * @remarks Available labels: Order__Address
290
+ * @throws Error if called on a new (unsaved) record
291
+ *
292
+ * @example
293
+ * ```typescript
294
+ * // Get all linked Order records
295
+ * const items = await record.orders.list();
296
+ * const first = await record.orders.first();
297
+ *
298
+ * // Filter by label
299
+ * const specific = await record.orders.first({ label: 'Order__Address' });
300
+ * ```
301
+ */
302
+ get orders() {
303
+ var _a;
304
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
305
+ throw new Error('Cannot access links on a new (unsaved) record');
306
+ if (!this._orders) {
307
+ this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
308
+ sourceEntity: 'CrmModule:Address',
309
+ targetEntity: 'OrderModule:Order',
310
+ targetModuleName: 'OrderModule',
311
+ targetEntityName: 'Order',
312
+ labels: ['Order__Address'],
313
+ }, OrderRecord_1.OrderRecord);
314
+ }
315
+ return this._orders;
316
+ }
317
+ /**
318
+ * Access linked CustomerDeviceOnt records
319
+ * @remarks Available labels: Address__CustomerDeviceOnt
320
+ * @throws Error if called on a new (unsaved) record
321
+ *
322
+ * @example
323
+ * ```typescript
324
+ * // Get all linked CustomerDeviceOnt records
325
+ * const items = await record.customerDeviceOnts.list();
326
+ * const first = await record.customerDeviceOnts.first();
327
+ *
328
+ * // Filter by label
329
+ * const specific = await record.customerDeviceOnts.first({ label: 'Address__CustomerDeviceOnt' });
330
+ * ```
331
+ */
332
+ get customerDeviceOnts() {
333
+ var _a;
334
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
335
+ throw new Error('Cannot access links on a new (unsaved) record');
336
+ if (!this._customerDeviceOnts) {
337
+ this._customerDeviceOnts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
338
+ sourceEntity: 'CrmModule:Address',
339
+ targetEntity: 'ServiceModule:CustomerDeviceOnt',
340
+ targetModuleName: 'ServiceModule',
341
+ targetEntityName: 'CustomerDeviceOnt',
342
+ labels: ['Address__CustomerDeviceOnt'],
343
+ }, CustomerDeviceOntRecord_1.CustomerDeviceOntRecord);
344
+ }
345
+ return this._customerDeviceOnts;
346
+ }
347
+ /**
348
+ * Access linked Appointment records
349
+ * @remarks Available labels: Address__Appointment
350
+ * @throws Error if called on a new (unsaved) record
351
+ *
352
+ * @example
353
+ * ```typescript
354
+ * // Get all linked Appointment records
355
+ * const items = await record.appointments.list();
356
+ * const first = await record.appointments.first();
357
+ *
358
+ * // Filter by label
359
+ * const specific = await record.appointments.first({ label: 'Address__Appointment' });
360
+ * ```
361
+ */
362
+ get appointments() {
363
+ var _a;
364
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
365
+ throw new Error('Cannot access links on a new (unsaved) record');
366
+ if (!this._appointments) {
367
+ this._appointments = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
368
+ sourceEntity: 'CrmModule:Address',
369
+ targetEntity: 'CrmModule:Appointment',
370
+ targetModuleName: 'CrmModule',
371
+ targetEntityName: 'Appointment',
372
+ labels: ['Address__Appointment'],
373
+ }, AppointmentRecord_1.AppointmentRecord);
374
+ }
375
+ return this._appointments;
376
+ }
377
+ /**
378
+ * Access linked Invoice records
379
+ * @remarks Available labels: Invoice__Address
380
+ * @throws Error if called on a new (unsaved) record
381
+ *
382
+ * @example
383
+ * ```typescript
384
+ * // Get all linked Invoice records
385
+ * const items = await record.invoices.list();
386
+ * const first = await record.invoices.first();
387
+ *
388
+ * // Filter by label
389
+ * const specific = await record.invoices.first({ label: 'Invoice__Address' });
390
+ * ```
391
+ */
392
+ get invoices() {
393
+ var _a;
394
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
395
+ throw new Error('Cannot access links on a new (unsaved) record');
396
+ if (!this._invoices) {
397
+ this._invoices = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
398
+ sourceEntity: 'CrmModule:Address',
399
+ targetEntity: 'BillingModule:Invoice',
400
+ targetModuleName: 'BillingModule',
401
+ targetEntityName: 'Invoice',
402
+ labels: ['Invoice__Address'],
403
+ }, InvoiceRecord_1.InvoiceRecord);
404
+ }
405
+ return this._invoices;
406
+ }
407
+ /**
408
+ * Access linked Contact records
409
+ * @remarks Available labels: Contact__Address
410
+ * @throws Error if called on a new (unsaved) record
411
+ *
412
+ * @example
413
+ * ```typescript
414
+ * // Get all linked Contact records
415
+ * const items = await record.contacts.list();
416
+ * const first = await record.contacts.first();
417
+ *
418
+ * // Filter by label
419
+ * const specific = await record.contacts.first({ label: 'Contact__Address' });
420
+ * ```
421
+ */
422
+ get contacts() {
423
+ var _a;
424
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
425
+ throw new Error('Cannot access links on a new (unsaved) record');
426
+ if (!this._contacts) {
427
+ this._contacts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
428
+ sourceEntity: 'CrmModule:Address',
429
+ targetEntity: 'CrmModule:Contact',
430
+ targetModuleName: 'CrmModule',
431
+ targetEntityName: 'Contact',
432
+ labels: ['Contact__Address'],
433
+ }, ContactRecord_1.ContactRecord);
434
+ }
435
+ return this._contacts;
436
+ }
437
+ /**
438
+ * Access linked Visit records
439
+ * @remarks Available labels: Address__Visit
440
+ * @throws Error if called on a new (unsaved) record
441
+ *
442
+ * @example
443
+ * ```typescript
444
+ * // Get all linked Visit records
445
+ * const items = await record.visits.list();
446
+ * const first = await record.visits.first();
447
+ *
448
+ * // Filter by label
449
+ * const specific = await record.visits.first({ label: 'Address__Visit' });
450
+ * ```
451
+ */
452
+ get visits() {
453
+ var _a;
454
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
455
+ throw new Error('Cannot access links on a new (unsaved) record');
456
+ if (!this._visits) {
457
+ this._visits = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
458
+ sourceEntity: 'CrmModule:Address',
459
+ targetEntity: 'CrmModule:Visit',
460
+ targetModuleName: 'CrmModule',
461
+ targetEntityName: 'Visit',
462
+ labels: ['Address__Visit'],
463
+ }, VisitRecord_1.VisitRecord);
464
+ }
465
+ return this._visits;
466
+ }
467
+ /**
468
+ * Access linked OneTouchSwitch records
469
+ * @remarks Available labels: OneTouchSwitch__Address
470
+ * @throws Error if called on a new (unsaved) record
471
+ *
472
+ * @example
473
+ * ```typescript
474
+ * // Get all linked OneTouchSwitch records
475
+ * const items = await record.oneTouchSwitches.list();
476
+ * const first = await record.oneTouchSwitches.first();
477
+ *
478
+ * // Filter by label
479
+ * const specific = await record.oneTouchSwitches.first({ label: 'OneTouchSwitch__Address' });
480
+ * ```
481
+ */
482
+ get oneTouchSwitches() {
483
+ var _a;
484
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
485
+ throw new Error('Cannot access links on a new (unsaved) record');
486
+ if (!this._oneTouchSwitches) {
487
+ this._oneTouchSwitches = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
488
+ sourceEntity: 'CrmModule:Address',
489
+ targetEntity: 'OrderModule:OneTouchSwitch',
490
+ targetModuleName: 'OrderModule',
491
+ targetEntityName: 'OneTouchSwitch',
492
+ labels: ['OneTouchSwitch__Address'],
493
+ }, OneTouchSwitchRecord_1.OneTouchSwitchRecord);
494
+ }
495
+ return this._oneTouchSwitches;
496
+ }
497
+ /**
498
+ * Access linked File records
499
+ * @remarks Available labels: Address__File
500
+ * @throws Error if called on a new (unsaved) record
501
+ *
502
+ * @example
503
+ * ```typescript
504
+ * // Get all linked File records
505
+ * const items = await record.files.list();
506
+ * const first = await record.files.first();
507
+ *
508
+ * // Filter by label
509
+ * const specific = await record.files.first({ label: 'Address__File' });
510
+ * ```
511
+ */
512
+ get files() {
513
+ var _a;
514
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
515
+ throw new Error('Cannot access links on a new (unsaved) record');
516
+ if (!this._files) {
517
+ this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
518
+ sourceEntity: 'CrmModule:Address',
519
+ targetEntity: 'SchemaModule:File',
520
+ targetModuleName: 'SchemaModule',
521
+ targetEntityName: 'File',
522
+ labels: ['Address__File'],
523
+ }, FileRecord_1.FileRecord);
524
+ }
525
+ return this._files;
526
+ }
527
+ /**
528
+ * Access linked User records
529
+ * @remarks Available labels: Address_User
530
+ * @throws Error if called on a new (unsaved) record
531
+ *
532
+ * @example
533
+ * ```typescript
534
+ * // Get all linked User records
535
+ * const items = await record.users.list();
536
+ * const first = await record.users.first();
537
+ *
538
+ * // Filter by label
539
+ * const specific = await record.users.first({ label: 'Address_User' });
540
+ * ```
541
+ */
542
+ get users() {
543
+ var _a;
544
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
545
+ throw new Error('Cannot access links on a new (unsaved) record');
546
+ if (!this._users) {
547
+ this._users = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
548
+ sourceEntity: 'CrmModule:Address',
549
+ targetEntity: 'IdentityModule:User',
550
+ targetModuleName: 'IdentityModule',
551
+ targetEntityName: 'User',
552
+ labels: ['Address_User'],
553
+ }, UserRecord_1.UserRecord);
554
+ }
555
+ return this._users;
556
+ }
557
+ /**
558
+ * Access linked Account records
559
+ * @remarks Available labels: BillingAddress
560
+ * @throws Error if called on a new (unsaved) record
561
+ *
562
+ * @example
563
+ * ```typescript
564
+ * // Get all linked Account records
565
+ * const items = await record.accounts.list();
566
+ * const first = await record.accounts.first();
567
+ *
568
+ * // Filter by label
569
+ * const specific = await record.accounts.first({ label: 'BillingAddress' });
570
+ * ```
571
+ */
572
+ get accounts() {
573
+ var _a;
574
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
575
+ throw new Error('Cannot access links on a new (unsaved) record');
576
+ if (!this._accounts) {
577
+ this._accounts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
578
+ sourceEntity: 'CrmModule:Address',
579
+ targetEntity: 'CrmModule:Account',
580
+ targetModuleName: 'CrmModule',
581
+ targetEntityName: 'Account',
582
+ labels: ['BillingAddress'],
583
+ }, AccountRecord_1.AccountRecord);
584
+ }
585
+ return this._accounts;
586
+ }
587
+ /**
588
+ * Access linked Note records
589
+ * @remarks Available labels: Address__Note
590
+ * @throws Error if called on a new (unsaved) record
591
+ *
592
+ * @example
593
+ * ```typescript
594
+ * // Get all linked Note records
595
+ * const items = await record.notes.list();
596
+ * const first = await record.notes.first();
597
+ *
598
+ * // Filter by label
599
+ * const specific = await record.notes.first({ label: 'Address__Note' });
600
+ * ```
601
+ */
602
+ get notes() {
603
+ var _a;
604
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
605
+ throw new Error('Cannot access links on a new (unsaved) record');
606
+ if (!this._notes) {
607
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
608
+ sourceEntity: 'CrmModule:Address',
609
+ targetEntity: 'SupportModule:Note',
610
+ targetModuleName: 'SupportModule',
611
+ targetEntityName: 'Note',
612
+ labels: ['Address__Note'],
613
+ }, NoteRecord_1.NoteRecord);
614
+ }
615
+ return this._notes;
616
+ }
617
+ /**
618
+ * Access linked Lead records
619
+ * @remarks Available labels: Lead_Address
620
+ * @throws Error if called on a new (unsaved) record
621
+ *
622
+ * @example
623
+ * ```typescript
624
+ * // Get all linked Lead records
625
+ * const items = await record.leads.list();
626
+ * const first = await record.leads.first();
627
+ *
628
+ * // Filter by label
629
+ * const specific = await record.leads.first({ label: 'Lead_Address' });
630
+ * ```
631
+ */
632
+ get leads() {
633
+ var _a;
634
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
635
+ throw new Error('Cannot access links on a new (unsaved) record');
636
+ if (!this._leads) {
637
+ this._leads = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
638
+ sourceEntity: 'CrmModule:Address',
639
+ targetEntity: 'CrmModule:Lead',
640
+ targetModuleName: 'CrmModule',
641
+ targetEntityName: 'Lead',
642
+ labels: ['Lead_Address'],
643
+ }, LeadRecord_1.LeadRecord);
644
+ }
645
+ return this._leads;
646
+ }
647
+ /**
648
+ * Access linked WorkOrder records
649
+ * @remarks Available labels: WorkOrder__Address, WorkOrder__Alternative_Address
650
+ * @throws Error if called on a new (unsaved) record
651
+ *
652
+ * @example
653
+ * ```typescript
654
+ * // Get all linked WorkOrder records
655
+ * const items = await record.workOrders.list();
656
+ * const first = await record.workOrders.first();
657
+ *
658
+ * // Filter by label
659
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__Address' });
660
+ * ```
661
+ */
662
+ get workOrders() {
663
+ var _a;
664
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
665
+ throw new Error('Cannot access links on a new (unsaved) record');
666
+ if (!this._workOrders) {
667
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
668
+ sourceEntity: 'CrmModule:Address',
669
+ targetEntity: 'FieldServiceModule:WorkOrder',
670
+ targetModuleName: 'FieldServiceModule',
671
+ targetEntityName: 'WorkOrder',
672
+ labels: ['WorkOrder__Address', 'WorkOrder__Alternative_Address'],
673
+ }, WorkOrderRecord_1.WorkOrderRecord);
674
+ }
675
+ return this._workOrders;
676
+ }
677
+ /**
678
+ * Access linked CrmDataset records
679
+ * @remarks Available labels: CrmDataset__Address
680
+ * @throws Error if called on a new (unsaved) record
681
+ *
682
+ * @example
683
+ * ```typescript
684
+ * // Get all linked CrmDataset records
685
+ * const items = await record.crmDatasets.list();
686
+ * const first = await record.crmDatasets.first();
687
+ *
688
+ * // Filter by label
689
+ * const specific = await record.crmDatasets.first({ label: 'CrmDataset__Address' });
690
+ * ```
691
+ */
692
+ get crmDatasets() {
693
+ var _a;
694
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
695
+ throw new Error('Cannot access links on a new (unsaved) record');
696
+ if (!this._crmDatasets) {
697
+ this._crmDatasets = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
698
+ sourceEntity: 'CrmModule:Address',
699
+ targetEntity: 'CrmModule:CrmDataset',
700
+ targetModuleName: 'CrmModule',
701
+ targetEntityName: 'CrmDataset',
702
+ labels: ['CrmDataset__Address'],
703
+ }, CrmDatasetRecord_1.CrmDatasetRecord);
704
+ }
705
+ return this._crmDatasets;
706
+ }
707
+ /**
708
+ * Access linked CustomerDeviceRouter records
709
+ * @remarks Available labels: Address__CustomerDeviceRouter
710
+ * @throws Error if called on a new (unsaved) record
711
+ *
712
+ * @example
713
+ * ```typescript
714
+ * // Get all linked CustomerDeviceRouter records
715
+ * const items = await record.customerDeviceRouters.list();
716
+ * const first = await record.customerDeviceRouters.first();
717
+ *
718
+ * // Filter by label
719
+ * const specific = await record.customerDeviceRouters.first({ label: 'Address__CustomerDeviceRouter' });
720
+ * ```
721
+ */
722
+ get customerDeviceRouters() {
723
+ var _a;
724
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
725
+ throw new Error('Cannot access links on a new (unsaved) record');
726
+ if (!this._customerDeviceRouters) {
727
+ this._customerDeviceRouters = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
728
+ sourceEntity: 'CrmModule:Address',
729
+ targetEntity: 'ServiceModule:CustomerDeviceRouter',
730
+ targetModuleName: 'ServiceModule',
731
+ targetEntityName: 'CustomerDeviceRouter',
732
+ labels: ['Address__CustomerDeviceRouter'],
733
+ }, CustomerDeviceRouterRecord_1.CustomerDeviceRouterRecord);
734
+ }
735
+ return this._customerDeviceRouters;
736
+ }
737
+ /**
738
+ * Access linked Case records
739
+ * @remarks Available labels: Case__Address
740
+ * @throws Error if called on a new (unsaved) record
741
+ *
742
+ * @example
743
+ * ```typescript
744
+ * // Get all linked Case records
745
+ * const items = await record.cases.list();
746
+ * const first = await record.cases.first();
747
+ *
748
+ * // Filter by label
749
+ * const specific = await record.cases.first({ label: 'Case__Address' });
750
+ * ```
751
+ */
752
+ get cases() {
753
+ var _a;
754
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
755
+ throw new Error('Cannot access links on a new (unsaved) record');
756
+ if (!this._cases) {
757
+ this._cases = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
758
+ sourceEntity: 'CrmModule:Address',
759
+ targetEntity: 'SupportModule:Case',
760
+ targetModuleName: 'SupportModule',
761
+ targetEntityName: 'Case',
762
+ labels: ['Case__Address'],
763
+ }, CaseRecord_1.CaseRecord);
764
+ }
765
+ return this._cases;
766
+ }
270
767
  // ============================================
271
768
  // LINK MANAGEMENT
272
769
  // ============================================
@@ -444,6 +941,41 @@ class AddressRecord {
444
941
  }
445
942
  }
446
943
  exports.AddressRecord = AddressRecord;
944
+ // ============================================
945
+ // TYPED LINK ACCESSORS
946
+ // ============================================
947
+ /** Valid labels for Order associations */
948
+ AddressRecord.ordersLabels = ['Order__Address'];
949
+ /** Valid labels for CustomerDeviceOnt associations */
950
+ AddressRecord.customerDeviceOntsLabels = ['Address__CustomerDeviceOnt'];
951
+ /** Valid labels for Appointment associations */
952
+ AddressRecord.appointmentsLabels = ['Address__Appointment'];
953
+ /** Valid labels for Invoice associations */
954
+ AddressRecord.invoicesLabels = ['Invoice__Address'];
955
+ /** Valid labels for Contact associations */
956
+ AddressRecord.contactsLabels = ['Contact__Address'];
957
+ /** Valid labels for Visit associations */
958
+ AddressRecord.visitsLabels = ['Address__Visit'];
959
+ /** Valid labels for OneTouchSwitch associations */
960
+ AddressRecord.oneTouchSwitchesLabels = ['OneTouchSwitch__Address'];
961
+ /** Valid labels for File associations */
962
+ AddressRecord.filesLabels = ['Address__File'];
963
+ /** Valid labels for User associations */
964
+ AddressRecord.usersLabels = ['Address_User'];
965
+ /** Valid labels for Account associations */
966
+ AddressRecord.accountsLabels = ['BillingAddress'];
967
+ /** Valid labels for Note associations */
968
+ AddressRecord.notesLabels = ['Address__Note'];
969
+ /** Valid labels for Lead associations */
970
+ AddressRecord.leadsLabels = ['Lead_Address'];
971
+ /** Valid labels for WorkOrder associations */
972
+ AddressRecord.workOrdersLabels = ['WorkOrder__Address', 'WorkOrder__Alternative_Address'];
973
+ /** Valid labels for CrmDataset associations */
974
+ AddressRecord.crmDatasetsLabels = ['CrmDataset__Address'];
975
+ /** Valid labels for CustomerDeviceRouter associations */
976
+ AddressRecord.customerDeviceRoutersLabels = ['Address__CustomerDeviceRouter'];
977
+ /** Valid labels for Case associations */
978
+ AddressRecord.casesLabels = ['Case__Address'];
447
979
  /** Type guard to check if an object is a AddressRecord */
448
980
  function isAddressRecord(obj) {
449
981
  return obj instanceof AddressRecord;
@@ -13,14 +13,23 @@
13
13
  * await record.createAffiliateCode({ ... }).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 { AffiliateCodeProperties } from '../entities-v2/AffiliateCode';
23
26
  import { CreateAffiliateCodeProperties } from '../actions-v2/CreateAffiliateCodeDto';
27
+ import { CampaignRecord } from './CampaignRecord';
28
+ import { ContactRecord } from './ContactRecord';
29
+ import { ReferralRecord } from './ReferralRecord';
30
+ import { RewardRecord } from './RewardRecord';
31
+ /** Valid entity types for AffiliateCode */
32
+ export declare type AffiliateCodeType = 'DEFAULT';
24
33
  /**
25
34
  * Builder for action execution with dryRun support
26
35
  *
@@ -84,6 +93,10 @@ export declare class AffiliateCodeRecord<TProps = AffiliateCodeProperties> {
84
93
  private _provider;
85
94
  private _pendingLinks;
86
95
  private _preGeneratedId;
96
+ private _campaigns?;
97
+ private _contacts?;
98
+ private _referrals?;
99
+ private _rewards?;
87
100
  /**
88
101
  * Create a record wrapper.
89
102
  * @param record - The underlying record, or null for create operations
@@ -96,7 +109,7 @@ export declare class AffiliateCodeRecord<TProps = AffiliateCodeProperties> {
96
109
  /** Record ID - always available (pre-generated for new records) */
97
110
  get id(): string;
98
111
  get entity(): string;
99
- get type(): string | undefined;
112
+ get type(): AffiliateCodeType | undefined;
100
113
  /** Record properties - empty object for new (unsaved) records */
101
114
  get properties(): TProps;
102
115
  get title(): string | undefined;
@@ -109,6 +122,94 @@ export declare class AffiliateCodeRecord<TProps = AffiliateCodeProperties> {
109
122
  get groups(): string[];
110
123
  /** Access the underlying OdinRecord (null for new records) */
111
124
  get record(): OdinRecord<TProps> | null;
125
+ /**
126
+ * Type guard: check if this record is of type DEFAULT
127
+ *
128
+ * When this returns true, TypeScript automatically narrows the type,
129
+ * giving you access to DEFAULT-specific properties.
130
+ *
131
+ * @example
132
+ * ```typescript
133
+ * if (record.isDefault()) {
134
+ * // TypeScript knows record.properties is AffiliateCodeProperties
135
+ * console.log(record.properties.SomeTypeSpecificField);
136
+ * }
137
+ * ```
138
+ * @remarks This is the default record type
139
+ */
140
+ isDefault(): this is AffiliateCodeRecord<AffiliateCodeProperties>;
141
+ /** Valid labels for Campaign associations */
142
+ static readonly campaignsLabels: readonly ["CampaignAffiliateCodes"];
143
+ /**
144
+ * Access linked Campaign records
145
+ * @remarks Available labels: CampaignAffiliateCodes
146
+ * @throws Error if called on a new (unsaved) record
147
+ *
148
+ * @example
149
+ * ```typescript
150
+ * // Get all linked Campaign records
151
+ * const items = await record.campaigns.list();
152
+ * const first = await record.campaigns.first();
153
+ *
154
+ * // Filter by label
155
+ * const specific = await record.campaigns.first({ label: 'CampaignAffiliateCodes' });
156
+ * ```
157
+ */
158
+ get campaigns(): RecordLinkManager<CampaignRecord, typeof AffiliateCodeRecord['campaignsLabels'][number]>;
159
+ /** Valid labels for Contact associations */
160
+ static readonly contactsLabels: readonly ["ContactAffiliateCodes"];
161
+ /**
162
+ * Access linked Contact records
163
+ * @remarks Available labels: ContactAffiliateCodes
164
+ * @throws Error if called on a new (unsaved) record
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * // Get all linked Contact records
169
+ * const items = await record.contacts.list();
170
+ * const first = await record.contacts.first();
171
+ *
172
+ * // Filter by label
173
+ * const specific = await record.contacts.first({ label: 'ContactAffiliateCodes' });
174
+ * ```
175
+ */
176
+ get contacts(): RecordLinkManager<ContactRecord, typeof AffiliateCodeRecord['contactsLabels'][number]>;
177
+ /** Valid labels for Referral associations */
178
+ static readonly referralsLabels: readonly ["AffiliateCodeReferrals"];
179
+ /**
180
+ * Access linked Referral records
181
+ * @remarks Available labels: AffiliateCodeReferrals
182
+ * @throws Error if called on a new (unsaved) record
183
+ *
184
+ * @example
185
+ * ```typescript
186
+ * // Get all linked Referral records
187
+ * const items = await record.referrals.list();
188
+ * const first = await record.referrals.first();
189
+ *
190
+ * // Filter by label
191
+ * const specific = await record.referrals.first({ label: 'AffiliateCodeReferrals' });
192
+ * ```
193
+ */
194
+ get referrals(): RecordLinkManager<ReferralRecord, typeof AffiliateCodeRecord['referralsLabels'][number]>;
195
+ /** Valid labels for Reward associations */
196
+ static readonly rewardsLabels: readonly ["AffiliateCodeRewards"];
197
+ /**
198
+ * Access linked Reward records
199
+ * @remarks Available labels: AffiliateCodeRewards
200
+ * @throws Error if called on a new (unsaved) record
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * // Get all linked Reward records
205
+ * const items = await record.rewards.list();
206
+ * const first = await record.rewards.first();
207
+ *
208
+ * // Filter by label
209
+ * const specific = await record.rewards.first({ label: 'AffiliateCodeRewards' });
210
+ * ```
211
+ */
212
+ get rewards(): RecordLinkManager<RewardRecord, typeof AffiliateCodeRecord['rewardsLabels'][number]>;
112
213
  /**
113
214
  * Queue a link to be created with the next action.
114
215
  * Works for both create and update actions.