@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
@@ -29,6 +29,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.isOrderCheckRecord = exports.OrderCheckRecord = 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");
32
34
  /**
33
35
  * Builder for action execution with dryRun support
34
36
  *
@@ -139,6 +141,36 @@ class OrderCheckRecord {
139
141
  get groups() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.groups) || []; }
140
142
  /** Access the underlying OdinRecord (null for new records) */
141
143
  get record() { return this._record; }
144
+ /**
145
+ * Access linked Order records
146
+ * @remarks Available labels: Order__OrderCheck
147
+ * @throws Error if called on a new (unsaved) record
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * // Get all linked Order records
152
+ * const items = await record.orders.list();
153
+ * const first = await record.orders.first();
154
+ *
155
+ * // Filter by label
156
+ * const specific = await record.orders.first({ label: 'Order__OrderCheck' });
157
+ * ```
158
+ */
159
+ get orders() {
160
+ var _a;
161
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
162
+ throw new Error('Cannot access links on a new (unsaved) record');
163
+ if (!this._orders) {
164
+ this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
165
+ sourceEntity: 'ServiceModule:OrderCheck',
166
+ targetEntity: 'OrderModule:Order',
167
+ targetModuleName: 'OrderModule',
168
+ targetEntityName: 'Order',
169
+ labels: ['Order__OrderCheck'],
170
+ }, OrderRecord_1.OrderRecord);
171
+ }
172
+ return this._orders;
173
+ }
142
174
  // ============================================
143
175
  // LINK MANAGEMENT
144
176
  // ============================================
@@ -255,6 +287,11 @@ class OrderCheckRecord {
255
287
  }
256
288
  }
257
289
  exports.OrderCheckRecord = OrderCheckRecord;
290
+ // ============================================
291
+ // TYPED LINK ACCESSORS
292
+ // ============================================
293
+ /** Valid labels for Order associations */
294
+ OrderCheckRecord.ordersLabels = ['Order__OrderCheck'];
258
295
  /** Type guard to check if an object is a OrderCheckRecord */
