@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.createOhAuditOfInstallation({ ... }).execute();
15
15
  * ```
16
16
  *
17
+ * Entity Types: OUTCOME_FORM
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,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
31
  exports.isOhAuditOfInstallationRecord = exports.OhAuditOfInstallationRecord = 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 NoteRecord_1 = require("./NoteRecord");
36
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
37
+ const FileRecord_1 = require("./FileRecord");
32
38
  /**
33
39
  * Builder for action execution with dryRun support
34
40
  *
@@ -140,6 +146,115 @@ class OhAuditOfInstallationRecord {
140
146
  /** Access the underlying OdinRecord (null for new records) */
141
147
  get record() { return this._record; }
142
148
  // ============================================
149
+ // TYPE GUARDS (with TypeScript type predicates)
150
+ // ============================================
151
+ /**
152
+ * Type guard: check if this record is of type OUTCOME_FORM
153
+ *
154
+ * When this returns true, TypeScript automatically narrows the type,
155
+ * giving you access to OUTCOME_FORM-specific properties.
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * if (record.isOutcomeForm()) {
160
+ * // TypeScript knows record.properties is OutcomeFormOhAuditOfInstallationProperties
161
+ * console.log(record.properties.SomeTypeSpecificField);
162
+ * }
163
+ * ```
164
+ * @remarks outcome form
165
+ */
166
+ isOutcomeForm() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'OUTCOME_FORM'; }
167
+ /**
168
+ * Access linked Note records
169
+ * @remarks Available labels: OhAuditOfInstallation__Note
170
+ * @throws Error if called on a new (unsaved) record
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * // Get all linked Note records
175
+ * const items = await record.notes.list();
176
+ * const first = await record.notes.first();
177
+ *
178
+ * // Filter by label
179
+ * const specific = await record.notes.first({ label: 'OhAuditOfInstallation__Note' });
180
+ * ```
181
+ */
182
+ get notes() {
183
+ var _a;
184
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
185
+ throw new Error('Cannot access links on a new (unsaved) record');
186
+ if (!this._notes) {
187
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
188
+ sourceEntity: 'FieldServiceModule:OhAuditOfInstallation',
189
+ targetEntity: 'SupportModule:Note',
190
+ targetModuleName: 'SupportModule',
191
+ targetEntityName: 'Note',
192
+ labels: ['OhAuditOfInstallation__Note'],
193
+ }, NoteRecord_1.NoteRecord);
194
+ }
195
+ return this._notes;
196
+ }
197
+ /**
198
+ * Access linked WorkOrder records
199
+ * @remarks Available labels: WorkOrder_OhAuditOfInstallation
200
+ * @throws Error if called on a new (unsaved) record
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * // Get all linked WorkOrder records
205
+ * const items = await record.workOrders.list();
206
+ * const first = await record.workOrders.first();
207
+ *
208
+ * // Filter by label
209
+ * const specific = await record.workOrders.first({ label: 'WorkOrder_OhAuditOfInstallation' });
210
+ * ```
211
+ */
212
+ get workOrders() {
213
+ var _a;
214
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
215
+ throw new Error('Cannot access links on a new (unsaved) record');
216
+ if (!this._workOrders) {
217
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
218
+ sourceEntity: 'FieldServiceModule:OhAuditOfInstallation',
219
+ targetEntity: 'FieldServiceModule:WorkOrder',
220
+ targetModuleName: 'FieldServiceModule',
221
+ targetEntityName: 'WorkOrder',
222
+ labels: ['WorkOrder_OhAuditOfInstallation'],
223
+ }, WorkOrderRecord_1.WorkOrderRecord);
224
+ }
225
+ return this._workOrders;
226
+ }
227
+ /**
228
+ * Access linked File records
229
+ * @remarks Available labels: OhAuditOfInstallation__File
230
+ * @throws Error if called on a new (unsaved) record
231
+ *
232
+ * @example
233
+ * ```typescript
234
+ * // Get all linked File records
235
+ * const items = await record.files.list();
236
+ * const first = await record.files.first();
237
+ *
238
+ * // Filter by label
239
+ * const specific = await record.files.first({ label: 'OhAuditOfInstallation__File' });
240
+ * ```
241
+ */
242
+ get files() {
243
+ var _a;
244
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
245
+ throw new Error('Cannot access links on a new (unsaved) record');
246
+ if (!this._files) {
247
+ this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
248
+ sourceEntity: 'FieldServiceModule:OhAuditOfInstallation',
249
+ targetEntity: 'SchemaModule:File',
250
+ targetModuleName: 'SchemaModule',
251
+ targetEntityName: 'File',
252
+ labels: ['OhAuditOfInstallation__File'],
253
+ }, FileRecord_1.FileRecord);
254
+ }
255
+ return this._files;
256
+ }
257
+ // ============================================
143
258
  // LINK MANAGEMENT
