@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,20 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.isOrderItemRecord = exports.OrderItemRecord = 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 CustomerDeviceRouterRecord_1 = require("./CustomerDeviceRouterRecord");
34
+ const CustomerDeviceAtaRecord_1 = require("./CustomerDeviceAtaRecord");
35
+ const OrderRecord_1 = require("./OrderRecord");
36
+ const VoiceConfigurationRecord_1 = require("./VoiceConfigurationRecord");
37
+ const NoteRecord_1 = require("./NoteRecord");
38
+ const CustomerDeviceOntRecord_1 = require("./CustomerDeviceOntRecord");
39
+ const OneTouchSwitchRecord_1 = require("./OneTouchSwitchRecord");
40
+ const ActivityRecord_1 = require("./ActivityRecord");
41
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
42
+ const CustomerPhonePortingRecord_1 = require("./CustomerPhonePortingRecord");
43
+ const ProductRecord_1 = require("./ProductRecord");
44
+ const FileRecord_1 = require("./FileRecord");
45
+ const OfferRecord_1 = require("./OfferRecord");
32
46
  /**
33
47
  * Builder for action execution with dryRun support
34
48
  *
@@ -139,6 +153,426 @@ class OrderItemRecord {
139
153
  get groups() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.groups) || []; }
140
154
  /** Access the underlying OdinRecord (null for new records) */
141
155
  get record() { return this._record; }
