@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
@@ -14,6 +14,8 @@
14
14
  * await record.createOneTouchSwitch({ ... }).execute();
15
15
  * ```
16
16
  *
17
+ * Entity Types: DEFAULT, GAINING, LOSING
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,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
31
  exports.isOneTouchSwitchRecord = exports.OneTouchSwitchRecord = 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 AccountRecord_1 = require("./AccountRecord");
36
+ const AddressRecord_1 = require("./AddressRecord");
37
+ const InvoiceRecord_1 = require("./InvoiceRecord");
38
+ const NoteRecord_1 = require("./NoteRecord");
39
+ const ActivityRecord_1 = require("./ActivityRecord");
40
+ const OrderItemRecord_1 = require("./OrderItemRecord");
41
+ const ActivityLogRecord_1 = require("./ActivityLogRecord");
42
+ const FileRecord_1 = require("./FileRecord");
43
+ const OrderRecord_1 = require("./OrderRecord");
44
+ const ContactRecord_1 = require("./ContactRecord");
32
45
  /**
33
46
  * Builder for action execution with dryRun support
34
47
  *
@@ -140,6 +153,357 @@ class OneTouchSwitchRecord {
140
153
  /** Access the underlying OdinRecord (null for new records) */
141
154
  get record() { return this._record; }
142
155
  // ============================================
156
+ // TYPE GUARDS (with TypeScript type predicates)
157
+ // ============================================
158
+ /**
159
+ * Type guard: check if this record is of type DEFAULT
160
+ *
161
+ * When this returns true, TypeScript automatically narrows the type,
162
+ * giving you access to DEFAULT-specific properties.
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * if (record.isDefault()) {
167
+ * // TypeScript knows record.properties is OneTouchSwitchProperties
168
+ * console.log(record.properties.SomeTypeSpecificField);
169
+ * }
170
+ * ```
171
+ * @remarks This is the default record type
172
+ */
173
+ isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
174
+ /**
175
+ * Type guard: check if this record is of type GAINING
176
+ *
177
+ * When this returns true, TypeScript automatically narrows the type,
178
+ * giving you access to GAINING-specific properties.
179
+ *
180
+ * @example
181
+ * ```typescript
182
+ * if (record.isGaining()) {
183
+ * // TypeScript knows record.properties is GainingOneTouchSwitchProperties
184
+ * console.log(record.properties.SomeTypeSpecificField);
185
+ * }
186
+ * ```
187
+ * @remarks gaining
188
+ */
189
+ isGaining() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'GAINING'; }
190
+ /**
191
+ * Type guard: check if this record is of type LOSING
192
+ *
193
+ * When this returns true, TypeScript automatically narrows the type,
194
+ * giving you access to LOSING-specific properties.
195
+ *
196
+ * @example
197
+ * ```typescript
198
+ * if (record.isLosing()) {
199
+ * // TypeScript knows record.properties is LosingOneTouchSwitchProperties
200
+ * console.log(record.properties.SomeTypeSpecificField);
201
+ * }
202
+ * ```
203
+ * @remarks losing
204
+ */
205
+ isLosing() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'LOSING'; }
206
+ /**
207
+ * Access linked Account records
208
+ * @remarks Available labels: Account__OneTouchSwitch
209
+ * @throws Error if called on a new (unsaved) record
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * // Get all linked Account records
214
+ * const items = await record.accounts.list();
215
+ * const first = await record.accounts.first();
216
+ *
217
+ * // Filter by label
218
+ * const specific = await record.accounts.first({ label: 'Account__OneTouchSwitch' });
219
+ * ```
220
+ */
221
+ get accounts() {
222
+ var _a;
223
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
224
+ throw new Error('Cannot access links on a new (unsaved) record');
225
+ if (!this._accounts) {
226
+ this._accounts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
227
+ sourceEntity: 'OrderModule:OneTouchSwitch',
228
+ targetEntity: 'CrmModule:Account',
229
+ targetModuleName: 'CrmModule',
230
+ targetEntityName: 'Account',
231
+ labels: ['Account__OneTouchSwitch'],
232
+ }, AccountRecord_1.AccountRecord);
233
+ }
234
+ return this._accounts;
235
+ }
236
+ /**
237
+ * Access linked Address records
238
+ * @remarks Available labels: OneTouchSwitch__Address
239
+ * @throws Error if called on a new (unsaved) record
240
+ *
241
+ * @example
242
+ * ```typescript
243
+ * // Get all linked Address records
244
+ * const items = await record.addresses.list();
245
+ * const first = await record.addresses.first();
246
+ *
247
+ * // Filter by label
248
+ * const specific = await record.addresses.first({ label: 'OneTouchSwitch__Address' });
249
+ * ```
250
+ */
251
+ get addresses() {
252
+ var _a;
253
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
254
+ throw new Error('Cannot access links on a new (unsaved) record');
255
+ if (!this._addresses) {
256
+ this._addresses = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
257
+ sourceEntity: 'OrderModule:OneTouchSwitch',
258
+ targetEntity: 'CrmModule:Address',
259
+ targetModuleName: 'CrmModule',
260
+ targetEntityName: 'Address',
261
+ labels: ['OneTouchSwitch__Address'],
262
+ }, AddressRecord_1.AddressRecord);
263
+ }
264
+ return this._addresses;
265
+ }
266
+ /**
267
+ * Access linked Invoice records
268
+ * @remarks Available labels: OneTouchSwitch__Invoice
269
+ * @throws Error if called on a new (unsaved) record
270
+ *
271
+ * @example
272
+ * ```typescript
273
+ * // Get all linked Invoice records
274
+ * const items = await record.invoices.list();
275
+ * const first = await record.invoices.first();
276
+ *
277
+ * // Filter by label
278
+ * const specific = await record.invoices.first({ label: 'OneTouchSwitch__Invoice' });
279
+ * ```
280
+ */
281
+ get invoices() {
282
+ var _a;
283
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
284
+ throw new Error('Cannot access links on a new (unsaved) record');
285
+ if (!this._invoices) {
286
+ this._invoices = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
287
+ sourceEntity: 'OrderModule:OneTouchSwitch',
288
+ targetEntity: 'BillingModule:Invoice',
289
+ targetModuleName: 'BillingModule',
290
+ targetEntityName: 'Invoice',
291
+ labels: ['OneTouchSwitch__Invoice'],
292
+ }, InvoiceRecord_1.InvoiceRecord);
293
+ }
294
+ return this._invoices;
295
+ }
296
+ /**
297
+ * Access linked Note records
298
+ * @remarks Available labels: OneTouchSwitch_Note
299
+ * @throws Error if called on a new (unsaved) record
300
+ *
301
+ * @example
302
+ * ```typescript
303
+ * // Get all linked Note records
304
+ * const items = await record.notes.list();
305
+ * const first = await record.notes.first();
306
+ *
307
+ * // Filter by label
308
+ * const specific = await record.notes.first({ label: 'OneTouchSwitch_Note' });
309
+ * ```
310
+ */
311
+ get notes() {
312
+ var _a;
313
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
314
+ throw new Error('Cannot access links on a new (unsaved) record');
315
+ if (!this._notes) {
316
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
317
+ sourceEntity: 'OrderModule:OneTouchSwitch',
318
+ targetEntity: 'SupportModule:Note',
319
+ targetModuleName: 'SupportModule',
320
+ targetEntityName: 'Note',
321
+ labels: ['OneTouchSwitch_Note'],
322
+ }, NoteRecord_1.NoteRecord);
323
+ }
324
+ return this._notes;
325
+ }
326
+ /**
327
+ * Access linked Activity records
328
+ * @remarks Available labels: OneTouchSwitch__Activity
329
+ * @throws Error if called on a new (unsaved) record
330
+ *
331
+ * @example
332
+ * ```typescript
333
+ * // Get all linked Activity records
334
+ * const items = await record.activities.list();
335
+ * const first = await record.activities.first();
336
+ *
337
+ * // Filter by label
338
+ * const specific = await record.activities.first({ label: 'OneTouchSwitch__Activity' });
339
+ * ```
340
+ */
341
+ get activities() {
342
+ var _a;
343
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
344
+ throw new Error('Cannot access links on a new (unsaved) record');
345
+ if (!this._activities) {
346
+ this._activities = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
347
+ sourceEntity: 'OrderModule:OneTouchSwitch',
348
+ targetEntity: 'SchemaModule:Activity',
349
+ targetModuleName: 'SchemaModule',
350
+ targetEntityName: 'Activity',
351
+ labels: ['OneTouchSwitch__Activity'],
352
+ }, ActivityRecord_1.ActivityRecord);
353
+ }
354
+ return this._activities;
355
+ }
356
+ /**
357
+ * Access linked OrderItem records
358
+ * @remarks Available labels: OneTouchSwitch__OrderItem
359
+ * @throws Error if called on a new (unsaved) record
360
+ *
361
+ * @example
362
+ * ```typescript
363
+ * // Get all linked OrderItem records
364
+ * const items = await record.orderItems.list();
365
+ * const first = await record.orderItems.first();
366
+ *
367
+ * // Filter by label
368
+ * const specific = await record.orderItems.first({ label: 'OneTouchSwitch__OrderItem' });
369
+ * ```
370
+ */
371
+ get orderItems() {
372
+ var _a;
373
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
374
+ throw new Error('Cannot access links on a new (unsaved) record');
375
+ if (!this._orderItems) {
376
+ this._orderItems = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
377
+ sourceEntity: 'OrderModule:OneTouchSwitch',
378
+ targetEntity: 'OrderModule:OrderItem',
379
+ targetModuleName: 'OrderModule',
380
+ targetEntityName: 'OrderItem',
381
+ labels: ['OneTouchSwitch__OrderItem'],
382
+ }, OrderItemRecord_1.OrderItemRecord);
383
+ }
384
+ return this._orderItems;
385
+ }
386
+ /**
387
+ * Access linked ActivityLog records
388
+ * @remarks Available labels: OneTouchSwitch_ActivityLog
389
+ * @throws Error if called on a new (unsaved) record
390
+ *
391
+ * @example
392
+ * ```typescript
393
+ * // Get all linked ActivityLog records
394
+ * const items = await record.activityLogs.list();
395
+ * const first = await record.activityLogs.first();
396
+ *
397
+ * // Filter by label
398
+ * const specific = await record.activityLogs.first({ label: 'OneTouchSwitch_ActivityLog' });
399
+ * ```
400
+ */
401
+ get activityLogs() {
402
+ var _a;
403
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
404
+ throw new Error('Cannot access links on a new (unsaved) record');
405
+ if (!this._activityLogs) {
406
+ this._activityLogs = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
407
+ sourceEntity: 'OrderModule:OneTouchSwitch',
408
+ targetEntity: 'AuditModule:ActivityLog',
409
+ targetModuleName: 'AuditModule',
410
+ targetEntityName: 'ActivityLog',
411
+ labels: ['OneTouchSwitch_ActivityLog'],
412
+ }, ActivityLogRecord_1.ActivityLogRecord);
413
+ }
414
+ return this._activityLogs;
415
+ }
416
+ /**
417
+ * Access linked File records
418
+ * @remarks Available labels: OneTouchSwitch_File
419
+ * @throws Error if called on a new (unsaved) record
420
+ *
421
+ * @example
422
+ * ```typescript
423
+ * // Get all linked File records
424
+ * const items = await record.files.list();
425
+ * const first = await record.files.first();
426
+ *
427
+ * // Filter by label
428
+ * const specific = await record.files.first({ label: 'OneTouchSwitch_File' });
429
+ * ```
430
+ */
431
+ get files() {
432
+ var _a;
433
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
434
+ throw new Error('Cannot access links on a new (unsaved) record');
435
+ if (!this._files) {
436
+ this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
437
+ sourceEntity: 'OrderModule:OneTouchSwitch',
438
+ targetEntity: 'SchemaModule:File',
439
+ targetModuleName: 'SchemaModule',
440
+ targetEntityName: 'File',
441
+ labels: ['OneTouchSwitch_File'],
442
+ }, FileRecord_1.FileRecord);
443
+ }
444
+ return this._files;
445
+ }
446
+ /**
447
+ * Access linked Order records
448
+ * @remarks Available labels: OneTouchSwitch__Order
449
+ * @throws Error if called on a new (unsaved) record
450
+ *
451
+ * @example
452
+ * ```typescript
453
+ * // Get all linked Order records
454
+ * const items = await record.orders.list();
455
+ * const first = await record.orders.first();
456
+ *
457
+ * // Filter by label
458
+ * const specific = await record.orders.first({ label: 'OneTouchSwitch__Order' });
459
+ * ```
460
+ */
461
+ get orders() {
462
+ var _a;
463
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
464
+ throw new Error('Cannot access links on a new (unsaved) record');
465
+ if (!this._orders) {
466
+ this._orders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
467
+ sourceEntity: 'OrderModule:OneTouchSwitch',
468
+ targetEntity: 'OrderModule:Order',
469
+ targetModuleName: 'OrderModule',
470
+ targetEntityName: 'Order',
471
+ labels: ['OneTouchSwitch__Order'],
472
+ }, OrderRecord_1.OrderRecord);
473
+ }
474
+ return this._orders;
475
+ }
476
+ /**
477
+ * Access linked Contact records
478
+ * @remarks Available labels: OneTouchSwitch__Contact
479
+ * @throws Error if called on a new (unsaved) record
480
+ *
481
+ * @example
482
+ * ```typescript
483
+ * // Get all linked Contact records
484
+ * const items = await record.contacts.list();
485
+ * const first = await record.contacts.first();
486
+ *
487
+ * // Filter by label
488
+ * const specific = await record.contacts.first({ label: 'OneTouchSwitch__Contact' });
489
+ * ```
490
+ */
491
+ get contacts() {
492
+ var _a;
493
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
494
+ throw new Error('Cannot access links on a new (unsaved) record');
495
+ if (!this._contacts) {
496
+ this._contacts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
497
+ sourceEntity: 'OrderModule:OneTouchSwitch',
498
+ targetEntity: 'CrmModule:Contact',
499
+ targetModuleName: 'CrmModule',
500
+ targetEntityName: 'Contact',
501
+ labels: ['OneTouchSwitch__Contact'],
502
+ }, ContactRecord_1.ContactRecord);
503
+ }
504
+ return this._contacts;
505
+ }
506
+ // ============================================
143
507
  // LINK MANAGEMENT