144
259
  // ============================================
145
260
  /**
@@ -215,6 +330,15 @@ class OhAuditOfInstallationRecord {
215
330
  }
216
331
  }
217
332
  exports.OhAuditOfInstallationRecord = OhAuditOfInstallationRecord;
333
+ // ============================================
334
+ // TYPED LINK ACCESSORS
335
+ // ============================================
336
+ /** Valid labels for Note associations */
337
+ OhAuditOfInstallationRecord.notesLabels = ['OhAuditOfInstallation__Note'];
338
+ /** Valid labels for WorkOrder associations */
339
+ OhAuditOfInstallationRecord.workOrdersLabels = ['WorkOrder_OhAuditOfInstallation'];
340
+ /** Valid labels for File associations */
341
+ OhAuditOfInstallationRecord.filesLabels = ['OhAuditOfInstallation__File'];
218
342
  /** Type guard to check if an object is a OhAuditOfInstallationRecord */
219
343
  function isOhAuditOfInstallationRecord(obj) {
220
344
  return obj instanceof OhAuditOfInstallationRecord;
@@ -13,14 +13,22 @@
13
13
  * await record.createOhExternalAudit({ ... }).execute();
14
14
  * ```
15
15
  *
16
+ * Entity Types: OUTCOME_FORM
17
+ *
16
18
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
17
19
  */
18
20
  import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
19
21
  import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
20
22
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
21
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
22
- import { OhExternalAuditProperties } from '../entities-v2/OhExternalAudit';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
+ import { OhExternalAuditProperties, OutcomeFormOhExternalAuditProperties } from '../entities-v2/OhExternalAudit';
23
26
  import { OhExternalAuditCreateProperties } from '../actions-v2/CompletePrePullWorkOrderFlowDto';
27
+ import { NoteRecord } from './NoteRecord';
28
+ import { WorkOrderRecord } from './WorkOrderRecord';
29
+ import { FileRecord } from './FileRecord';
30
+ /** Valid entity types for OhExternalAudit */
31
+ export declare type OhExternalAuditType = 'OUTCOME_FORM';
24
32
  /**
25
33
  * Builder for action execution with dryRun support
26
34
  *
@@ -84,6 +92,9 @@ export declare class OhExternalAuditRecord<TProps = OhExternalAuditProperties> {
84
92
  private _provider;
85
93
  private _pendingLinks;
86
94
  private _preGeneratedId;
95
+ private _notes?;
96
+ private _workOrders?;
97
+ private _files?;
87
98
  /**
88
99
  * Create a record wrapper.
89
100
  * @param record - The underlying record, or null for create operations
@@ -96,7 +107,7 @@ export declare class OhExternalAuditRecord<TProps = OhExternalAuditProperties> {
96
107
  /** Record ID - always available (pre-generated for new records) */
97
108
  get id(): string;
98
109
  get entity(): string;
99
- get type(): string | undefined;
110
+ get type(): OhExternalAuditType | undefined;
100
111
  /** Record properties - empty object for new (unsaved) records */
101
112
  get properties(): TProps;
102
113
  get title(): string | undefined;
@@ -109,6 +120,76 @@ export declare class OhExternalAuditRecord<TProps = OhExternalAuditProperties> {
109
120
  get groups(): string[];
110
121
  /** Access the underlying OdinRecord (null for new records) */
111
122
  get record(): OdinRecord<TProps> | null;
123
+ /**
124
+ * Type guard: check if this record is of type OUTCOME_FORM
125
+ *
126
+ * When this returns true, TypeScript automatically narrows the type,
127
+ * giving you access to OUTCOME_FORM-specific properties.
128
+ *
129
+ * @example
130
+ * ```typescript
131
+ * if (record.isOutcomeForm()) {
132
+ * // TypeScript knows record.properties is OutcomeFormOhExternalAuditProperties
133
+ * console.log(record.properties.SomeTypeSpecificField);
134
+ * }
135
+ * ```
136
+ * @remarks outcome form
137
+ */
138
+ isOutcomeForm(): this is OhExternalAuditRecord<OutcomeFormOhExternalAuditProperties>;
139
+ /** Valid labels for Note associations */
140
+ static readonly notesLabels: readonly ["OhExternalAudit_Note"];
141
+ /**
142
+ * Access linked Note records
143
+ * @remarks Available labels: OhExternalAudit_Note
144
+ * @throws Error if called on a new (unsaved) record
145
+ *
146
+ * @example
147
+ * ```typescript
148
+ * // Get all linked Note records
149
+ * const items = await record.notes.list();
150
+ * const first = await record.notes.first();
151
+ *
152
+ * // Filter by label
153
+ * const specific = await record.notes.first({ label: 'OhExternalAudit_Note' });
154
+ * ```
155
+ */
156
+ get notes(): RecordLinkManager<NoteRecord, typeof OhExternalAuditRecord['notesLabels'][number]>;
157
+ /** Valid labels for WorkOrder associations */
158
+ static readonly workOrdersLabels: readonly ["WorkOrder_OhExternalAudit"];
159
+ /**
160
+ * Access linked WorkOrder records
161
+ * @remarks Available labels: WorkOrder_OhExternalAudit
162
+ * @throws Error if called on a new (unsaved) record
163
+ *
164
+ * @example
165
+ * ```typescript
166
+ * // Get all linked WorkOrder records
167
+ * const items = await record.workOrders.list();
168
+ * const first = await record.workOrders.first();
169
+ *
170
+ * // Filter by label
171
+ * const specific = await record.workOrders.first({ label: 'WorkOrder_OhExternalAudit' });
172
+ * ```
173
+ */
174
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof OhExternalAuditRecord['workOrdersLabels'][number]>;
175
+ /** Valid labels for File associations */
176
+ static readonly filesLabels: readonly ["OhExternalAudit_File"];
177
+ /**
178
+ * Access linked File records
179
+ * @remarks Available labels: OhExternalAudit_File
180
+ * @throws Error if called on a new (unsaved) record
181
+ *
182
+ * @example
183
+ * ```typescript
184
+ * // Get all linked File records
185
+ * const items = await record.files.list();
186
+ * const first = await record.files.first();
187
+ *
188
+ * // Filter by label
189
+ * const specific = await record.files.first({ label: 'OhExternalAudit_File' });
190
+ * ```
191
+ */
192
+ get files(): RecordLinkManager<FileRecord, typeof OhExternalAuditRecord['filesLabels'][number]>;
112
193
  /**
113
194
  * Queue a link to be created with the next action.
114
195
  * Works for both create and update actions.
@@ -14,6 +14,8 @@
14
14
  * await record.createOhExternalAudit({ ... }).execute();
15
15
  * ```
16
16
  *
17
+ * Entity Types: OUTCOME_FORM
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,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
31
  exports.isOhExternalAuditRecord = exports.OhExternalAuditRecord = 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 NoteRecord_1 = require("./NoteRecord");
36
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
37
+ const FileRecord_1 = require("./FileRecord");
32
38
  /**
33
39
  * Builder for action execution with dryRun support
34
40
  *
@@ -140,6 +146,115 @@ class OhExternalAuditRecord {
140
146
  /** Access the underlying OdinRecord (null for new records) */
141
147
  get record() { return this._record; }
142
148
  // ============================================
149
+ // TYPE GUARDS (with TypeScript type predicates)
150
+ // ============================================
151
+ /**
152
+ * Type guard: check if this record is of type OUTCOME_FORM
153
+ *
154
+ * When this returns true, TypeScript automatically narrows the type,
155
+ * giving you access to OUTCOME_FORM-specific properties.
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * if (record.isOutcomeForm()) {
160
+ * // TypeScript knows record.properties is OutcomeFormOhExternalAuditProperties
161
+ * console.log(record.properties.SomeTypeSpecificField);
162
+ * }
163
+ * ```
164
+ * @remarks outcome form
165
+ */
166
+ isOutcomeForm() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'OUTCOME_FORM'; }
167
+ /**
168
+ * Access linked Note records
169
+ * @remarks Available labels: OhExternalAudit_Note
170
+ * @throws Error if called on a new (unsaved) record
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * // Get all linked Note records
175
+ * const items = await record.notes.list();
176
+ * const first = await record.notes.first();
177
+ *
178
+ * // Filter by label
179
+ * const specific = await record.notes.first({ label: 'OhExternalAudit_Note' });
180
+ * ```
181
+ */
182
+ get notes() {
183
+ var _a;
184
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
185
+ throw new Error('Cannot access links on a new (unsaved) record');
186
+ if (!this._notes) {
187
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
188
+ sourceEntity: 'FieldServiceModule:OhExternalAudit',
189
+ targetEntity: 'SupportModule:Note',
190
+ targetModuleName: 'SupportModule',
191
+ targetEntityName: 'Note',
192
+ labels: ['OhExternalAudit_Note'],
193
+ }, NoteRecord_1.NoteRecord);
194
+ }
195
+ return this._notes;
196
+ }
197
+ /**
198
+ * Access linked WorkOrder records
199
+ * @remarks Available labels: WorkOrder_OhExternalAudit
200
+ * @throws Error if called on a new (unsaved) record
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * // Get all linked WorkOrder records
205
+ * const items = await record.workOrders.list();
206
+ * const first = await record.workOrders.first();
207
+ *
208
+ * // Filter by label
209
+ * const specific = await record.workOrders.first({ label: 'WorkOrder_OhExternalAudit' });
210
+ * ```
211
+ */
212
+ get workOrders() {
213
+ var _a;
214
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
215
+ throw new Error('Cannot access links on a new (unsaved) record');
216
+ if (!this._workOrders) {
217
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
218
+ sourceEntity: 'FieldServiceModule:OhExternalAudit',
219
+ targetEntity: 'FieldServiceModule:WorkOrder',
220
+ targetModuleName: 'FieldServiceModule',
221
+ targetEntityName: 'WorkOrder',
222
+ labels: ['WorkOrder_OhExternalAudit'],
223
+ }, WorkOrderRecord_1.WorkOrderRecord);
224
+ }
225
+ return this._workOrders;
226
+ }
227
+ /**
228
+ * Access linked File records
229
+ * @remarks Available labels: OhExternalAudit_File
230
+ * @throws Error if called on a new (unsaved) record
231
+ *
232
+ * @example
233
+ * ```typescript
234
+ * // Get all linked File records
235
+ * const items = await record.files.list();
236
+ * const first = await record.files.first();
237
+ *
238
+ * // Filter by label
239
+ * const specific = await record.files.first({ label: 'OhExternalAudit_File' });
240
+ * ```
241
+ */
242
+ get files() {
243
+ var _a;
244
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
245
+ throw new Error('Cannot access links on a new (unsaved) record');
246
+ if (!this._files) {
247
+ this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
248
+ sourceEntity: 'FieldServiceModule:OhExternalAudit',
249
+ targetEntity: 'SchemaModule:File',
250
+ targetModuleName: 'SchemaModule',
251
+ targetEntityName: 'File',
252
+ labels: ['OhExternalAudit_File'],
253
+ }, FileRecord_1.FileRecord);
254
+ }
255
+ return this._files;
256
+ }
257
+ // ============================================
143
258
  // LINK MANAGEMENT