156
+ /**
157
+ * Access linked CustomerDeviceRouter records
158
+ * @remarks Available labels: OrderItem__CustomerDeviceRouter
159
+ * @throws Error if called on a new (unsaved) record
160
+ *
161
+ * @example
162
+ * ```typescript
163
+ * // Get all linked CustomerDeviceRouter records
164
+ * const items = await record.customerDeviceRouters.list();
165
+ * const first = await record.customerDeviceRouters.first();
166
+ *
167
+ * // Filter by label
168
+ * const specific = await record.customerDeviceRouters.first({ label: 'OrderItem__CustomerDeviceRouter' });
169
+ * ```
170
+ */
171
+ get customerDeviceRouters() {
172
+ var _a;
173
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
174
+ throw new Error('Cannot access links on a new (unsaved) record');
175
+ if (!this._customerDeviceRouters) {
176
+ this._customerDeviceRouters = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
177
+ sourceEntity: 'OrderModule:OrderItem',
178
+ targetEntity: 'ServiceModule:CustomerDeviceRouter',
179
+ targetModuleName: 'ServiceModule',
180
+ targetEntityName: 'CustomerDeviceRouter',
181
+ labels: ['OrderItem__CustomerDeviceRouter'],
182
+ }, CustomerDeviceRouterRecord_1.CustomerDeviceRouterRecord);
183
+ }
184
+ return this._customerDeviceRouters;
185
+ }
186
+ /**
187
+ * Access linked CustomerDeviceAta records
188
+ * @remarks Available labels: OrderItem__CustomerDeviceAta
189
+ * @throws Error if called on a new (unsaved) record
190
+ *
191
+ * @example
192
+ * ```typescript
193
+ * // Get all linked CustomerDeviceAta records
194
+ * const items = await record.customerDeviceAtas.list();
195
+ * const first = await record.customerDeviceAtas.first();
196
+ *
197
+ * // Filter by label
198
+ * const specific = await record.customerDeviceAtas.first({ label: 'OrderItem__CustomerDeviceAta' });
199
+ * ```
200
+ */
201
+ get customerDeviceAtas() {
202
+ var _a;
203
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
204
+ throw new Error('Cannot access links on a new (unsaved) record');
205
+ if (!this._customerDeviceAtas) {
206
+ this._customerDeviceAtas = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
207
+ sourceEntity: 'OrderModule:OrderItem',
208
+ targetEntity: 'ServiceModule:CustomerDeviceAta',
209
+ targetModuleName: 'ServiceModule',
210
+ targetEntityName: 'CustomerDeviceAta',
211
+ labels: ['OrderItem__CustomerDeviceAta'],
212
+ }, CustomerDeviceAtaRecord_1.CustomerDeviceAtaRecord);
213
+ }
214
+ return this._customerDeviceAtas;
215
+ }
216
+ /**
217
+ * Access linked Order records
218
+ * @remarks Available labels: Order_OrderItem
219
+ * @throws Error if called on a new (unsaved) record
220
+ *
221
+ * @example
222
+ * ```typescript
223
+ * // Get all linked Order records
224
+ * const items = await record.orders.list();
225
+ * const first = await record.orders.first();
226
+ *
227
+ * // Filter by label
228
+ * const specific = await record.orders.first({ label: 'Order_OrderItem' });
229
+ * ```
230
+ */
231
+ get orders() {
232
+ var _a;
233
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
234
+ throw new Error('Cannot access links on a new (unsaved) record');
235
+ if (!this._orders) {
236
+ this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
237
+ sourceEntity: 'OrderModule:OrderItem',
238
+ targetEntity: 'OrderModule:Order',
239
+ targetModuleName: 'OrderModule',
240
+ targetEntityName: 'Order',
241
+ labels: ['Order_OrderItem'],
242
+ }, OrderRecord_1.OrderRecord);
243
+ }
244
+ return this._orders;
245
+ }
246
+ /**
247
+ * Access linked OrderItem records
248
+ * @remarks Available labels: OrderItem__OrderItem
249
+ * @throws Error if called on a new (unsaved) record
250
+ *
251
+ * @example
252
+ * ```typescript
253
+ * // Get all linked OrderItem records
254
+ * const items = await record.orderItems.list();
255
+ * const first = await record.orderItems.first();
256
+ *
257
+ * // Filter by label
258
+ * const specific = await record.orderItems.first({ label: 'OrderItem__OrderItem' });
259
+ * ```
260
+ */
261
+ get orderItems() {
262
+ var _a;
263
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
264
+ throw new Error('Cannot access links on a new (unsaved) record');
265
+ if (!this._orderItems) {
266
+ this._orderItems = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
267
+ sourceEntity: 'OrderModule:OrderItem',
268
+ targetEntity: 'OrderModule:OrderItem',
269
+ targetModuleName: 'OrderModule',
270
+ targetEntityName: 'OrderItem',
271
+ labels: ['OrderItem__OrderItem'],
272
+ }, OrderItemRecord);
273
+ }
274
+ return this._orderItems;
275
+ }
276
+ /**
277
+ * Access linked VoiceConfiguration records
278
+ * @remarks Available labels: OrderItem__VoiceConfiguration
279
+ * @throws Error if called on a new (unsaved) record
280
+ *
281
+ * @example
282
+ * ```typescript
283
+ * // Get all linked VoiceConfiguration records
284
+ * const items = await record.voiceConfigurations.list();
285
+ * const first = await record.voiceConfigurations.first();
286
+ *
287
+ * // Filter by label
288
+ * const specific = await record.voiceConfigurations.first({ label: 'OrderItem__VoiceConfiguration' });
289
+ * ```
290
+ */
291
+ get voiceConfigurations() {
292
+ var _a;
293
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
294
+ throw new Error('Cannot access links on a new (unsaved) record');
295
+ if (!this._voiceConfigurations) {
296
+ this._voiceConfigurations = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
297
+ sourceEntity: 'OrderModule:OrderItem',
298
+ targetEntity: 'ServiceModule:VoiceConfiguration',
299
+ targetModuleName: 'ServiceModule',
300
+ targetEntityName: 'VoiceConfiguration',
301
+ labels: ['OrderItem__VoiceConfiguration'],
302
+ }, VoiceConfigurationRecord_1.VoiceConfigurationRecord);
303
+ }
304
+ return this._voiceConfigurations;
305
+ }
306
+ /**
307
+ * Access linked Note records
308
+ * @remarks Available labels: OrderItem__Note
309
+ * @throws Error if called on a new (unsaved) record
310
+ *
311
+ * @example
312
+ * ```typescript
313
+ * // Get all linked Note records
314
+ * const items = await record.notes.list();
315
+ * const first = await record.notes.first();
316
+ *
317
+ * // Filter by label
318
+ * const specific = await record.notes.first({ label: 'OrderItem__Note' });
319
+ * ```
320
+ */
321
+ get notes() {
322
+ var _a;
323
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
324
+ throw new Error('Cannot access links on a new (unsaved) record');
325
+ if (!this._notes) {
326
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
327
+ sourceEntity: 'OrderModule:OrderItem',
328
+ targetEntity: 'SupportModule:Note',
329
+ targetModuleName: 'SupportModule',
330
+ targetEntityName: 'Note',
331
+ labels: ['OrderItem__Note'],
332
+ }, NoteRecord_1.NoteRecord);
333
+ }
334
+ return this._notes;
335
+ }
336
+ /**
337
+ * Access linked CustomerDeviceOnt records
338
+ * @remarks Available labels: OrderItem__CustomerDeviceOnt
339
+ * @throws Error if called on a new (unsaved) record
340
+ *
341
+ * @example
342
+ * ```typescript
343
+ * // Get all linked CustomerDeviceOnt records
344
+ * const items = await record.customerDeviceOnts.list();
345
+ * const first = await record.customerDeviceOnts.first();
346
+ *
347
+ * // Filter by label
348
+ * const specific = await record.customerDeviceOnts.first({ label: 'OrderItem__CustomerDeviceOnt' });
349
+ * ```
350
+ */
351
+ get customerDeviceOnts() {
352
+ var _a;
353
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
354
+ throw new Error('Cannot access links on a new (unsaved) record');
355
+ if (!this._customerDeviceOnts) {
356
+ this._customerDeviceOnts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
357
+ sourceEntity: 'OrderModule:OrderItem',
358
+ targetEntity: 'ServiceModule:CustomerDeviceOnt',
359
+ targetModuleName: 'ServiceModule',
360
+ targetEntityName: 'CustomerDeviceOnt',
361
+ labels: ['OrderItem__CustomerDeviceOnt'],
362
+ }, CustomerDeviceOntRecord_1.CustomerDeviceOntRecord);
363
+ }
364
+ return this._customerDeviceOnts;
365
+ }
366
+ /**
367
+ * Access linked OneTouchSwitch records
368
+ * @remarks Available labels: OneTouchSwitch__OrderItem
369
+ * @throws Error if called on a new (unsaved) record
370
+ *
371
+ * @example
372
+ * ```typescript
373
+ * // Get all linked OneTouchSwitch records
374
+ * const items = await record.oneTouchSwitches.list();
375
+ * const first = await record.oneTouchSwitches.first();
376
+ *
377
+ * // Filter by label
378
+ * const specific = await record.oneTouchSwitches.first({ label: 'OneTouchSwitch__OrderItem' });
379
+ * ```
380
+ */
381
+ get oneTouchSwitches() {
382
+ var _a;
383
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
384
+ throw new Error('Cannot access links on a new (unsaved) record');
385
+ if (!this._oneTouchSwitches) {
386
+ this._oneTouchSwitches = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
387
+ sourceEntity: 'OrderModule:OrderItem',
388
+ targetEntity: 'OrderModule:OneTouchSwitch',
389
+ targetModuleName: 'OrderModule',
390
+ targetEntityName: 'OneTouchSwitch',
391
+ labels: ['OneTouchSwitch__OrderItem'],
392
+ }, OneTouchSwitchRecord_1.OneTouchSwitchRecord);
393
+ }
394
+ return this._oneTouchSwitches;
395
+ }
396
+ /**
397
+ * Access linked Activity records
398
+ * @remarks Available labels: OrderItem__Activity
399
+ * @throws Error if called on a new (unsaved) record
400
+ *
401
+ * @example
402
+ * ```typescript
403
+ * // Get all linked Activity records
404
+ * const items = await record.activities.list();
405
+ * const first = await record.activities.first();
406
+ *
407
+ * // Filter by label
408
+ * const specific = await record.activities.first({ label: 'OrderItem__Activity' });
409
+ * ```
410
+ */
411
+ get activities() {
412
+ var _a;
413
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
414
+ throw new Error('Cannot access links on a new (unsaved) record');
415
+ if (!this._activities) {
416
+ this._activities = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
417
+ sourceEntity: 'OrderModule:OrderItem',
418
+ targetEntity: 'SchemaModule:Activity',
419
+ targetModuleName: 'SchemaModule',
420
+ targetEntityName: 'Activity',
421
+ labels: ['OrderItem__Activity'],
422
+ }, ActivityRecord_1.ActivityRecord);
423
+ }
424
+ return this._activities;
425
+ }
426
+ /**
427
+ * Access linked WorkOrder records
428
+ * @remarks Available labels: WorkOrder__OrderItem
429
+ * @throws Error if called on a new (unsaved) record
430
+ *
431
+ * @example
432
+ * ```typescript
433
+ * // Get all linked WorkOrder records
434
+ * const items = await record.workOrders.list();
435
+ * const first = await record.workOrders.first();
436
+ *
437
+ * // Filter by label
438
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__OrderItem' });
439
+ * ```
440
+ */
441
+ get workOrders() {
442
+ var _a;
443
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
444
+ throw new Error('Cannot access links on a new (unsaved) record');
445
+ if (!this._workOrders) {
446
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
447
+ sourceEntity: 'OrderModule:OrderItem',
448
+ targetEntity: 'FieldServiceModule:WorkOrder',
449
+ targetModuleName: 'FieldServiceModule',
450
+ targetEntityName: 'WorkOrder',
451
+ labels: ['WorkOrder__OrderItem'],
452
+ }, WorkOrderRecord_1.WorkOrderRecord);
453
+ }
454
+ return this._workOrders;
455
+ }
456
+ /**
457
+ * Access linked CustomerPhonePorting records
458
+ * @remarks Available labels: OrderItem__CustomerPhonePorting
459
+ * @throws Error if called on a new (unsaved) record
460
+ *
461
+ * @example
462
+ * ```typescript
463
+ * // Get all linked CustomerPhonePorting records
464
+ * const items = await record.customerPhonePortings.list();
465
+ * const first = await record.customerPhonePortings.first();
466
+ *
467
+ * // Filter by label
468
+ * const specific = await record.customerPhonePortings.first({ label: 'OrderItem__CustomerPhonePorting' });
469
+ * ```
470
+ */
471
+ get customerPhonePortings() {
472
+ var _a;
473
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
474
+ throw new Error('Cannot access links on a new (unsaved) record');
475
+ if (!this._customerPhonePortings) {
476
+ this._customerPhonePortings = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
477
+ sourceEntity: 'OrderModule:OrderItem',
478
+ targetEntity: 'ServiceModule:CustomerPhonePorting',
479
+ targetModuleName: 'ServiceModule',
480
+ targetEntityName: 'CustomerPhonePorting',
481
+ labels: ['OrderItem__CustomerPhonePorting'],
482
+ }, CustomerPhonePortingRecord_1.CustomerPhonePortingRecord);
483
+ }
484
+ return this._customerPhonePortings;
485
+ }
486
+ /**
487
+ * Access linked Product records
488
+ * @remarks Available labels: OrderItem__Product
489
+ * @throws Error if called on a new (unsaved) record
490
+ *
491
+ * @example
492
+ * ```typescript
493
+ * // Get all linked Product records
494
+ * const items = await record.products.list();
495
+ * const first = await record.products.first();
496
+ *
497
+ * // Filter by label
498
+ * const specific = await record.products.first({ label: 'OrderItem__Product' });
499
+ * ```
500
+ */
501
+ get products() {
502
+ var _a;
503
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
504
+ throw new Error('Cannot access links on a new (unsaved) record');
505
+ if (!this._products) {
506
+ this._products = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
507
+ sourceEntity: 'OrderModule:OrderItem',
508
+ targetEntity: 'ProductModule:Product',
509
+ targetModuleName: 'ProductModule',
510
+ targetEntityName: 'Product',
511
+ labels: ['OrderItem__Product'],
512
+ }, ProductRecord_1.ProductRecord);
513
+ }
514
+ return this._products;
515
+ }
516
+ /**
517
+ * Access linked File records
518
+ * @remarks Available labels: OrderItem__File
519
+ * @throws Error if called on a new (unsaved) record
520
+ *
521
+ * @example
522
+ * ```typescript
523
+ * // Get all linked File records
524
+ * const items = await record.files.list();
525
+ * const first = await record.files.first();
526
+ *
527
+ * // Filter by label
528
+ * const specific = await record.files.first({ label: 'OrderItem__File' });
529
+ * ```
530
+ */
531
+ get files() {
532
+ var _a;
533
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
534
+ throw new Error('Cannot access links on a new (unsaved) record');
535
+ if (!this._files) {
536
+ this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
537
+ sourceEntity: 'OrderModule:OrderItem',
538
+ targetEntity: 'SchemaModule:File',
539
+ targetModuleName: 'SchemaModule',
540
+ targetEntityName: 'File',
541
+ labels: ['OrderItem__File'],
542
+ }, FileRecord_1.FileRecord);
543
+ }
544
+ return this._files;
545
+ }
546
+ /**
547
+ * Access linked Offer records
548
+ * @remarks Available labels: OrderItem__Offer
549
+ * @throws Error if called on a new (unsaved) record
550
+ *
551
+ * @example
552
+ * ```typescript
553
+ * // Get all linked Offer records
554
+ * const items = await record.offers.list();
555
+ * const first = await record.offers.first();
556
+ *
557
+ * // Filter by label
558
+ * const specific = await record.offers.first({ label: 'OrderItem__Offer' });
559
+ * ```
560
+ */
561
+ get offers() {
562
+ var _a;
563
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
564
+ throw new Error('Cannot access links on a new (unsaved) record');
565
+ if (!this._offers) {
566
+ this._offers = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
567
+ sourceEntity: 'OrderModule:OrderItem',
568
+ targetEntity: 'ProductModule:Offer',
569
+ targetModuleName: 'ProductModule',
570
+ targetEntityName: 'Offer',
571
+ labels: ['OrderItem__Offer'],
572
+ }, OfferRecord_1.OfferRecord);
573
+ }
574
+ return this._offers;
575
+ }
142
576
  // ============================================