259
296
  function isOrderCheckRecord(obj) {
260
297
  return obj instanceof OrderCheckRecord;
@@ -19,11 +19,26 @@ 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 { OrderItemProperties } from '../entities-v2/OrderItem';
24
+ import { CreateOrderItemFromBrskProperties } from '../actions-v2/CreateOrderItemFromBrskDto';
23
25
  import { CreateRecontractOrderItemProperties } from '../actions-v2/CreateRecontractOrderItemDto';
24
26
  import { OrderItemUpdateProperties } from '../actions-v2/OrderItemUpdateDto';
25
27
  import { PriceMatchProperties } from '../actions-v2/PriceMatchDto';
26
28
  import { ReassociateOrderItemDevicesProperties } from '../actions-v2/ReassociateOrderItemDevicesDto';
29
+ import { CustomerDeviceRouterRecord } from './CustomerDeviceRouterRecord';
30
+ import { CustomerDeviceAtaRecord } from './CustomerDeviceAtaRecord';
31
+ import { OrderRecord } from './OrderRecord';
32
+ import { VoiceConfigurationRecord } from './VoiceConfigurationRecord';
33
+ import { NoteRecord } from './NoteRecord';
34
+ import { CustomerDeviceOntRecord } from './CustomerDeviceOntRecord';
35
+ import { OneTouchSwitchRecord } from './OneTouchSwitchRecord';
36
+ import { ActivityRecord } from './ActivityRecord';
37
+ import { WorkOrderRecord } from './WorkOrderRecord';
38
+ import { CustomerPhonePortingRecord } from './CustomerPhonePortingRecord';
39
+ import { ProductRecord } from './ProductRecord';
40
+ import { FileRecord } from './FileRecord';
41
+ import { OfferRecord } from './OfferRecord';
27
42
  /**
28
43
  * Builder for action execution with dryRun support
29
44
  *
@@ -87,6 +102,20 @@ export declare class OrderItemRecord<TProps = OrderItemProperties> {
87
102
  private _provider;
88
103
  private _pendingLinks;
89
104
  private _preGeneratedId;
105
+ private _customerDeviceRouters?;
106
+ private _customerDeviceAtas?;
107
+ private _orders?;
108
+ private _orderItems?;
109
+ private _voiceConfigurations?;
110
+ private _notes?;
111
+ private _customerDeviceOnts?;
112
+ private _oneTouchSwitches?;
113
+ private _activities?;
114
+ private _workOrders?;
115
+ private _customerPhonePortings?;
116
+ private _products?;
117
+ private _files?;
118
+ private _offers?;
90
119
  /**
91
120
  * Create a record wrapper.
92
121
  * @param record - The underlying record, or null for create operations
@@ -112,6 +141,258 @@ export declare class OrderItemRecord<TProps = OrderItemProperties> {
112
141
  get groups(): string[];
113
142
  /** Access the underlying OdinRecord (null for new records) */
114
143
  get record(): OdinRecord<TProps> | null;
144
+ /** Valid labels for CustomerDeviceRouter associations */
145
+ static readonly customerDeviceRoutersLabels: readonly ["OrderItem__CustomerDeviceRouter"];
146
+ /**
147
+ * Access linked CustomerDeviceRouter records
148
+ * @remarks Available labels: OrderItem__CustomerDeviceRouter
149
+ * @throws Error if called on a new (unsaved) record
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * // Get all linked CustomerDeviceRouter records
154
+ * const items = await record.customerDeviceRouters.list();
155
+ * const first = await record.customerDeviceRouters.first();
156
+ *
157
+ * // Filter by label
158
+ * const specific = await record.customerDeviceRouters.first({ label: 'OrderItem__CustomerDeviceRouter' });
159
+ * ```
160
+ */
161
+ get customerDeviceRouters(): RecordLinkManager<CustomerDeviceRouterRecord, typeof OrderItemRecord['customerDeviceRoutersLabels'][number]>;
162
+ /** Valid labels for CustomerDeviceAta associations */
163
+ static readonly customerDeviceAtasLabels: readonly ["OrderItem__CustomerDeviceAta"];
164
+ /**
165
+ * Access linked CustomerDeviceAta records
166
+ * @remarks Available labels: OrderItem__CustomerDeviceAta
167
+ * @throws Error if called on a new (unsaved) record
168
+ *
169
+ * @example
170
+ * ```typescript
171
+ * // Get all linked CustomerDeviceAta records
172
+ * const items = await record.customerDeviceAtas.list();
173
+ * const first = await record.customerDeviceAtas.first();
174
+ *
175
+ * // Filter by label
176
+ * const specific = await record.customerDeviceAtas.first({ label: 'OrderItem__CustomerDeviceAta' });
177
+ * ```
178
+ */
179
+ get customerDeviceAtas(): RecordLinkManager<CustomerDeviceAtaRecord, typeof OrderItemRecord['customerDeviceAtasLabels'][number]>;
180
+ /** Valid labels for Order associations */
181
+ static readonly ordersLabels: readonly ["Order_OrderItem"];
182
+ /**
183
+ * Access linked Order records
184
+ * @remarks Available labels: Order_OrderItem
185
+ * @throws Error if called on a new (unsaved) record
186
+ *
187
+ * @example
188
+ * ```typescript
189
+ * // Get all linked Order records
190
+ * const items = await record.orders.list();
191
+ * const first = await record.orders.first();
192
+ *
193
+ * // Filter by label
194
+ * const specific = await record.orders.first({ label: 'Order_OrderItem' });
195
+ * ```
196
+ */
197
+ get orders(): RecordLinkManager<OrderRecord, typeof OrderItemRecord['ordersLabels'][number]>;
198
+ /** Valid labels for OrderItem associations */
199
+ static readonly orderItemsLabels: readonly ["OrderItem__OrderItem"];
200
+ /**
201
+ * Access linked OrderItem records
202
+ * @remarks Available labels: OrderItem__OrderItem
203
+ * @throws Error if called on a new (unsaved) record
204
+ *
205
+ * @example
206
+ * ```typescript
207
+ * // Get all linked OrderItem records
208
+ * const items = await record.orderItems.list();
209
+ * const first = await record.orderItems.first();
210
+ *
211
+ * // Filter by label
212
+ * const specific = await record.orderItems.first({ label: 'OrderItem__OrderItem' });
213
+ * ```
214
+ */
215
+ get orderItems(): RecordLinkManager<OrderItemRecord, typeof OrderItemRecord['orderItemsLabels'][number]>;
216
+ /** Valid labels for VoiceConfiguration associations */
217
+ static readonly voiceConfigurationsLabels: readonly ["OrderItem__VoiceConfiguration"];
218
+ /**
219
+ * Access linked VoiceConfiguration records
220
+ * @remarks Available labels: OrderItem__VoiceConfiguration
221
+ * @throws Error if called on a new (unsaved) record
222
+ *
223
+ * @example
224
+ * ```typescript
225
+ * // Get all linked VoiceConfiguration records
226
+ * const items = await record.voiceConfigurations.list();
227
+ * const first = await record.voiceConfigurations.first();
228
+ *
229
+ * // Filter by label
230
+ * const specific = await record.voiceConfigurations.first({ label: 'OrderItem__VoiceConfiguration' });
231
+ * ```
232
+ */
233
+ get voiceConfigurations(): RecordLinkManager<VoiceConfigurationRecord, typeof OrderItemRecord['voiceConfigurationsLabels'][number]>;
234
+ /** Valid labels for Note associations */
235
+ static readonly notesLabels: readonly ["OrderItem__Note"];
236
+ /**
237
+ * Access linked Note records
238
+ * @remarks Available labels: OrderItem__Note
239
+ * @throws Error if called on a new (unsaved) record
240
+ *
241
+ * @example
242
+ * ```typescript
243
+ * // Get all linked Note records
244
+ * const items = await record.notes.list();
245
+ * const first = await record.notes.first();
246
+ *
247
+ * // Filter by label
248
+ * const specific = await record.notes.first({ label: 'OrderItem__Note' });
249
+ * ```
250
+ */
251
+ get notes(): RecordLinkManager<NoteRecord, typeof OrderItemRecord['notesLabels'][number]>;
252
+ /** Valid labels for CustomerDeviceOnt associations */
253
+ static readonly customerDeviceOntsLabels: readonly ["OrderItem__CustomerDeviceOnt"];
254
+ /**
255
+ * Access linked CustomerDeviceOnt records
256
+ * @remarks Available labels: OrderItem__CustomerDeviceOnt
257
+ * @throws Error if called on a new (unsaved) record
258
+ *
259
+ * @example
260
+ * ```typescript
261
+ * // Get all linked CustomerDeviceOnt records
262
+ * const items = await record.customerDeviceOnts.list();
263
+ * const first = await record.customerDeviceOnts.first();
264
+ *
265
+ * // Filter by label
266
+ * const specific = await record.customerDeviceOnts.first({ label: 'OrderItem__CustomerDeviceOnt' });
267
+ * ```
268
+ */
269
+ get customerDeviceOnts(): RecordLinkManager<CustomerDeviceOntRecord, typeof OrderItemRecord['customerDeviceOntsLabels'][number]>;
270
+ /** Valid labels for OneTouchSwitch associations */
271
+ static readonly oneTouchSwitchesLabels: readonly ["OneTouchSwitch__OrderItem"];
272
+ /**
273
+ * Access linked OneTouchSwitch records
274
+ * @remarks Available labels: OneTouchSwitch__OrderItem
275
+ * @throws Error if called on a new (unsaved) record
276
+ *
277
+ * @example
278
+ * ```typescript
279
+ * // Get all linked OneTouchSwitch records
280
+ * const items = await record.oneTouchSwitches.list();
281
+ * const first = await record.oneTouchSwitches.first();
282
+ *
283
+ * // Filter by label
284
+ * const specific = await record.oneTouchSwitches.first({ label: 'OneTouchSwitch__OrderItem' });
285
+ * ```
286
+ */
287
+ get oneTouchSwitches(): RecordLinkManager<OneTouchSwitchRecord, typeof OrderItemRecord['oneTouchSwitchesLabels'][number]>;
288
+ /** Valid labels for Activity associations */
289
+ static readonly activitiesLabels: readonly ["OrderItem__Activity"];
290
+ /**
291
+ * Access linked Activity records
292
+ * @remarks Available labels: OrderItem__Activity
293
+ * @throws Error if called on a new (unsaved) record
294
+ *
295
+ * @example
296
+ * ```typescript
297
+ * // Get all linked Activity records
298
+ * const items = await record.activities.list();
299
+ * const first = await record.activities.first();
300
+ *
301
+ * // Filter by label
302
+ * const specific = await record.activities.first({ label: 'OrderItem__Activity' });
303
+ * ```
304
+ */
305
+ get activities(): RecordLinkManager<ActivityRecord, typeof OrderItemRecord['activitiesLabels'][number]>;
306
+ /** Valid labels for WorkOrder associations */
307
+ static readonly workOrdersLabels: readonly ["WorkOrder__OrderItem"];
308
+ /**
309
+ * Access linked WorkOrder records
310
+ * @remarks Available labels: WorkOrder__OrderItem
311
+ * @throws Error if called on a new (unsaved) record
312
+ *
313
+ * @example
314
+ * ```typescript
315
+ * // Get all linked WorkOrder records
316
+ * const items = await record.workOrders.list();
317
+ * const first = await record.workOrders.first();
318
+ *
319
+ * // Filter by label
320
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__OrderItem' });
321
+ * ```
322
+ */
323
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof OrderItemRecord['workOrdersLabels'][number]>;
324
+ /** Valid labels for CustomerPhonePorting associations */
325
+ static readonly customerPhonePortingsLabels: readonly ["OrderItem__CustomerPhonePorting"];
326
+ /**
327
+ * Access linked CustomerPhonePorting records
328
+ * @remarks Available labels: OrderItem__CustomerPhonePorting
329
+ * @throws Error if called on a new (unsaved) record
330
+ *
331
+ * @example
332
+ * ```typescript
333
+ * // Get all linked CustomerPhonePorting records
334
+ * const items = await record.customerPhonePortings.list();
335
+ * const first = await record.customerPhonePortings.first();
336
+ *
337
+ * // Filter by label
338
+ * const specific = await record.customerPhonePortings.first({ label: 'OrderItem__CustomerPhonePorting' });
339
+ * ```
340
+ */
341
+ get customerPhonePortings(): RecordLinkManager<CustomerPhonePortingRecord, typeof OrderItemRecord['customerPhonePortingsLabels'][number]>;
342
+ /** Valid labels for Product associations */
343
+ static readonly productsLabels: readonly ["OrderItem__Product"];
344
+ /**
345
+ * Access linked Product records
346
+ * @remarks Available labels: OrderItem__Product
347
+ * @throws Error if called on a new (unsaved) record
348
+ *
349
+ * @example
350
+ * ```typescript
351
+ * // Get all linked Product records
352
+ * const items = await record.products.list();
353
+ * const first = await record.products.first();
354
+ *
355
+ * // Filter by label
356
+ * const specific = await record.products.first({ label: 'OrderItem__Product' });
357
+ * ```
358
+ */
359
+ get products(): RecordLinkManager<ProductRecord, typeof OrderItemRecord['productsLabels'][number]>;
360
+ /** Valid labels for File associations */
361
+ static readonly filesLabels: readonly ["OrderItem__File"];
362
+ /**
363
+ * Access linked File records
364
+ * @remarks Available labels: OrderItem__File
365
+ * @throws Error if called on a new (unsaved) record
366
+ *
367
+ * @example
368
+ * ```typescript
369
+ * // Get all linked File records
370
+ * const items = await record.files.list();
371
+ * const first = await record.files.first();
372
+ *
373
+ * // Filter by label
374
+ * const specific = await record.files.first({ label: 'OrderItem__File' });
375
+ * ```
376
+ */
377
+ get files(): RecordLinkManager<FileRecord, typeof OrderItemRecord['filesLabels'][number]>;
378
+ /** Valid labels for Offer associations */
379
+ static readonly offersLabels: readonly ["OrderItem__Offer"];
380
+ /**
381
+ * Access linked Offer records
382
+ * @remarks Available labels: OrderItem__Offer
383
+ * @throws Error if called on a new (unsaved) record
384
+ *
385
+ * @example
386
+ * ```typescript
387
+ * // Get all linked Offer records
388
+ * const items = await record.offers.list();
389
+ * const first = await record.offers.first();
390
+ *
391
+ * // Filter by label
392
+ * const specific = await record.offers.first({ label: 'OrderItem__Offer' });
393
+ * ```
394
+ */
395
+ get offers(): RecordLinkManager<OfferRecord, typeof OrderItemRecord['offersLabels'][number]>;
115
396
  /**
116
397
  * Queue a link to be created with the next action.
117
398
  * Works for both create and update actions.
@@ -133,6 +414,34 @@ export declare class OrderItemRecord<TProps = OrderItemProperties> {
133
414
  unlink(target: OdinRecord<any> | {
134
415
  id: string;
135
416
  } | string): Promise<void>;
417
+ /**
418
+ * CreateOrderItemFromBrsk
419
+ *
420
+ * Creates a new OrderItem record with the specified properties.
421
+ * Returns an ActionBuilder - call .execute() to create or .dryRun() for debugging.
422
+ *
423
+ * @param properties - The properties for the new record
424
+ * @param options - Optional settings
425
+ * @param options.type - Override the record type
426
+ * @param options.journeyId - Associate with a journey
427
+ * @param options.stageKey - Set initial pipeline stage
428
+ * @returns ActionBuilder - call .execute() to create or .dryRun() for payload
429
+ *
430
+ * @example
431
+ * ```typescript
432
+ * // Create with properties
433
+ * const record = odinClient.orderItems.new();
434
+ * await record.createOrderItemFromBrsk({ ... }).execute();
435
+ *
436
+ * // Dry run (for debugging)
437
+ * const payload = record.createOrderItemFromBrsk({ ... }).dryRun();
438
+ * ```
439
+ */
440
+ createOrderItemFromBrsk(properties?: CreateOrderItemFromBrskProperties, options?: {
441
+ type?: string;
442
+ journeyId?: string;
443
+ stageKey?: string;
444
+ }): ActionBuilder;
136
445
  /**
137
446
  * CreateRecontractOrderItem
138
447
  *