144
508
  // ============================================
145
509
  /**
@@ -292,6 +656,29 @@ class OneTouchSwitchRecord {
292
656
  }
293
657
  }
294
658
  exports.OneTouchSwitchRecord = OneTouchSwitchRecord;
659
+ // ============================================
660
+ // TYPED LINK ACCESSORS
661
+ // ============================================
662
+ /** Valid labels for Account associations */
663
+ OneTouchSwitchRecord.accountsLabels = ['Account__OneTouchSwitch'];
664
+ /** Valid labels for Address associations */
665
+ OneTouchSwitchRecord.addressesLabels = ['OneTouchSwitch__Address'];
666
+ /** Valid labels for Invoice associations */
667
+ OneTouchSwitchRecord.invoicesLabels = ['OneTouchSwitch__Invoice'];
668
+ /** Valid labels for Note associations */
669
+ OneTouchSwitchRecord.notesLabels = ['OneTouchSwitch_Note'];
670
+ /** Valid labels for Activity associations */
671
+ OneTouchSwitchRecord.activitiesLabels = ['OneTouchSwitch__Activity'];
672
+ /** Valid labels for OrderItem associations */
673
+ OneTouchSwitchRecord.orderItemsLabels = ['OneTouchSwitch__OrderItem'];
674
+ /** Valid labels for ActivityLog associations */
675
+ OneTouchSwitchRecord.activityLogsLabels = ['OneTouchSwitch_ActivityLog'];
676
+ /** Valid labels for File associations */
677
+ OneTouchSwitchRecord.filesLabels = ['OneTouchSwitch_File'];
678
+ /** Valid labels for Order associations */
679
+ OneTouchSwitchRecord.ordersLabels = ['OneTouchSwitch__Order'];
680
+ /** Valid labels for Contact associations */
681
+ OneTouchSwitchRecord.contactsLabels = ['OneTouchSwitch__Contact'];
295
682
  /** Type guard to check if an object is a OneTouchSwitchRecord */
