@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,10 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.isPermissionToFailRecord = exports.PermissionToFailRecord = 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 NoteRecord_1 = require("./NoteRecord");
34
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
35
+ const RemediationRequiredReasonRecord_1 = require("./RemediationRequiredReasonRecord");
32
36
  /**
33
37
  * Builder for action execution with dryRun support
34
38
  *
@@ -139,6 +143,96 @@ class PermissionToFailRecord {
139
143
  get groups() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.groups) || []; }
140
144
  /** Access the underlying OdinRecord (null for new records) */
141
145
  get record() { return this._record; }
146
+ /**
147
+ * Access linked Note records
148
+ * @remarks Available labels: PermissionToFail_Note
149
+ * @throws Error if called on a new (unsaved) record
150
+ *
151
+ * @example
152
+ * ```typescript
153
+ * // Get all linked Note records
154
+ * const items = await record.notes.list();
155
+ * const first = await record.notes.first();
156
+ *
157
+ * // Filter by label
158
+ * const specific = await record.notes.first({ label: 'PermissionToFail_Note' });
159
+ * ```
160
+ */
161
+ get notes() {
162
+ var _a;
163
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
164
+ throw new Error('Cannot access links on a new (unsaved) record');
165
+ if (!this._notes) {
166
+ this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
167
+ sourceEntity: 'FieldServiceModule:PermissionToFail',
168
+ targetEntity: 'SupportModule:Note',
169
+ targetModuleName: 'SupportModule',
170
+ targetEntityName: 'Note',
171
+ labels: ['PermissionToFail_Note'],
172
+ }, NoteRecord_1.NoteRecord);
173
+ }
174
+ return this._notes;
175
+ }
176
+ /**
177
+ * Access linked WorkOrder records
178
+ * @remarks Available labels: WorkOrder__PermissionToFail
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__PermissionToFail' });
189
+ * ```
190
+ */
191
+ get workOrders() {
192
+ var _a;
193
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
194
+ throw new Error('Cannot access links on a new (unsaved) record');
195
+ if (!this._workOrders) {
196
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
197
+ sourceEntity: 'FieldServiceModule:PermissionToFail',
198
+ targetEntity: 'FieldServiceModule:WorkOrder',
199
+ targetModuleName: 'FieldServiceModule',
200
+ targetEntityName: 'WorkOrder',
201
+ labels: ['WorkOrder__PermissionToFail'],
202
+ }, WorkOrderRecord_1.WorkOrderRecord);
203
+ }
204
+ return this._workOrders;
205
+ }
206
+ /**
207
+ * Access linked RemediationRequiredReason records
208
+ * @remarks Available labels: PermissionToFail__RemediationRequiredReason
209
+ * @throws Error if called on a new (unsaved) record
210
+ *
211
+ * @example
212
+ * ```typescript
213
+ * // Get all linked RemediationRequiredReason records
214
+ * const items = await record.remediationRequiredReasons.list();
215
+ * const first = await record.remediationRequiredReasons.first();
216
+ *
217
+ * // Filter by label
218
+ * const specific = await record.remediationRequiredReasons.first({ label: 'PermissionToFail__RemediationRequiredReason' });
219
+ * ```
220
+ */
221
+ get remediationRequiredReasons() {
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._remediationRequiredReasons) {
226
+ this._remediationRequiredReasons = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
227
+ sourceEntity: 'FieldServiceModule:PermissionToFail',
228
+ targetEntity: 'FieldServiceModule:RemediationRequiredReason',
229
+ targetModuleName: 'FieldServiceModule',
230
+ targetEntityName: 'RemediationRequiredReason',
231
+ labels: ['PermissionToFail__RemediationRequiredReason'],
232
+ }, RemediationRequiredReasonRecord_1.RemediationRequiredReasonRecord);
233
+ }
234
+ return this._remediationRequiredReasons;
235
+ }
142
236
  // ============================================
143
237
  // LINK MANAGEMENT
144
238
  // ============================================
@@ -247,6 +341,15 @@ class PermissionToFailRecord {
247
341
  }
248
342
  }
249
343
  exports.PermissionToFailRecord = PermissionToFailRecord;
