@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
@@ -19,9 +19,14 @@ import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
19
19
  import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
20
20
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
21
21
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
22
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
22
23
  import { BillingAdjustmentProperties } from '../entities-v2/BillingAdjustment';
23
24
  import { BillingAdjustmentCreateProperties } from '../actions-v2/BillingAdjustmentCreateDto';
24
25
  import { BillingAdjustmentUpdateProperties } from '../actions-v2/BillingAdjustmentUpdateDto';
26
+ import { OrderRecord } from './OrderRecord';
27
+ import { NoteRecord } from './NoteRecord';
28
+ import { FileRecord } from './FileRecord';
29
+ import { InvoiceRecord } from './InvoiceRecord';
25
30
  /**
26
31
  * Builder for action execution with dryRun support
27
32
  *
@@ -85,6 +90,10 @@ export declare class BillingAdjustmentRecord<TProps = BillingAdjustmentPropertie
85
90
  private _provider;
86
91
  private _pendingLinks;
87
92
  private _preGeneratedId;
93
+ private _orders?;
94
+ private _notes?;
95
+ private _files?;
96
+ private _invoices?;
88
97
  /**
89
98
  * Create a record wrapper.
90
99
  * @param record - The underlying record, or null for create operations
@@ -110,6 +119,78 @@ export declare class BillingAdjustmentRecord<TProps = BillingAdjustmentPropertie
110
119
  get groups(): string[];
111
120
  /** Access the underlying OdinRecord (null for new records) */
112
121
  get record(): OdinRecord<TProps> | null;
122
+ /** Valid labels for Order associations */
123
+ static readonly ordersLabels: readonly ["Order__BillingAdjustment"];
124
+ /**
125
+ * Access linked Order records
126
+ * @remarks Available labels: Order__BillingAdjustment
127
+ * @throws Error if called on a new (unsaved) record
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * // Get all linked Order records
132
+ * const items = await record.orders.list();
133
+ * const first = await record.orders.first();
134
+ *
135
+ * // Filter by label
136
+ * const specific = await record.orders.first({ label: 'Order__BillingAdjustment' });
137
+ * ```
138
+ */
139
+ get orders(): RecordLinkManager<OrderRecord, typeof BillingAdjustmentRecord['ordersLabels'][number]>;
140
+ /** Valid labels for Note associations */
141
+ static readonly notesLabels: readonly ["BillingAdjustment__Note"];
142
+ /**
143
+ * Access linked Note records
144
+ * @remarks Available labels: BillingAdjustment__Note
145
+ * @throws Error if called on a new (unsaved) record
146
+ *
147
+ * @example
148
+ * ```typescript
149
+ * // Get all linked Note records
150
+ * const items = await record.notes.list();
151
+ * const first = await record.notes.first();
152
+ *
153
+ * // Filter by label
154
+ * const specific = await record.notes.first({ label: 'BillingAdjustment__Note' });
155
+ * ```
156
+ */
157
+ get notes(): RecordLinkManager<NoteRecord, typeof BillingAdjustmentRecord['notesLabels'][number]>;
158
+ /** Valid labels for File associations */
159
+ static readonly filesLabels: readonly ["BillingAdjustment__File"];
160
+ /**
161
+ * Access linked File records
162
+ * @remarks Available labels: BillingAdjustment__File
163
+ * @throws Error if called on a new (unsaved) record
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * // Get all linked File records
168
+ * const items = await record.files.list();
169
+ * const first = await record.files.first();
170
+ *
171
+ * // Filter by label
172
+ * const specific = await record.files.first({ label: 'BillingAdjustment__File' });
173
+ * ```
174
+ */
175
+ get files(): RecordLinkManager<FileRecord, typeof BillingAdjustmentRecord['filesLabels'][number]>;
176
+ /** Valid labels for Invoice associations */
177
+ static readonly invoicesLabels: readonly ["Invoice__BillingAdjustment"];
178
+ /**
179
+ * Access linked Invoice records
180
+ * @remarks Available labels: Invoice__BillingAdjustment
181
+ * @throws Error if called on a new (unsaved) record
182
+ *
183
+ * @example
184
+ * ```typescript
185
+ * // Get all linked Invoice records
186
+ * const items = await record.invoices.list();
187
+ * const first = await record.invoices.first();
188
+ *
189
+ * // Filter by label
190
+ * const specific = await record.invoices.first({ label: 'Invoice__BillingAdjustment' });
191
+ * ```
192
+ */
193
+ get invoices(): RecordLinkManager<InvoiceRecord, typeof BillingAdjustmentRecord['invoicesLabels'][number]>;
113
194
  /**
114
195
  * Queue a link to be created with the next action.
115
196
  * Works for both create and update actions.
@@ -29,6 +29,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.isBillingAdjustmentRecord = exports.BillingAdjustmentRecord = 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 NoteRecord_1 = require("./NoteRecord");
35
+ const FileRecord_1 = require("./FileRecord");
36
+ const InvoiceRecord_1 = require("./InvoiceRecord");
32
37
  /**
33
38
  * Builder for action execution with dryRun support
34
39
  *
@@ -139,6 +144,126 @@ class BillingAdjustmentRecord {
139
144
  get groups() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.groups) || []; }
140
145
  /** Access the underlying OdinRecord (null for new records) */