296
683
  function isOneTouchSwitchRecord(obj) {
297
684
  return obj instanceof OneTouchSwitchRecord;
@@ -13,15 +13,22 @@
13
13
  * await record.createOntReplacementApproval({ ... }).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 { OntReplacementApprovalProperties } from '../entities-v2/OntReplacementApproval';
23
26
  import { ChangeOntReplacementRequestApprovalStatusProperties } from '../actions-v2/ChangeOntReplacementRequestApprovalStatusDto';
24
27
  import { CreateOntReplacementApprovalProperties } from '../actions-v2/CreateOntReplacementApprovalDto';
28
+ import { WorkOrderRecord } from './WorkOrderRecord';
29
+ import { CustomerDeviceOntRecord } from './CustomerDeviceOntRecord';
30
+ /** Valid entity types for OntReplacementApproval */
31
+ export declare type OntReplacementApprovalType = 'DEFAULT';
25
32
  /**
26
33
  * Builder for action execution with dryRun support
27
34
  *
@@ -85,6 +92,8 @@ export declare class OntReplacementApprovalRecord<TProps = OntReplacementApprova
85
92
  private _provider;
86
93
  private _pendingLinks;
87
94
  private _preGeneratedId;
95
+ private _workOrders?;
96
+ private _customerDeviceOnts?;
88
97
  /**
89
98
  * Create a record wrapper.
90
99
  * @param record - The underlying record, or null for create operations
@@ -97,7 +106,7 @@ export declare class OntReplacementApprovalRecord<TProps = OntReplacementApprova
97
106
  /** Record ID - always available (pre-generated for new records) */
98
107
  get id(): string;
99
108
  get entity(): string;
100
- get type(): string | undefined;
109
+ get type(): OntReplacementApprovalType | undefined;
101
110
  /** Record properties - empty object for new (unsaved) records */
102
111
  get properties(): TProps;
103
112
  get title(): string | undefined;
@@ -110,6 +119,58 @@ export declare class OntReplacementApprovalRecord<TProps = OntReplacementApprova
110
119
  get groups(): string[];
111
120
  /** Access the underlying OdinRecord (null for new records) */
112
121
  get record(): OdinRecord<TProps> | null;
122
+ /**
123
+ * Type guard: check if this record is of type DEFAULT
124
+ *
125
+ * When this returns true, TypeScript automatically narrows the type,
126
+ * giving you access to DEFAULT-specific properties.
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * if (record.isDefault()) {
131
+ * // TypeScript knows record.properties is OntReplacementApprovalProperties
132
+ * console.log(record.properties.SomeTypeSpecificField);
133
+ * }
134
+ * ```
135
+ * @remarks This is the default record type
136
+ */
137
+ isDefault(): this is OntReplacementApprovalRecord<OntReplacementApprovalProperties>;
138
+ /** Valid labels for WorkOrder associations */
139
+ static readonly workOrdersLabels: readonly ["OntReplacementApproval_WorkOrder"];
140
+ /**
141
+ * Access linked WorkOrder records
142
+ * @remarks Available labels: OntReplacementApproval_WorkOrder
143
+ * @throws Error if called on a new (unsaved) record
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * // Get all linked WorkOrder records
148
+ * const items = await record.workOrders.list();
149
+ * const first = await record.workOrders.first();
150
+ *
151
+ * // Filter by label
152
+ * const specific = await record.workOrders.first({ label: 'OntReplacementApproval_WorkOrder' });
153
+ * ```
154
+ */
155
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof OntReplacementApprovalRecord['workOrdersLabels'][number]>;
156
+ /** Valid labels for CustomerDeviceOnt associations */
157
+ static readonly customerDeviceOntsLabels: readonly ["OntReplacementApproval_CustomerDeviceOnt"];
158
+ /**
159
+ * Access linked CustomerDeviceOnt records
160
+ * @remarks Available labels: OntReplacementApproval_CustomerDeviceOnt
161
+ * @throws Error if called on a new (unsaved) record
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * // Get all linked CustomerDeviceOnt records
166
+ * const items = await record.customerDeviceOnts.list();
167
+ * const first = await record.customerDeviceOnts.first();
168
+ *
169
+ * // Filter by label
170
+ * const specific = await record.customerDeviceOnts.first({ label: 'OntReplacementApproval_CustomerDeviceOnt' });
171
+ * ```
172
+ */
173
+ get customerDeviceOnts(): RecordLinkManager<CustomerDeviceOntRecord, typeof OntReplacementApprovalRecord['customerDeviceOntsLabels'][number]>;
113
174
  /**
114
175
  * Queue a link to be created with the next action.
115
176
  * Works for both create and update actions.
@@ -14,6 +14,8 @@
14
14
  * await record.createOntReplacementApproval({ ... }).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,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
31
  exports.isOntReplacementApprovalRecord = exports.OntReplacementApprovalRecord = 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 WorkOrderRecord_1 = require("./WorkOrderRecord");
36
+ const CustomerDeviceOntRecord_1 = require("./CustomerDeviceOntRecord");
32
37
  /**
33
38
  * Builder for action execution with dryRun support
34
39
  *
@@ -140,6 +145,85 @@ class OntReplacementApprovalRecord {
140
145
  /** Access the underlying OdinRecord (null for new records) */
141
146
  get record() { return this._record; }
142
147
  // ============================================
148
+ // TYPE GUARDS (with TypeScript type predicates)
149
+ // ============================================
150
+ /**
151
+ * Type guard: check if this record is of type DEFAULT
152
+ *
153
+ * When this returns true, TypeScript automatically narrows the type,
154
+ * giving you access to DEFAULT-specific properties.
155
+ *
156
+ * @example
157
+ * ```typescript
158
+ * if (record.isDefault()) {
159
+ * // TypeScript knows record.properties is OntReplacementApprovalProperties
160
+ * console.log(record.properties.SomeTypeSpecificField);
161
+ * }
162
+ * ```
163
+ * @remarks This is the default record type
164
+ */
165
+ isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
166
+ /**
167
+ * Access linked WorkOrder records
168
+ * @remarks Available labels: OntReplacementApproval_WorkOrder
169
+ * @throws Error if called on a new (unsaved) record
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * // Get all linked WorkOrder records
174
+ * const items = await record.workOrders.list();
175
+ * const first = await record.workOrders.first();
176
+ *
177
+ * // Filter by label
178
+ * const specific = await record.workOrders.first({ label: 'OntReplacementApproval_WorkOrder' });
179
+ * ```
180
+ */
181
+ get workOrders() {
182
+ var _a;
183
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
184
+ throw new Error('Cannot access links on a new (unsaved) record');
185
+ if (!this._workOrders) {
186
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
187
+ sourceEntity: 'FieldServiceModule:OntReplacementApproval',
188
+ targetEntity: 'FieldServiceModule:WorkOrder',
189
+ targetModuleName: 'FieldServiceModule',
190
+ targetEntityName: 'WorkOrder',
191
+ labels: ['OntReplacementApproval_WorkOrder'],
192
+ }, WorkOrderRecord_1.WorkOrderRecord);
193
+ }
194
+ return this._workOrders;
195
+ }
196
+ /**
197
+ * Access linked CustomerDeviceOnt records
198
+ * @remarks Available labels: OntReplacementApproval_CustomerDeviceOnt
199
+ * @throws Error if called on a new (unsaved) record
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * // Get all linked CustomerDeviceOnt records
204
+ * const items = await record.customerDeviceOnts.list();
205
+ * const first = await record.customerDeviceOnts.first();
206
+ *
207
+ * // Filter by label
208
+ * const specific = await record.customerDeviceOnts.first({ label: 'OntReplacementApproval_CustomerDeviceOnt' });
209
+ * ```
210
+ */
211
+ get customerDeviceOnts() {
212
+ var _a;
213
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
214
+ throw new Error('Cannot access links on a new (unsaved) record');
215
+ if (!this._customerDeviceOnts) {
216
+ this._customerDeviceOnts = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
217
+ sourceEntity: 'FieldServiceModule:OntReplacementApproval',
218
+ targetEntity: 'ServiceModule:CustomerDeviceOnt',
219
+ targetModuleName: 'ServiceModule',
220
+ targetEntityName: 'CustomerDeviceOnt',
221
+ labels: ['OntReplacementApproval_CustomerDeviceOnt'],
222
+ }, CustomerDeviceOntRecord_1.CustomerDeviceOntRecord);
223
+ }
224
+ return this._customerDeviceOnts;
225
+ }
226
+ // ============================================
143
227
  // LINK MANAGEMENT