344
+ // ============================================
345
+ // TYPED LINK ACCESSORS
346
+ // ============================================
347
+ /** Valid labels for Note associations */
348
+ PermissionToFailRecord.notesLabels = ['PermissionToFail_Note'];
349
+ /** Valid labels for WorkOrder associations */
350
+ PermissionToFailRecord.workOrdersLabels = ['WorkOrder__PermissionToFail'];
351
+ /** Valid labels for RemediationRequiredReason associations */
352
+ PermissionToFailRecord.remediationRequiredReasonsLabels = ['PermissionToFail__RemediationRequiredReason'];
250
353
  /** Type guard to check if an object is a PermissionToFailRecord */
251
354
  function isPermissionToFailRecord(obj) {
252
355
  return obj instanceof PermissionToFailRecord;
@@ -13,6 +13,8 @@
13
13
  * await record.createPgAccountValidation({ ... }).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';
@@ -21,6 +23,8 @@ import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/
21
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
22
24
  import { PgAccountValidationProperties } from '../entities-v2/PgAccountValidation';
23
25
  import { CreatePgValidationRuleProperties } from '../actions-v2/CreatePgValidationRuleDto';
26
+ /** Valid entity types for PgAccountValidation */
27
+ export declare type PgAccountValidationType = 'DEFAULT';
24
28
  /**
25
29
  * Builder for action execution with dryRun support
26
30
  *
@@ -96,7 +100,7 @@ export declare class PgAccountValidationRecord<TProps = PgAccountValidationPrope
96
100
  /** Record ID - always available (pre-generated for new records) */
97
101
  get id(): string;
98
102
  get entity(): string;
99
- get type(): string | undefined;
103
+ get type(): PgAccountValidationType | undefined;
100
104
  /** Record properties - empty object for new (unsaved) records */
101
105
  get properties(): TProps;
102
106
  get title(): string | undefined;
@@ -109,6 +113,22 @@ export declare class PgAccountValidationRecord<TProps = PgAccountValidationPrope
109
113
  get groups(): string[];
110
114
  /** Access the underlying OdinRecord (null for new records) */
111
115
  get record(): OdinRecord<TProps> | null;
116
+ /**
117
+ * Type guard: check if this record is of type DEFAULT
118
+ *
119
+ * When this returns true, TypeScript automatically narrows the type,
120
+ * giving you access to DEFAULT-specific properties.
121
+ *
122
+ * @example
123
+ * ```typescript
124
+ * if (record.isDefault()) {
125
+ * // TypeScript knows record.properties is PgAccountValidationProperties
126
+ * console.log(record.properties.SomeTypeSpecificField);
127
+ * }
128
+ * ```
129
+ * @remarks This is the default record type
130
+ */
131
+ isDefault(): this is PgAccountValidationRecord<PgAccountValidationProperties>;
112
132
  /**
113
133
  * Queue a link to be created with the next action.
114
134
  * Works for both create and update actions.
@@ -14,6 +14,8 @@
14
14
  * await record.createPgAccountValidation({ ... }).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) {
@@ -140,6 +142,25 @@ class PgAccountValidationRecord {
140
142
  /** Access the underlying OdinRecord (null for new records) */
141
143
  get record() { return this._record; }
142
144
  // ============================================
145
+ // TYPE GUARDS (with TypeScript type predicates)
146
+ // ============================================
147
+ /**
148
+ * Type guard: check if this record is of type DEFAULT
149
+ *
150
+ * When this returns true, TypeScript automatically narrows the type,
151
+ * giving you access to DEFAULT-specific properties.
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * if (record.isDefault()) {
156
+ * // TypeScript knows record.properties is PgAccountValidationProperties
157
+ * console.log(record.properties.SomeTypeSpecificField);
158
+ * }
159
+ * ```
160
+ * @remarks This is the default record type
161
+ */
162
+ isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
163
+ // ============================================
143
164
  // LINK MANAGEMENT
144
165
  // ============================================
145
166
  /**
@@ -13,15 +13,22 @@
13
13
  * await record.createPgContact({ ... }).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 { PgContactProperties } from '../entities-v2/PgContact';
23
26
  import { CreatePgContactProperties } from '../actions-v2/CreatePgContactDto';
24
27
  import { UpdatePgContactProperties } from '../actions-v2/UpdatePgContactDto';
28
+ import { PgWebhookRecord } from './PgWebhookRecord';
29
+ import { PgPaymentMethodRecord } from './PgPaymentMethodRecord';
30
+ /** Valid entity types for PgContact */
31
+ export declare type PgContactType = 'DEFAULT';
25
32
  /**
26
33
  * Builder for action execution with dryRun support
27
34
  *
@@ -85,6 +92,8 @@ export declare class PgContactRecord<TProps = PgContactProperties> {
85
92
  private _provider;
86
93
  private _pendingLinks;
87
94
  private _preGeneratedId;
95
+ private _pgWebhooks?;
96
+ private _pgPaymentMethods?;
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 PgContactRecord<TProps = PgContactProperties> {
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(): PgContactType | 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 PgContactRecord<TProps = PgContactProperties> {
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 PgContactProperties
132
+ * console.log(record.properties.SomeTypeSpecificField);
133
+ * }
134
+ * ```
135
+ * @remarks This is the default record type
136
+ */
137
+ isDefault(): this is PgContactRecord<PgContactProperties>;
138
+ /** Valid labels for PgWebhook associations */
139
+ static readonly pgWebhooksLabels: readonly ["PgContact__PgWebhook"];
140
+ /**
141
+ * Access linked PgWebhook records
142
+ * @remarks Available labels: PgContact__PgWebhook
143
+ * @throws Error if called on a new (unsaved) record
144
+ *
145
+ * @example
146
+ * ```typescript
147
+ * // Get all linked PgWebhook records
148
+ * const items = await record.pgWebhooks.list();
149
+ * const first = await record.pgWebhooks.first();
150
+ *
151
+ * // Filter by label
152
+ * const specific = await record.pgWebhooks.first({ label: 'PgContact__PgWebhook' });
153
+ * ```
154
+ */
155
+ get pgWebhooks(): RecordLinkManager<PgWebhookRecord, typeof PgContactRecord['pgWebhooksLabels'][number]>;
156
+ /** Valid labels for PgPaymentMethod associations */
157
+ static readonly pgPaymentMethodsLabels: readonly ["PgContact__PgPaymentMethod"];
158
+ /**
159
+ * Access linked PgPaymentMethod records
160
+ * @remarks Available labels: PgContact__PgPaymentMethod
161
+ * @throws Error if called on a new (unsaved) record
162
+ *
163
+ * @example
164
+ * ```typescript
165
+ * // Get all linked PgPaymentMethod records
166
+ * const items = await record.pgPaymentMethods.list();
167
+ * const first = await record.pgPaymentMethods.first();
168
+ *
169
+ * // Filter by label
170
+ * const specific = await record.pgPaymentMethods.first({ label: 'PgContact__PgPaymentMethod' });
171
+ * ```
172
+ */
173
+ get pgPaymentMethods(): RecordLinkManager<PgPaymentMethodRecord, typeof PgContactRecord['pgPaymentMethodsLabels'][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.createPgContact({ ... }).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.isPgContactRecord = exports.PgContactRecord = 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 PgWebhookRecord_1 = require("./PgWebhookRecord");
36
+ const PgPaymentMethodRecord_1 = require("./PgPaymentMethodRecord");
32
37
  /**
33
38
  * Builder for action execution with dryRun support
34
39
  *
@@ -140,6 +145,85 @@ class PgContactRecord {
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 PgContactProperties
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 PgWebhook records
168
+ * @remarks Available labels: PgContact__PgWebhook
169
+ * @throws Error if called on a new (unsaved) record
170
+ *
171
+ * @example
172
+ * ```typescript
173
+ * // Get all linked PgWebhook records
174
+ * const items = await record.pgWebhooks.list();
175
+ * const first = await record.pgWebhooks.first();
176
+ *
177
+ * // Filter by label
178
+ * const specific = await record.pgWebhooks.first({ label: 'PgContact__PgWebhook' });
179
+ * ```
180
+ */
181
+ get pgWebhooks() {
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._pgWebhooks) {
186
+ this._pgWebhooks = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
187
+ sourceEntity: 'BillingModule:PgContact',
188
+ targetEntity: 'AuditModule:PgWebhook',
189
+ targetModuleName: 'AuditModule',
190
+ targetEntityName: 'PgWebhook',
191
+ labels: ['PgContact__PgWebhook'],
192
+ }, PgWebhookRecord_1.PgWebhookRecord);
193
+ }
194
+ return this._pgWebhooks;
195
+ }
196
+ /**
197
+ * Access linked PgPaymentMethod records
198
+ * @remarks Available labels: PgContact__PgPaymentMethod
199
+ * @throws Error if called on a new (unsaved) record
200
+ *
201
+ * @example
202
+ * ```typescript
203
+ * // Get all linked PgPaymentMethod records
204
+ * const items = await record.pgPaymentMethods.list();
205
+ * const first = await record.pgPaymentMethods.first();
206
+ *
207
+ * // Filter by label
208
+ * const specific = await record.pgPaymentMethods.first({ label: 'PgContact__PgPaymentMethod' });
209
+ * ```
210
+ */
211
+ get pgPaymentMethods() {
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._pgPaymentMethods) {
216
+ this._pgPaymentMethods = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
217
+ sourceEntity: 'BillingModule:PgContact',
218
+ targetEntity: 'BillingModule:PgPaymentMethod',
219
+ targetModuleName: 'BillingModule',
220
+ targetEntityName: 'PgPaymentMethod',
221
+ labels: ['PgContact__PgPaymentMethod'],
222
+ }, PgPaymentMethodRecord_1.PgPaymentMethodRecord);
223
+ }
224
+ return this._pgPaymentMethods;
225
+ }
226
+ // ============================================
143
227
  // LINK MANAGEMENT