141
146
  get record() { return this._record; }
147
+ /**
148
+ * Access linked Order records
149
+ * @remarks Available labels: Order__BillingAdjustment
150
+ * @throws Error if called on a new (unsaved) record
151
+ *
152
+ * @example
153
+ * ```typescript
154
+ * // Get all linked Order records
155
+ * const items = await record.orders.list();
156
+ * const first = await record.orders.first();
157
+ *
158
+ * // Filter by label
159
+ * const specific = await record.orders.first({ label: 'Order__BillingAdjustment' });
160
+ * ```
161
+ */
162
+ get orders() {
163
+ var _a;
164
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
165
+ throw new Error('Cannot access links on a new (unsaved) record');
166
+ if (!this._orders) {
167
+ this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
168
+ sourceEntity: 'OrderModule:BillingAdjustment',
169
+ targetEntity: 'OrderModule:Order',
170
+ targetModuleName: 'OrderModule',
171
+ targetEntityName: 'Order',
172
+ labels: ['Order__BillingAdjustment'],
173
+ }, OrderRecord_1.OrderRecord);
174
+ }
175
+ return this._orders;
176
+ }
177
+ /**
178
+ * Access linked Note records
179
+ * @remarks Available labels: BillingAdjustment__Note
180
+ * @throws Error if called on a new (unsaved) record
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * // Get all linked Note records
185
+ * const items = await record.notes.list();
186
+ * const first = await record.notes.first();
187
+ *
188
+ * // Filter by label
189
+ * const specific = await record.notes.first({ label: 'BillingAdjustment__Note' });
190
+ * ```
191
+ */
192
+ get notes() {
193
+ var _a;
194
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
195
+ throw new Error('Cannot access links on a new (unsaved) record');
196
+ if (!this._notes) {
197
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
198
+ sourceEntity: 'OrderModule:BillingAdjustment',
199
+ targetEntity: 'SupportModule:Note',
200
+ targetModuleName: 'SupportModule',
201
+ targetEntityName: 'Note',
202
+ labels: ['BillingAdjustment__Note'],
203
+ }, NoteRecord_1.NoteRecord);
204
+ }
205
+ return this._notes;
206
+ }
207
+ /**
208
+ * Access linked File records
209
+ * @remarks Available labels: BillingAdjustment__File
210
+ * @throws Error if called on a new (unsaved) record
211
+ *
212
+ * @example
213
+ * ```typescript
214
+ * // Get all linked File records
215
+ * const items = await record.files.list();
216
+ * const first = await record.files.first();
217
+ *
218
+ * // Filter by label
219
+ * const specific = await record.files.first({ label: 'BillingAdjustment__File' });
220
+ * ```
221
+ */
222
+ get files() {
223
+ var _a;
224
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
225
+ throw new Error('Cannot access links on a new (unsaved) record');
226
+ if (!this._files) {
227
+ this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
228
+ sourceEntity: 'OrderModule:BillingAdjustment',
229
+ targetEntity: 'SchemaModule:File',
230
+ targetModuleName: 'SchemaModule',
231
+ targetEntityName: 'File',
232
+ labels: ['BillingAdjustment__File'],
233
+ }, FileRecord_1.FileRecord);
234
+ }
235
+ return this._files;
236
+ }
237
+ /**
238
+ * Access linked Invoice records
239
+ * @remarks Available labels: Invoice__BillingAdjustment
240
+ * @throws Error if called on a new (unsaved) record
241
+ *
242
+ * @example
243
+ * ```typescript
244
+ * // Get all linked Invoice records
245
+ * const items = await record.invoices.list();
246
+ * const first = await record.invoices.first();
247
+ *
248
+ * // Filter by label
249
+ * const specific = await record.invoices.first({ label: 'Invoice__BillingAdjustment' });
250
+ * ```
251
+ */
252
+ get invoices() {
253
+ var _a;
254
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
255
+ throw new Error('Cannot access links on a new (unsaved) record');
256
+ if (!this._invoices) {
257
+ this._invoices = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
258
+ sourceEntity: 'OrderModule:BillingAdjustment',
259
+ targetEntity: 'BillingModule:Invoice',
260
+ targetModuleName: 'BillingModule',
261
+ targetEntityName: 'Invoice',
262
+ labels: ['Invoice__BillingAdjustment'],
263
+ }, InvoiceRecord_1.InvoiceRecord);
264
+ }
265
+ return this._invoices;
266
+ }
142
267
  // ============================================