143
577
  // LINK MANAGEMENT
144
578
  // ============================================
@@ -177,6 +611,42 @@ class OrderItemRecord {
177
611
  // ============================================
178
612
  // CREATE ACTIONS (no existing record required)
179
613
  // ============================================
614
+ /**
615
+ * CreateOrderItemFromBrsk
616
+ *
617
+ * Creates a new OrderItem record with the specified properties.
618
+ * Returns an ActionBuilder - call .execute() to create or .dryRun() for debugging.
619
+ *
620
+ * @param properties - The properties for the new record
621
+ * @param options - Optional settings
622
+ * @param options.type - Override the record type
623
+ * @param options.journeyId - Associate with a journey
624
+ * @param options.stageKey - Set initial pipeline stage
625
+ * @returns ActionBuilder - call .execute() to create or .dryRun() for payload
626
+ *
627
+ * @example
628
+ * ```typescript
629
+ * // Create with properties
630
+ * const record = odinClient.orderItems.new();
631
+ * await record.createOrderItemFromBrsk({ ... }).execute();
632
+ *
633
+ * // Dry run (for debugging)
634
+ * const payload = record.createOrderItemFromBrsk({ ... }).dryRun();
635
+ * ```
636
+ */
637
+ createOrderItemFromBrsk(properties, options) {
638
+ var _a, _b;
639
+ const payload = {
640
+ entity: 'OrderModule:OrderItem',
641
+ type: (_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : (_b = this._record) === null || _b === void 0 ? void 0 : _b.type,
642
+ actionName: 'CreateOrderItemFromBrsk',
643
+ properties: properties || {},
644
+ associations: this._pendingLinks.length > 0 ? this._pendingLinks : undefined,
645
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
646
+ stageKey: options === null || options === void 0 ? void 0 : options.stageKey,
647
+ };
648
+ return new ActionBuilder(this._provider, 'OrderModule', 'OrderItem', payload, () => { this._pendingLinks = []; });
649
+ }
180
650
  /**
181
651
  * CreateRecontractOrderItem
182
652
  *
@@ -321,6 +791,37 @@ class OrderItemRecord {
321
791
  }
322
792
  }
323
793
  exports.OrderItemRecord = OrderItemRecord;
794
+ // ============================================
795
+ // TYPED LINK ACCESSORS
796
+ // ============================================
797
+ /** Valid labels for CustomerDeviceRouter associations */
798
+ OrderItemRecord.customerDeviceRoutersLabels = ['OrderItem__CustomerDeviceRouter'];
799
+ /** Valid labels for CustomerDeviceAta associations */
800
+ OrderItemRecord.customerDeviceAtasLabels = ['OrderItem__CustomerDeviceAta'];
801
+ /** Valid labels for Order associations */
802
+ OrderItemRecord.ordersLabels = ['Order_OrderItem'];
803
+ /** Valid labels for OrderItem associations */
804
+ OrderItemRecord.orderItemsLabels = ['OrderItem__OrderItem'];
805
+ /** Valid labels for VoiceConfiguration associations */
806
+ OrderItemRecord.voiceConfigurationsLabels = ['OrderItem__VoiceConfiguration'];
807
+ /** Valid labels for Note associations */
808
+ OrderItemRecord.notesLabels = ['OrderItem__Note'];
809
+ /** Valid labels for CustomerDeviceOnt associations */
810
+ OrderItemRecord.customerDeviceOntsLabels = ['OrderItem__CustomerDeviceOnt'];
811
+ /** Valid labels for OneTouchSwitch associations */
812
+ OrderItemRecord.oneTouchSwitchesLabels = ['OneTouchSwitch__OrderItem'];
813
+ /** Valid labels for Activity associations */
814
+ OrderItemRecord.activitiesLabels = ['OrderItem__Activity'];
815
+ /** Valid labels for WorkOrder associations */
816
+ OrderItemRecord.workOrdersLabels = ['WorkOrder__OrderItem'];
817
+ /** Valid labels for CustomerPhonePorting associations */
818
+ OrderItemRecord.customerPhonePortingsLabels = ['OrderItem__CustomerPhonePorting'];
819
+ /** Valid labels for Product associations */
820
+ OrderItemRecord.productsLabels = ['OrderItem__Product'];
821
+ /** Valid labels for File associations */
822
+ OrderItemRecord.filesLabels = ['OrderItem__File'];
823
+ /** Valid labels for Offer associations */
824
+ OrderItemRecord.offersLabels = ['OrderItem__Offer'];
324
825
  /** Type guard to check if an object is a OrderItemRecord */
325
826
  function isOrderItemRecord(obj) {
326
827
  return obj instanceof OrderItemRecord;
@@ -13,14 +13,20 @@
13
13
  * await record.createOrderKci({ ... }).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 { OrderKciProperties } from '../entities-v2/OrderKci';
23
26
  import { CreateOrderKciProperties } from '../actions-v2/CreateOrderKciDto';
27
+ import { OrderRecord } from './OrderRecord';
28
+ /** Valid entity types for OrderKci */
29
+ export declare type OrderKciType = 'DEFAULT';
24
30
  /**
25
31
  * Builder for action execution with dryRun support
26
32
  *
@@ -84,6 +90,7 @@ export declare class OrderKciRecord<TProps = OrderKciProperties> {
84
90
  private _provider;
85
91
  private _pendingLinks;
86
92
  private _preGeneratedId;
93
+ private _orders?;
87
94
  /**
88
95
  * Create a record wrapper.
89
96
  * @param record - The underlying record, or null for create operations
@@ -96,7 +103,7 @@ export declare class OrderKciRecord<TProps = OrderKciProperties> {
96
103
  /** Record ID - always available (pre-generated for new records) */
97
104
  get id(): string;
98
105
  get entity(): string;
99
- get type(): string | undefined;
106
+ get type(): OrderKciType | undefined;
100
107
  /** Record properties - empty object for new (unsaved) records */
101
108
  get properties(): TProps;
102
109
  get title(): string | undefined;
@@ -109,6 +116,40 @@ export declare class OrderKciRecord<TProps = OrderKciProperties> {
109
116
  get groups(): string[];
110
117
  /** Access the underlying OdinRecord (null for new records) */
111
118
  get record(): OdinRecord<TProps> | null;
119
+ /**
120
+ * Type guard: check if this record is of type DEFAULT
121
+ *
122
+ * When this returns true, TypeScript automatically narrows the type,
123
+ * giving you access to DEFAULT-specific properties.
124
+ *
125
+ * @example
126
+ * ```typescript
127
+ * if (record.isDefault()) {
128
+ * // TypeScript knows record.properties is OrderKciProperties
129
+ * console.log(record.properties.SomeTypeSpecificField);
130
+ * }
131
+ * ```
132
+ * @remarks This is the default record type
133
+ */
134
+ isDefault(): this is OrderKciRecord<OrderKciProperties>;
135
+ /** Valid labels for Order associations */
136
+ static readonly ordersLabels: readonly ["Order__OrderKci"];
137
+ /**
138
+ * Access linked Order records
139
+ * @remarks Available labels: Order__OrderKci
140
+ * @throws Error if called on a new (unsaved) record
141
+ *
142
+ * @example
143
+ * ```typescript
144
+ * // Get all linked Order records
145
+ * const items = await record.orders.list();
146
+ * const first = await record.orders.first();
147
+ *
148
+ * // Filter by label
149
+ * const specific = await record.orders.first({ label: 'Order__OrderKci' });
150
+ * ```
151
+ */
152
+ get orders(): RecordLinkManager<OrderRecord, typeof OrderKciRecord['ordersLabels'][number]>;
112
153
  /**
113
154
  * Queue a link to be created with the next action.
114
155
  * Works for both create and update actions.
@@ -14,6 +14,8 @@
14
14
  * await record.createOrderKci({ ... }).execute();
15
15
  * ```
16
16
  *
17
+ * Entity Types: DEFAULT
18
+ *
17
19
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
18
20
  */
19
21
  var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
@@ -29,6 +31,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
31
  exports.isOrderKciRecord = exports.OrderKciRecord = void 0;
30
32
  const uuid_1 = require("uuid");
31
33
  const core_1 = require("@d19n/odin-types/dist/core");
34
+ const record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/record-link-manager");
35
+ const OrderRecord_1 = require("./OrderRecord");
32
36
  /**
33
37
  * Builder for action execution with dryRun support
34
38
  *
@@ -140,6 +144,55 @@ class OrderKciRecord {
140
144
  /** Access the underlying OdinRecord (null for new records) */
141
145
  get record() { return this._record; }
142
146
  // ============================================
147
+ // TYPE GUARDS (with TypeScript type predicates)
148
+ // ============================================
149
+ /**
150
+ * Type guard: check if this record is of type DEFAULT
151
+ *
152
+ * When this returns true, TypeScript automatically narrows the type,
153
+ * giving you access to DEFAULT-specific properties.
154
+ *
155
+ * @example
156
+ * ```typescript
157
+ * if (record.isDefault()) {
158
+ * // TypeScript knows record.properties is OrderKciProperties
159
+ * console.log(record.properties.SomeTypeSpecificField);
160
+ * }
161
+ * ```
162
+ * @remarks This is the default record type
163
+ */
164
+ isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
165
+ /**
166
+ * Access linked Order records
167
+ * @remarks Available labels: Order__OrderKci
168
+ * @throws Error if called on a new (unsaved) record
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * // Get all linked Order records
173
+ * const items = await record.orders.list();
174
+ * const first = await record.orders.first();
175
+ *
176
+ * // Filter by label
177
+ * const specific = await record.orders.first({ label: 'Order__OrderKci' });
178
+ * ```
179
+ */
180
+ get orders() {
181
+ var _a;
182
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
183
+ throw new Error('Cannot access links on a new (unsaved) record');
184
+ if (!this._orders) {
185
+ this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
186
+ sourceEntity: 'OrderModule:OrderKci',
187
+ targetEntity: 'OrderModule:Order',
188
+ targetModuleName: 'OrderModule',
189
+ targetEntityName: 'Order',
190
+ labels: ['Order__OrderKci'],
191
+ }, OrderRecord_1.OrderRecord);
192
+ }
193
+ return this._orders;
194
+ }
195
+ // ============================================
143
196
  // LINK MANAGEMENT
144
197
  // ============================================
145
198
  /**
@@ -215,6 +268,11 @@ class OrderKciRecord {
215
268
  }
216
269
  }
217
270
  exports.OrderKciRecord = OrderKciRecord;
271
+ // ============================================
272
+ // TYPED LINK ACCESSORS
273
+ // ============================================
274
+ /** Valid labels for Order associations */
275
+ OrderKciRecord.ordersLabels = ['Order__OrderKci'];
218
276
  /** Type guard to check if an object is a OrderKciRecord */
219
277
  function isOrderKciRecord(obj) {
220
278
  return obj instanceof OrderKciRecord;