144
228
  // ============================================
145
229
  /**
@@ -255,6 +339,13 @@ class OntReplacementApprovalRecord {
255
339
  }
256
340
  }
257
341
  exports.OntReplacementApprovalRecord = OntReplacementApprovalRecord;
342
+ // ============================================
343
+ // TYPED LINK ACCESSORS
344
+ // ============================================
345
+ /** Valid labels for WorkOrder associations */
346
+ OntReplacementApprovalRecord.workOrdersLabels = ['OntReplacementApproval_WorkOrder'];
347
+ /** Valid labels for CustomerDeviceOnt associations */
348
+ OntReplacementApprovalRecord.customerDeviceOntsLabels = ['OntReplacementApproval_CustomerDeviceOnt'];
258
349
  /** Type guard to check if an object is a OntReplacementApprovalRecord */
259
350
  function isOntReplacementApprovalRecord(obj) {
260
351
  return obj instanceof OntReplacementApprovalRecord;
@@ -19,9 +19,11 @@ 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 { OrderCheckProperties } from '../entities-v2/OrderCheck';
23
24
  import { CreateOrderCheckProperties } from '../actions-v2/CreateOrderCheckDto';
24
25
  import { UpdateProperties } from '../actions-v2/UpdateDto';
26
+ import { OrderRecord } from './OrderRecord';
25
27
  /**
26
28
  * Builder for action execution with dryRun support
27
29
  *
@@ -85,6 +87,7 @@ export declare class OrderCheckRecord<TProps = OrderCheckProperties> {
85
87
  private _provider;
86
88
  private _pendingLinks;
87
89
  private _preGeneratedId;
90
+ private _orders?;
88
91
  /**
89
92
  * Create a record wrapper.
90
93
  * @param record - The underlying record, or null for create operations
@@ -110,6 +113,24 @@ export declare class OrderCheckRecord<TProps = OrderCheckProperties> {
110
113
  get groups(): string[];
111
114
  /** Access the underlying OdinRecord (null for new records) */
112
115
  get record(): OdinRecord<TProps> | null;
116
+ /** Valid labels for Order associations */
117
+ static readonly ordersLabels: readonly ["Order__OrderCheck"];
118
+ /**
119
+ * Access linked Order records
120
+ * @remarks Available labels: Order__OrderCheck
121
+ * @throws Error if called on a new (unsaved) record
122
+ *
123
+ * @example
124
+ * ```typescript
125
+ * // Get all linked Order records
126
+ * const items = await record.orders.list();
127
+ * const first = await record.orders.first();
128
+ *
129
+ * // Filter by label
130
+ * const specific = await record.orders.first({ label: 'Order__OrderCheck' });
131
+ * ```
132
+ */
133
+ get orders(): RecordLinkManager<OrderRecord, typeof OrderCheckRecord['ordersLabels'][number]>;
113
134
  /**
114
135
  * Queue a link to be created with the next action.
115
136
  * Works for both create and update actions.