143
268
  // LINK MANAGEMENT
144
269
  // ============================================
@@ -255,6 +380,17 @@ class BillingAdjustmentRecord {
255
380
  }
256
381
  }
257
382
  exports.BillingAdjustmentRecord = BillingAdjustmentRecord;
383
+ // ============================================
384
+ // TYPED LINK ACCESSORS
385
+ // ============================================
386
+ /** Valid labels for Order associations */
387
+ BillingAdjustmentRecord.ordersLabels = ['Order__BillingAdjustment'];
388
+ /** Valid labels for Note associations */
389
+ BillingAdjustmentRecord.notesLabels = ['BillingAdjustment__Note'];
390
+ /** Valid labels for File associations */
391
+ BillingAdjustmentRecord.filesLabels = ['BillingAdjustment__File'];
392
+ /** Valid labels for Invoice associations */
393
+ BillingAdjustmentRecord.invoicesLabels = ['Invoice__BillingAdjustment'];
258
394
  /** Type guard to check if an object is a BillingAdjustmentRecord */
259
395
  function isBillingAdjustmentRecord(obj) {
260
396
  return obj instanceof BillingAdjustmentRecord;
@@ -13,13 +13,16 @@
13
13
  * await record.createBillingRequest({ ... }).execute();
14
14
  * ```
15
15
  *
16
+ * Entity Types: MANDATE, PAYMENT
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 { BillingRequestProperties } from '../entities-v2/BillingRequest';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
+ import { BillingRequestProperties, MandateBillingRequestProperties, PaymentBillingRequestProperties } from '../entities-v2/BillingRequest';
23
26
  import { BillingRequestMandateUpdateProperties } from '../actions-v2/BillingRequestMandateUpdateDto';
24
27
  import { BillingRequestPaymentCreateProperties } from '../actions-v2/BillingRequestPaymentCreateDto';
25
28
  import { BillingRequestPaymentUpdateProperties } from '../actions-v2/BillingRequestPaymentUpdateDto';
@@ -27,6 +30,14 @@ import { CancelBillingRequestProperties } from '../actions-v2/CancelBillingReque
27
30
  import { CancelBillingRequestFromPaymentProperties } from '../actions-v2/CancelBillingRequestFromPaymentDto';
28
31
  import { CreateBillingRequestForInvoicesProperties } from '../actions-v2/CreateBillingRequestForInvoicesDto';
29
32
  import { StartBillingRequestFlowProperties } from '../actions-v2/StartBillingRequestFlowDto';
33
+ import { InvoiceRecord } from './InvoiceRecord';
34
+ import { TransactionRecord } from './TransactionRecord';
35
+ import { NoteRecord } from './NoteRecord';
36
+ import { ActivityRecord } from './ActivityRecord';
37
+ import { ContactRecord } from './ContactRecord';
38
+ import { FileRecord } from './FileRecord';
39
+ /** Valid entity types for BillingRequest */
40
+ export declare type BillingRequestType = 'MANDATE' | 'PAYMENT';
30
41
  /**
31
42
  * Builder for action execution with dryRun support
32
43
  *
@@ -90,6 +101,13 @@ export declare class BillingRequestRecord<TProps = BillingRequestProperties> {
90
101
  private _provider;
91
102
  private _pendingLinks;
92
103
  private _preGeneratedId;
104
+ private _invoices?;
105
+ private _transactions?;
106
+ private _notes?;
107
+ private _activities?;
108
+ private _contacts?;
109
+ private _files?;
110
+ private _billingRequests?;
93
111
  /**
94
112
  * Create a record wrapper.
95
113
  * @param record - The underlying record, or null for create operations
@@ -102,7 +120,7 @@ export declare class BillingRequestRecord<TProps = BillingRequestProperties> {
102
120
  /** Record ID - always available (pre-generated for new records) */
103
121
  get id(): string;
104
122
  get entity(): string;
105
- get type(): string | undefined;
123
+ get type(): BillingRequestType | undefined;
106
124
  /** Record properties - empty object for new (unsaved) records */
107
125
  get properties(): TProps;
108
126
  get title(): string | undefined;
@@ -115,6 +133,164 @@ export declare class BillingRequestRecord<TProps = BillingRequestProperties> {
115
133
  get groups(): string[];
116
134
  /** Access the underlying OdinRecord (null for new records) */
117
135
  get record(): OdinRecord<TProps> | null;
136
+ /**
137
+ * Type guard: check if this record is of type MANDATE
138
+ *
139
+ * When this returns true, TypeScript automatically narrows the type,
140
+ * giving you access to MANDATE-specific properties.
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * if (record.isMandate()) {
145
+ * // TypeScript knows record.properties is MandateBillingRequestProperties
146
+ * console.log(record.properties.SomeTypeSpecificField);
147
+ * }
148
+ * ```
149
+ * @remarks mandate
150
+ */
151
+ isMandate(): this is BillingRequestRecord<MandateBillingRequestProperties>;
152
+ /**
153
+ * Type guard: check if this record is of type PAYMENT
154
+ *
155
+ * When this returns true, TypeScript automatically narrows the type,
156
+ * giving you access to PAYMENT-specific properties.
157
+ *
158
+ * @example
159
+ * ```typescript
160
+ * if (record.isPayment()) {
161
+ * // TypeScript knows record.properties is PaymentBillingRequestProperties
162
+ * console.log(record.properties.SomeTypeSpecificField);
163
+ * }
164
+ * ```
165
+ * @remarks payment
166
+ */
167
+ isPayment(): this is BillingRequestRecord<PaymentBillingRequestProperties>;
168
+ /** Valid labels for Invoice associations */
169
+ static readonly invoicesLabels: readonly ["BillingRequest__Invoice"];
170
+ /**
171
+ * Access linked Invoice records
172
+ * @remarks Available labels: BillingRequest__Invoice
173
+ * @throws Error if called on a new (unsaved) record
174
+ *
175
+ * @example
176
+ * ```typescript
177
+ * // Get all linked Invoice records
178
+ * const items = await record.invoices.list();
179
+ * const first = await record.invoices.first();
180
+ *
181
+ * // Filter by label
182
+ * const specific = await record.invoices.first({ label: 'BillingRequest__Invoice' });
183
+ * ```
184
+ */
185
+ get invoices(): RecordLinkManager<InvoiceRecord, typeof BillingRequestRecord['invoicesLabels'][number]>;
186
+ /** Valid labels for Transaction associations */
187
+ static readonly transactionsLabels: readonly ["BillingRequest__Transaction"];
188
+ /**
189
+ * Access linked Transaction records
190
+ * @remarks Available labels: BillingRequest__Transaction
191
+ * @throws Error if called on a new (unsaved) record
192
+ *
193
+ * @example
194
+ * ```typescript
195
+ * // Get all linked Transaction records
196
+ * const items = await record.transactions.list();
197
+ * const first = await record.transactions.first();
198
+ *
199
+ * // Filter by label
200
+ * const specific = await record.transactions.first({ label: 'BillingRequest__Transaction' });
201
+ * ```
202
+ */
203
+ get transactions(): RecordLinkManager<TransactionRecord, typeof BillingRequestRecord['transactionsLabels'][number]>;
204
+ /** Valid labels for Note associations */
205
+ static readonly notesLabels: readonly ["BillingRequest__Note"];
206
+ /**
207
+ * Access linked Note records
208
+ * @remarks Available labels: BillingRequest__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: 'BillingRequest__Note' });
219
+ * ```
220
+ */
221
+ get notes(): RecordLinkManager<NoteRecord, typeof BillingRequestRecord['notesLabels'][number]>;
222
+ /** Valid labels for Activity associations */
223
+ static readonly activitiesLabels: readonly ["BillingRequest__Activity"];
224
+ /**
225
+ * Access linked Activity records
226
+ * @remarks Available labels: BillingRequest__Activity
227
+ * @throws Error if called on a new (unsaved) record
228
+ *
229
+ * @example
230
+ * ```typescript
231
+ * // Get all linked Activity records
232
+ * const items = await record.activities.list();
233
+ * const first = await record.activities.first();
234
+ *
235
+ * // Filter by label
236
+ * const specific = await record.activities.first({ label: 'BillingRequest__Activity' });
237
+ * ```
238
+ */
239
+ get activities(): RecordLinkManager<ActivityRecord, typeof BillingRequestRecord['activitiesLabels'][number]>;
240
+ /** Valid labels for Contact associations */
241
+ static readonly contactsLabels: readonly ["Contact__BillingRequest"];
242
+ /**
243
+ * Access linked Contact records
244
+ * @remarks Available labels: Contact__BillingRequest
245
+ * @throws Error if called on a new (unsaved) record
246
+ *
247
+ * @example
248
+ * ```typescript
249
+ * // Get all linked Contact records
250
+ * const items = await record.contacts.list();
251
+ * const first = await record.contacts.first();
252
+ *
253
+ * // Filter by label
254
+ * const specific = await record.contacts.first({ label: 'Contact__BillingRequest' });
255
+ * ```
256
+ */
257
+ get contacts(): RecordLinkManager<ContactRecord, typeof BillingRequestRecord['contactsLabels'][number]>;
258
+ /** Valid labels for File associations */
259
+ static readonly filesLabels: readonly ["BillingRequest__File"];
260
+ /**
261
+ * Access linked File records
262
+ * @remarks Available labels: BillingRequest__File
263
+ * @throws Error if called on a new (unsaved) record
264
+ *
265
+ * @example
266
+ * ```typescript
267
+ * // Get all linked File records
268
+ * const items = await record.files.list();
269
+ * const first = await record.files.first();
270
+ *
271
+ * // Filter by label
272
+ * const specific = await record.files.first({ label: 'BillingRequest__File' });
273
+ * ```
274
+ */
275
+ get files(): RecordLinkManager<FileRecord, typeof BillingRequestRecord['filesLabels'][number]>;
276
+ /** Valid labels for BillingRequest associations */
277
+ static readonly billingRequestsLabels: readonly ["BillingRequest__BillingRequest"];
278
+ /**
279
+ * Access linked BillingRequest records
280
+ * @remarks Available labels: BillingRequest__BillingRequest
281
+ * @throws Error if called on a new (unsaved) record
282
+ *
283
+ * @example
284
+ * ```typescript
285
+ * // Get all linked BillingRequest records
286
+ * const items = await record.billingRequests.list();
287
+ * const first = await record.billingRequests.first();
288
+ *
289
+ * // Filter by label
290
+ * const specific = await record.billingRequests.first({ label: 'BillingRequest__BillingRequest' });
291
+ * ```
292
+ */
293
+ get billingRequests(): RecordLinkManager<BillingRequestRecord, typeof BillingRequestRecord['billingRequestsLabels'][number]>;
118
294
  /**
119
295
  * Queue a link to be created with the next action.
120
296
  * Works for both create and update actions.