144
259
  // ============================================
145
260
  /**
@@ -215,6 +330,15 @@ class OhExternalAuditRecord {
215
330
  }
216
331
  }
217
332
  exports.OhExternalAuditRecord = OhExternalAuditRecord;
333
+ // ============================================
334
+ // TYPED LINK ACCESSORS
335
+ // ============================================
336
+ /** Valid labels for Note associations */
337
+ OhExternalAuditRecord.notesLabels = ['OhExternalAudit_Note'];
338
+ /** Valid labels for WorkOrder associations */
339
+ OhExternalAuditRecord.workOrdersLabels = ['WorkOrder_OhExternalAudit'];
340
+ /** Valid labels for File associations */
341
+ OhExternalAuditRecord.filesLabels = ['OhExternalAudit_File'];
218
342
  /** Type guard to check if an object is a OhExternalAuditRecord */
219
343
  function isOhExternalAuditRecord(obj) {
220
344
  return obj instanceof OhExternalAuditRecord;
@@ -13,13 +13,21 @@
13
13
  * await record.createOhInProgressAudit({ ... }).execute();
14
14
  * ```
15
15
  *
16
+ * Entity Types: OUTCOME_FORM
17
+ *
16
18
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
17
19
  */
18
20
  import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
19
21
  import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
20
22
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
21
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
22
- import { OhInProgressAuditProperties } from '../entities-v2/OhInProgressAudit';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
+ import { OhInProgressAuditProperties, OutcomeFormOhInProgressAuditProperties } from '../entities-v2/OhInProgressAudit';
26
+ import { FileRecord } from './FileRecord';
27
+ import { NoteRecord } from './NoteRecord';
28
+ import { WorkOrderRecord } from './WorkOrderRecord';
29
+ /** Valid entity types for OhInProgressAudit */
30
+ export declare type OhInProgressAuditType = 'OUTCOME_FORM';
23
31
  /**
24
32
  * Builder for action execution with dryRun support
25
33
  *
@@ -83,6 +91,9 @@ export declare class OhInProgressAuditRecord<TProps = OhInProgressAuditPropertie
83
91
  private _provider;
84
92
  private _pendingLinks;
85
93
  private _preGeneratedId;
94
+ private _files?;
95
+ private _notes?;
96
+ private _workOrders?;
86
97
  /**
87
98
  * Create a record wrapper.
88
99
  * @param record - The underlying record, or null for create operations
@@ -95,7 +106,7 @@ export declare class OhInProgressAuditRecord<TProps = OhInProgressAuditPropertie
95
106
  /** Record ID - always available (pre-generated for new records) */
96
107
  get id(): string;
97
108
  get entity(): string;
98
- get type(): string | undefined;
109
+ get type(): OhInProgressAuditType | undefined;
99
110
  /** Record properties - empty object for new (unsaved) records */
100
111
  get properties(): TProps;
101
112
  get title(): string | undefined;
@@ -108,6 +119,76 @@ export declare class OhInProgressAuditRecord<TProps = OhInProgressAuditPropertie
108
119
  get groups(): string[];
109
120
  /** Access the underlying OdinRecord (null for new records) */
110
121
  get record(): OdinRecord<TProps> | null;
122
+ /**
123
+ * Type guard: check if this record is of type OUTCOME_FORM
124
+ *
125
+ * When this returns true, TypeScript automatically narrows the type,
126
+ * giving you access to OUTCOME_FORM-specific properties.
127
+ *
128
+ * @example
129
+ * ```typescript
130
+ * if (record.isOutcomeForm()) {
131
+ * // TypeScript knows record.properties is OutcomeFormOhInProgressAuditProperties
132
+ * console.log(record.properties.SomeTypeSpecificField);
133
+ * }
134
+ * ```
135
+ * @remarks outcome form
136
+ */
137
+ isOutcomeForm(): this is OhInProgressAuditRecord<OutcomeFormOhInProgressAuditProperties>;
138
+ /** Valid labels for File associations */
139
+ static readonly filesLabels: readonly ["OhInProgressAudit_File"];
140
+ /**
141
+ * Access linked File records
142
+ * @remarks Available labels: OhInProgressAudit_File
143
+ * @throws Error if called on a new (unsaved) record
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * // Get all linked File records
148
+ * const items = await record.files.list();
149
+ * const first = await record.files.first();
150
+ *
151
+ * // Filter by label
152
+ * const specific = await record.files.first({ label: 'OhInProgressAudit_File' });
153
+ * ```
154
+ */
155
+ get files(): RecordLinkManager<FileRecord, typeof OhInProgressAuditRecord['filesLabels'][number]>;
156
+ /** Valid labels for Note associations */
157
+ static readonly notesLabels: readonly ["OhInProgressAudit_Note"];
158
+ /**
159
+ * Access linked Note records
160
+ * @remarks Available labels: OhInProgressAudit_Note
161
+ * @throws Error if called on a new (unsaved) record
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * // Get all linked Note records
166
+ * const items = await record.notes.list();
167
+ * const first = await record.notes.first();
168
+ *
169
+ * // Filter by label
170
+ * const specific = await record.notes.first({ label: 'OhInProgressAudit_Note' });
171
+ * ```
172
+ */
173
+ get notes(): RecordLinkManager<NoteRecord, typeof OhInProgressAuditRecord['notesLabels'][number]>;
174
+ /** Valid labels for WorkOrder associations */
175
+ static readonly workOrdersLabels: readonly ["WorkOrder_OhInProgressAudit"];
176
+ /**
177
+ * Access linked WorkOrder records
178
+ * @remarks Available labels: WorkOrder_OhInProgressAudit
179
+ * @throws Error if called on a new (unsaved) record
180
+ *
181
+ * @example
182
+ * ```typescript
183
+ * // Get all linked WorkOrder records
184
+ * const items = await record.workOrders.list();
185
+ * const first = await record.workOrders.first();
186
+ *
187
+ * // Filter by label
188
+ * const specific = await record.workOrders.first({ label: 'WorkOrder_OhInProgressAudit' });
189
+ * ```
190
+ */
191
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof OhInProgressAuditRecord['workOrdersLabels'][number]>;
111
192
  /**
112
193
  * Queue a link to be created with the next action.
113
194
  * Works for both create and update actions.
@@ -14,6 +14,8 @@
14
14
  * await record.createOhInProgressAudit({ ... }).execute();
15
15
  * ```
16
16
  *
17
+ * Entity Types: OUTCOME_FORM
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,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
31
  exports.isOhInProgressAuditRecord = exports.OhInProgressAuditRecord = 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 FileRecord_1 = require("./FileRecord");
36
+ const NoteRecord_1 = require("./NoteRecord");
37
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
32
38
  /**
33
39
  * Builder for action execution with dryRun support
34
40
  *
@@ -140,6 +146,115 @@ class OhInProgressAuditRecord {
140
146
  /** Access the underlying OdinRecord (null for new records) */
141
147
  get record() { return this._record; }
142
148
  // ============================================
149
+ // TYPE GUARDS (with TypeScript type predicates)
150
+ // ============================================
151
+ /**
152
+ * Type guard: check if this record is of type OUTCOME_FORM
153
+ *
154
+ * When this returns true, TypeScript automatically narrows the type,
155
+ * giving you access to OUTCOME_FORM-specific properties.
156
+ *
157
+ * @example
158
+ * ```typescript
159
+ * if (record.isOutcomeForm()) {
160
+ * // TypeScript knows record.properties is OutcomeFormOhInProgressAuditProperties
161
+ * console.log(record.properties.SomeTypeSpecificField);
162
+ * }
163
+ * ```
164
+ * @remarks outcome form
165
+ */
166
+ isOutcomeForm() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'OUTCOME_FORM'; }
167
+ /**
168
+ * Access linked File records
169
+ * @remarks Available labels: OhInProgressAudit_File
170
+ * @throws Error if called on a new (unsaved) record
171
+ *
172
+ * @example
173
+ * ```typescript
174
+ * // Get all linked File records
175
+ * const items = await record.files.list();
176
+ * const first = await record.files.first();
177
+ *
178
+ * // Filter by label
179
+ * const specific = await record.files.first({ label: 'OhInProgressAudit_File' });
180
+ * ```
181
+ */
182
+ get files() {
183
+ var _a;
184
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
185
+ throw new Error('Cannot access links on a new (unsaved) record');
186
+ if (!this._files) {
187
+ this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
188
+ sourceEntity: 'FieldServiceModule:OhInProgressAudit',
189
+ targetEntity: 'SchemaModule:File',
190
+ targetModuleName: 'SchemaModule',
191
+ targetEntityName: 'File',
192
+ labels: ['OhInProgressAudit_File'],
193
+ }, FileRecord_1.FileRecord);
194
+ }
195
+ return this._files;
196
+ }
197
+ /**
198
+ * Access linked Note records
199
+ * @remarks Available labels: OhInProgressAudit_Note
200
+ * @throws Error if called on a new (unsaved) record
201
+ *
202
+ * @example
203
+ * ```typescript
204
+ * // Get all linked Note records
205
+ * const items = await record.notes.list();
206
+ * const first = await record.notes.first();
207
+ *
208
+ * // Filter by label
209
+ * const specific = await record.notes.first({ label: 'OhInProgressAudit_Note' });
210
+ * ```
211
+ */
212
+ get notes() {
213
+ var _a;
214
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
215
+ throw new Error('Cannot access links on a new (unsaved) record');
216
+ if (!this._notes) {
217
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
218
+ sourceEntity: 'FieldServiceModule:OhInProgressAudit',
219
+ targetEntity: 'SupportModule:Note',
220
+ targetModuleName: 'SupportModule',
221
+ targetEntityName: 'Note',
222
+ labels: ['OhInProgressAudit_Note'],
223
+ }, NoteRecord_1.NoteRecord);
224
+ }
225
+ return this._notes;
226
+ }
227
+ /**
228
+ * Access linked WorkOrder records
229
+ * @remarks Available labels: WorkOrder_OhInProgressAudit
230
+ * @throws Error if called on a new (unsaved) record
231
+ *
232
+ * @example
233
+ * ```typescript
234
+ * // Get all linked WorkOrder records
235
+ * const items = await record.workOrders.list();
236
+ * const first = await record.workOrders.first();
237
+ *
238
+ * // Filter by label
239
+ * const specific = await record.workOrders.first({ label: 'WorkOrder_OhInProgressAudit' });
240
+ * ```
241
+ */
242
+ get workOrders() {
243
+ var _a;
244
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
245
+ throw new Error('Cannot access links on a new (unsaved) record');
246
+ if (!this._workOrders) {
247
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
248
+ sourceEntity: 'FieldServiceModule:OhInProgressAudit',
249
+ targetEntity: 'FieldServiceModule:WorkOrder',
250
+ targetModuleName: 'FieldServiceModule',
251
+ targetEntityName: 'WorkOrder',
252
+ labels: ['WorkOrder_OhInProgressAudit'],
253
+ }, WorkOrderRecord_1.WorkOrderRecord);
254
+ }
255
+ return this._workOrders;
256
+ }
257
+ // ============================================
143
258
  // LINK MANAGEMENT
144
259
  // ============================================
145
260
  /**
@@ -215,6 +330,15 @@ class OhInProgressAuditRecord {
215
330
  }
216
331
  }
217
332
  exports.OhInProgressAuditRecord = OhInProgressAuditRecord;
333
+ // ============================================
334
+ // TYPED LINK ACCESSORS
335
+ // ============================================
336
+ /** Valid labels for File associations */
337
+ OhInProgressAuditRecord.filesLabels = ['OhInProgressAudit_File'];
338
+ /** Valid labels for Note associations */
339
+ OhInProgressAuditRecord.notesLabels = ['OhInProgressAudit_Note'];
340
+ /** Valid labels for WorkOrder associations */
341
+ OhInProgressAuditRecord.workOrdersLabels = ['WorkOrder_OhInProgressAudit'];
218
342
  /** Type guard to check if an object is a OhInProgressAuditRecord */
219
343
  function isOhInProgressAuditRecord(obj) {
220
344
  return obj instanceof OhInProgressAuditRecord;