144
228
  // ============================================
145
229
  /**
@@ -255,6 +339,13 @@ class PgContactRecord {
255
339
  }
256
340
  }
257
341
  exports.PgContactRecord = PgContactRecord;
342
+ // ============================================
343
+ // TYPED LINK ACCESSORS
344
+ // ============================================
345
+ /** Valid labels for PgWebhook associations */
346
+ PgContactRecord.pgWebhooksLabels = ['PgContact__PgWebhook'];
347
+ /** Valid labels for PgPaymentMethod associations */
348
+ PgContactRecord.pgPaymentMethodsLabels = ['PgContact__PgPaymentMethod'];
258
349
  /** Type guard to check if an object is a PgContactRecord */
259
350
  function isPgContactRecord(obj) {
260
351
  return obj instanceof PgContactRecord;
@@ -13,13 +13,16 @@
13
13
  * await record.createPgDirectDebitFile({ ... }).execute();
14
14
  * ```
15
15
  *
16
+ * Entity Types: DEFAULT, RESPONSE, SUBMISSION
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 { PgDirectDebitFileProperties } from '../entities-v2/PgDirectDebitFile';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
+ import { PgDirectDebitFileProperties, ResponsePgDirectDebitFileProperties, SubmissionPgDirectDebitFileProperties } from '../entities-v2/PgDirectDebitFile';
23
26
  import { CreatePgResponseProperties } from '../actions-v2/CreatePgResponseDto';
24
27
  import { CreatePgSubmissionProperties } from '../actions-v2/CreatePgSubmissionDto';
25
28
  import { UpdatePgResponseCompanyProperties } from '../actions-v2/UpdatePgResponseCompanyDto';
@@ -27,6 +30,10 @@ import { UpdatePgResponseProperties } from '../actions-v2/UpdatePgResponseDto';
27
30
  import { UpdatePgResponseFileReferenceNumberProperties } from '../actions-v2/UpdatePgResponseFileReferenceNumberDto';
28
31
  import { UpdatePgResponseMessageProperties } from '../actions-v2/UpdatePgResponseMessageDto';
29
32
  import { UpdatePgSubmissionProperties } from '../actions-v2/UpdatePgSubmissionDto';
33
+ import { FileRecord } from './FileRecord';
34
+ import { PgFileAllocationRecord } from './PgFileAllocationRecord';
35
+ /** Valid entity types for PgDirectDebitFile */
36
+ export declare type PgDirectDebitFileType = 'DEFAULT' | 'RESPONSE' | 'SUBMISSION';
30
37
  /**
31
38
  * Builder for action execution with dryRun support
32
39
  *
@@ -90,6 +97,8 @@ export declare class PgDirectDebitFileRecord<TProps = PgDirectDebitFilePropertie
90
97
  private _provider;
91
98
  private _pendingLinks;
92
99
  private _preGeneratedId;
100
+ private _files?;
101
+ private _pgFileAllocations?;
93
102
  /**
94
103
  * Create a record wrapper.
95
104
  * @param record - The underlying record, or null for create operations
@@ -102,7 +111,7 @@ export declare class PgDirectDebitFileRecord<TProps = PgDirectDebitFilePropertie
102
111
  /** Record ID - always available (pre-generated for new records) */
103
112
  get id(): string;
104
113
  get entity(): string;
105
- get type(): string | undefined;
114
+ get type(): PgDirectDebitFileType | undefined;
106
115
  /** Record properties - empty object for new (unsaved) records */
107
116
  get properties(): TProps;
108
117
  get title(): string | undefined;
@@ -115,6 +124,90 @@ export declare class PgDirectDebitFileRecord<TProps = PgDirectDebitFilePropertie
115
124
  get groups(): string[];
116
125
  /** Access the underlying OdinRecord (null for new records) */
117
126
  get record(): OdinRecord<TProps> | null;
127
+ /**
128
+ * Type guard: check if this record is of type DEFAULT
129
+ *
130
+ * When this returns true, TypeScript automatically narrows the type,
131
+ * giving you access to DEFAULT-specific properties.
132
+ *
133
+ * @example
134
+ * ```typescript
135
+ * if (record.isDefault()) {
136
+ * // TypeScript knows record.properties is PgDirectDebitFileProperties
137
+ * console.log(record.properties.SomeTypeSpecificField);
138
+ * }
139
+ * ```
140
+ * @remarks This is the default record type
141
+ */
142
+ isDefault(): this is PgDirectDebitFileRecord<PgDirectDebitFileProperties>;
143
+ /**
144
+ * Type guard: check if this record is of type RESPONSE
145
+ *
146
+ * When this returns true, TypeScript automatically narrows the type,
147
+ * giving you access to RESPONSE-specific properties.
148
+ *
149
+ * @example
150
+ * ```typescript
151
+ * if (record.isResponse()) {
152
+ * // TypeScript knows record.properties is ResponsePgDirectDebitFileProperties
153
+ * console.log(record.properties.SomeTypeSpecificField);
154
+ * }
155
+ * ```
156
+ * @remarks Files received from HSBC
157
+ */
158
+ isResponse(): this is PgDirectDebitFileRecord<ResponsePgDirectDebitFileProperties>;
159
+ /**
160
+ * Type guard: check if this record is of type SUBMISSION
161
+ *
162
+ * When this returns true, TypeScript automatically narrows the type,
163
+ * giving you access to SUBMISSION-specific properties.
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * if (record.isSubmission()) {
168
+ * // TypeScript knows record.properties is SubmissionPgDirectDebitFileProperties
169
+ * console.log(record.properties.SomeTypeSpecificField);
170
+ * }
171
+ * ```
172
+ * @remarks Files submitted to HSBC
173
+ */
174
+ isSubmission(): this is PgDirectDebitFileRecord<SubmissionPgDirectDebitFileProperties>;
175
+ /** Valid labels for File associations */
176
+ static readonly filesLabels: readonly ["PgDirectDebitFile__File"];
177
+ /**
178
+ * Access linked File records
179
+ * @remarks Available labels: PgDirectDebitFile__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: 'PgDirectDebitFile__File' });
190
+ * ```
191
+ */
192
+ get files(): RecordLinkManager<FileRecord, typeof PgDirectDebitFileRecord['filesLabels'][number]>;
193
+ /** Valid labels for PgFileAllocation associations */
194
+ static readonly pgFileAllocationsLabels: readonly ["PgDirectDebitFile__PgFileAllocation"];
195
+ /**
196
+ * Access linked PgFileAllocation records
197
+ * @remarks Available labels: PgDirectDebitFile__PgFileAllocation
198
+ * @throws Error if called on a new (unsaved) record
199
+ *
200
+ * @example
201
+ * ```typescript
202
+ * // Get all linked PgFileAllocation records
203
+ * const items = await record.pgFileAllocations.list();
204
+ * const first = await record.pgFileAllocations.first();
205
+ *
206
+ * // Filter by label
207
+ * const specific = await record.pgFileAllocations.first({ label: 'PgDirectDebitFile__PgFileAllocation' });
208
+ * ```
209
+ */
210
+ get pgFileAllocations(): RecordLinkManager<PgFileAllocationRecord, typeof PgDirectDebitFileRecord['pgFileAllocationsLabels'][number]>;
118
211
  /**
119
212
  * Queue a link to be created with the next action.
120
213
  * Works for both create and update actions.