@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.
- package/README.md +11 -10
- package/dist/actions-v2/CreateOrderFromBrskDto.d.ts +75 -0
- package/dist/actions-v2/CreateOrderItemFromBrskDto.d.ts +191 -0
- package/dist/actions-v2/CreateOrderItemFromBrskDto.js +52 -0
- package/dist/entities-v2/Order.d.ts +7 -0
- package/dist/entities-v2/Order.js +2 -0
- package/dist/entities-v2/OrderItem.d.ts +7 -0
- package/dist/entities-v2/OrderItem.js +2 -0
- package/dist/entities-v2/Product.d.ts +0 -42
- package/dist/entities-v2/Product.js +0 -2
- package/dist/records-v2/AccountCreditRecord.d.ts +62 -1
- package/dist/records-v2/AccountCreditRecord.js +91 -0
- package/dist/records-v2/AccountRecord.d.ts +306 -2
- package/dist/records-v2/AccountRecord.js +451 -0
- package/dist/records-v2/ActivityLogRecord.d.ts +122 -1
- package/dist/records-v2/ActivityLogRecord.js +190 -0
- package/dist/records-v2/ActivityRecord.d.ts +255 -2
- package/dist/records-v2/ActivityRecord.js +387 -0
- package/dist/records-v2/AddressRecord.d.ts +321 -0
- package/dist/records-v2/AddressRecord.js +532 -0
- package/dist/records-v2/AffiliateCodeRecord.d.ts +102 -1
- package/dist/records-v2/AffiliateCodeRecord.js +157 -0
- package/dist/records-v2/AppointmentRecord.d.ts +141 -0
- package/dist/records-v2/AppointmentRecord.js +235 -0
- package/dist/records-v2/BillingAdjustmentRecord.d.ts +81 -0
- package/dist/records-v2/BillingAdjustmentRecord.js +136 -0
- package/dist/records-v2/BillingRequestRecord.d.ts +178 -2
- package/dist/records-v2/BillingRequestRecord.js +271 -0
- package/dist/records-v2/BlockageA55Record.d.ts +103 -2
- package/dist/records-v2/BlockageA55Record.js +157 -0
- package/dist/records-v2/BrskEntityMigrationErrorRecord.d.ts +21 -1
- package/dist/records-v2/BrskEntityMigrationErrorRecord.js +21 -0
- package/dist/records-v2/CallEventRecord.d.ts +82 -1
- package/dist/records-v2/CallEventRecord.js +124 -0
- package/dist/records-v2/CallLegRecord.d.ts +82 -1
- package/dist/records-v2/CallLegRecord.js +124 -0
- package/dist/records-v2/CallRecord.d.ts +202 -1
- package/dist/records-v2/CallRecord.js +322 -0
- package/dist/records-v2/CallTransferRecord.d.ts +102 -1
- package/dist/records-v2/CallTransferRecord.js +157 -0
- package/dist/records-v2/CampaignRecord.d.ts +83 -2
- package/dist/records-v2/CampaignRecord.js +124 -0
- package/dist/records-v2/CaseRecord.d.ts +418 -2
- package/dist/records-v2/CaseRecord.js +667 -0
- package/dist/records-v2/ChangeReasonRecord.d.ts +171 -2
- package/dist/records-v2/ChangeReasonRecord.js +238 -0
- package/dist/records-v2/ChurnRequestRecord.d.ts +62 -1
- package/dist/records-v2/ChurnRequestRecord.js +91 -0
- package/dist/records-v2/ContactRecord.d.ts +560 -0
- package/dist/records-v2/ContactRecord.js +927 -0
- package/dist/records-v2/ContractBuyOutRecord.d.ts +162 -1
- package/dist/records-v2/ContractBuyOutRecord.js +256 -0
- package/dist/records-v2/ConversationFeedbackRecord.d.ts +102 -1
- package/dist/records-v2/ConversationFeedbackRecord.js +157 -0
- package/dist/records-v2/ConversationRecord.d.ts +102 -1
- package/dist/records-v2/ConversationRecord.js +157 -0
- package/dist/records-v2/CreditNoteRecord.d.ts +81 -0
- package/dist/records-v2/CreditNoteRecord.js +136 -0
- package/dist/records-v2/CrmDatasetRecord.d.ts +191 -2
- package/dist/records-v2/CrmDatasetRecord.js +271 -0
- package/dist/records-v2/CustomerDeviceAtaRecord.d.ts +21 -0
- package/dist/records-v2/CustomerDeviceAtaRecord.js +37 -0
- package/dist/records-v2/CustomerDeviceConfigurationRecord.d.ts +62 -1
- package/dist/records-v2/CustomerDeviceConfigurationRecord.js +91 -0
- package/dist/records-v2/CustomerDeviceOntRecord.d.ts +181 -0
- package/dist/records-v2/CustomerDeviceOntRecord.js +301 -0
- package/dist/records-v2/CustomerDeviceRouterRecord.d.ts +141 -0
- package/dist/records-v2/CustomerDeviceRouterRecord.js +235 -0
- package/dist/records-v2/CustomerPhonePortingRecord.d.ts +21 -0
- package/dist/records-v2/CustomerPhonePortingRecord.js +37 -0
- package/dist/records-v2/DiscountRecord.d.ts +121 -0
- package/dist/records-v2/DiscountRecord.js +202 -0
- package/dist/records-v2/EmailRecord.d.ts +230 -2
- package/dist/records-v2/EmailRecord.js +336 -0
- package/dist/records-v2/EmailSenderRecord.d.ts +42 -1
- package/dist/records-v2/EmailSenderRecord.js +58 -0
- package/dist/records-v2/EmailTemplateRecord.d.ts +21 -1
- package/dist/records-v2/EmailTemplateRecord.js +21 -0
- package/dist/records-v2/FieldServiceDispatchedProductRecord.d.ts +135 -2
- package/dist/records-v2/FieldServiceDispatchedProductRecord.js +189 -0
- package/dist/records-v2/FieldServiceProductRecord.d.ts +115 -2
- package/dist/records-v2/FieldServiceProductRecord.js +156 -0
- package/dist/records-v2/FileRecord.d.ts +1211 -2
- package/dist/records-v2/FileRecord.js +1902 -0
- package/dist/records-v2/ImpersonationTrackerRecord.d.ts +62 -1
- package/dist/records-v2/ImpersonationTrackerRecord.js +91 -0
- package/dist/records-v2/InternalInstallAuditRecord.d.ts +83 -2
- package/dist/records-v2/InternalInstallAuditRecord.js +124 -0
- package/dist/records-v2/InvoiceItemRecord.d.ts +40 -0
- package/dist/records-v2/InvoiceItemRecord.js +69 -0
- package/dist/records-v2/InvoiceRecord.d.ts +399 -2
- package/dist/records-v2/InvoiceRecord.js +635 -0
- package/dist/records-v2/KnowledgeArticleRecord.d.ts +98 -2
- package/dist/records-v2/KnowledgeArticleRecord.js +139 -0
- package/dist/records-v2/LeadRecord.d.ts +261 -0
- package/dist/records-v2/LeadRecord.js +433 -0
- package/dist/records-v2/MessageRecord.d.ts +99 -2
- package/dist/records-v2/MessageRecord.js +140 -0
- package/dist/records-v2/NetworkDeviceRecord.d.ts +43 -2
- package/dist/records-v2/NetworkDeviceRecord.js +58 -0
- package/dist/records-v2/NoteRecord.d.ts +1121 -1
- package/dist/records-v2/NoteRecord.js +1839 -0
- package/dist/records-v2/OfferRecord.d.ts +154 -2
- package/dist/records-v2/OfferRecord.js +221 -0
- package/dist/records-v2/OhAuditOfInstallationRecord.d.ts +83 -2
- package/dist/records-v2/OhAuditOfInstallationRecord.js +124 -0
- package/dist/records-v2/OhExternalAuditRecord.d.ts +83 -2
- package/dist/records-v2/OhExternalAuditRecord.js +124 -0
- package/dist/records-v2/OhInProgressAuditRecord.d.ts +83 -2
- package/dist/records-v2/OhInProgressAuditRecord.js +124 -0
- package/dist/records-v2/OhInstallationAuditRecord.d.ts +83 -2
- package/dist/records-v2/OhInstallationAuditRecord.js +124 -0
- package/dist/records-v2/OhRetroAuditRecord.d.ts +83 -2
- package/dist/records-v2/OhRetroAuditRecord.js +124 -0
- package/dist/records-v2/OneTouchSwitchRecord.d.ts +255 -2
- package/dist/records-v2/OneTouchSwitchRecord.js +387 -0
- package/dist/records-v2/OntReplacementApprovalRecord.d.ts +62 -1
- package/dist/records-v2/OntReplacementApprovalRecord.js +91 -0
- package/dist/records-v2/OrderCheckRecord.d.ts +21 -0
- package/dist/records-v2/OrderCheckRecord.js +37 -0
- package/dist/records-v2/OrderItemRecord.d.ts +309 -0
- package/dist/records-v2/OrderItemRecord.js +501 -0
- package/dist/records-v2/OrderKciRecord.d.ts +42 -1
- package/dist/records-v2/OrderKciRecord.js +58 -0
- package/dist/records-v2/OrderRecord.d.ts +620 -0
- package/dist/records-v2/OrderRecord.js +1026 -0
- package/dist/records-v2/OutageRecord.d.ts +42 -1
- package/dist/records-v2/OutageRecord.js +58 -0
- package/dist/records-v2/OverlayRealA55Record.d.ts +83 -2
- package/dist/records-v2/OverlayRealA55Record.js +124 -0
- package/dist/records-v2/PICRequestRecord.d.ts +62 -1
- package/dist/records-v2/PICRequestRecord.js +91 -0
- package/dist/records-v2/PaymentMethodRecord.d.ts +121 -0
- package/dist/records-v2/PaymentMethodRecord.js +202 -0
- package/dist/records-v2/PaymentMethodRefundRecord.d.ts +181 -0
- package/dist/records-v2/PaymentMethodRefundRecord.js +301 -0
- package/dist/records-v2/PaymentRecord.d.ts +82 -1
- package/dist/records-v2/PaymentRecord.js +124 -0
- package/dist/records-v2/PermissionToFailRecord.d.ts +61 -0
- package/dist/records-v2/PermissionToFailRecord.js +103 -0
- package/dist/records-v2/PgAccountValidationRecord.d.ts +21 -1
- package/dist/records-v2/PgAccountValidationRecord.js +21 -0
- package/dist/records-v2/PgContactRecord.d.ts +62 -1
- package/dist/records-v2/PgContactRecord.js +91 -0
- package/dist/records-v2/PgDirectDebitFileRecord.d.ts +95 -2
- package/dist/records-v2/PgDirectDebitFileRecord.js +123 -0
- package/dist/records-v2/PgDisputeRecord.d.ts +62 -1
- package/dist/records-v2/PgDisputeRecord.js +91 -0
- package/dist/records-v2/PgFileAllocationRecord.d.ts +115 -2
- package/dist/records-v2/PgFileAllocationRecord.js +156 -0
- package/dist/records-v2/PgLogRecord.d.ts +21 -1
- package/dist/records-v2/PgLogRecord.js +21 -0
- package/dist/records-v2/PgPaymentMethodRecord.d.ts +102 -1
- package/dist/records-v2/PgPaymentMethodRecord.js +157 -0
- package/dist/records-v2/PgSortCodeSubstitutionRecord.d.ts +21 -1
- package/dist/records-v2/PgSortCodeSubstitutionRecord.js +21 -0
- package/dist/records-v2/PgTransactionRecord.d.ts +135 -2
- package/dist/records-v2/PgTransactionRecord.js +189 -0
- package/dist/records-v2/PgVocalinkRecord.d.ts +21 -1
- package/dist/records-v2/PgVocalinkRecord.js +21 -0
- package/dist/records-v2/PgWebhookAttemptRecord.d.ts +42 -1
- package/dist/records-v2/PgWebhookAttemptRecord.js +58 -0
- package/dist/records-v2/PgWebhookRecord.d.ts +122 -1
- package/dist/records-v2/PgWebhookRecord.js +190 -0
- package/dist/records-v2/PhoneNumberRecord.d.ts +41 -0
- package/dist/records-v2/PhoneNumberRecord.js +70 -0
- package/dist/records-v2/PriceBookRecord.d.ts +21 -0
- package/dist/records-v2/PriceBookRecord.js +37 -0
- package/dist/records-v2/ProductRecord.d.ts +258 -2
- package/dist/records-v2/ProductRecord.js +351 -0
- package/dist/records-v2/PushNotificationRecord.d.ts +162 -1
- package/dist/records-v2/PushNotificationRecord.js +256 -0
- package/dist/records-v2/ReferralRecord.d.ts +143 -2
- package/dist/records-v2/ReferralRecord.js +223 -0
- package/dist/records-v2/RemediationOutcomeFormRecord.d.ts +83 -2
- package/dist/records-v2/RemediationOutcomeFormRecord.js +124 -0
- package/dist/records-v2/RemediationRequiredReasonRecord.d.ts +103 -2
- package/dist/records-v2/RemediationRequiredReasonRecord.js +157 -0
- package/dist/records-v2/ReturnsRecord.d.ts +62 -1
- package/dist/records-v2/ReturnsRecord.js +91 -0
- package/dist/records-v2/RewardRecord.d.ts +123 -2
- package/dist/records-v2/RewardRecord.js +190 -0
- package/dist/records-v2/SalesTerritoryRecord.d.ts +79 -2
- package/dist/records-v2/SalesTerritoryRecord.js +107 -0
- package/dist/records-v2/ScheduleSlotRecord.d.ts +42 -1
- package/dist/records-v2/ScheduleSlotRecord.js +58 -0
- package/dist/records-v2/ServiceAppointmentConfigRecord.d.ts +287 -2
- package/dist/records-v2/ServiceAppointmentConfigRecord.js +367 -0
- package/dist/records-v2/ServiceAppointmentRecord.d.ts +81 -0
- package/dist/records-v2/ServiceAppointmentRecord.js +136 -0
- package/dist/records-v2/ServiceRecord.d.ts +40 -0
- package/dist/records-v2/ServiceRecord.js +69 -0
- package/dist/records-v2/ServiceVisitAuditRecord.d.ts +83 -2
- package/dist/records-v2/ServiceVisitAuditRecord.js +124 -0
- package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.d.ts +83 -2
- package/dist/records-v2/SiteSpecificRiskAssessmentOutcomeFormRecord.js +124 -0
- package/dist/records-v2/SmsMessageRecord.d.ts +175 -2
- package/dist/records-v2/SmsMessageRecord.js +255 -0
- package/dist/records-v2/SweeperMaintenanceAuditRecord.d.ts +83 -2
- package/dist/records-v2/SweeperMaintenanceAuditRecord.js +124 -0
- package/dist/records-v2/TeamRecord.d.ts +101 -0
- package/dist/records-v2/TeamRecord.js +169 -0
- package/dist/records-v2/TestEntityForVisualBuilderRecord.d.ts +115 -2
- package/dist/records-v2/TestEntityForVisualBuilderRecord.js +156 -0
- package/dist/records-v2/TimeSlotRecord.d.ts +21 -0
- package/dist/records-v2/TimeSlotRecord.js +37 -0
- package/dist/records-v2/TransactionRecord.d.ts +181 -1
- package/dist/records-v2/TransactionRecord.js +288 -0
- package/dist/records-v2/TwilioUserUpdateRecord.d.ts +42 -1
- package/dist/records-v2/TwilioUserUpdateRecord.js +58 -0
- package/dist/records-v2/UgAuditOfInstallationRecord.d.ts +83 -2
- package/dist/records-v2/UgAuditOfInstallationRecord.js +124 -0
- package/dist/records-v2/UgExternalAuditRecord.d.ts +83 -2
- package/dist/records-v2/UgExternalAuditRecord.js +124 -0
- package/dist/records-v2/UgInProgressAuditRecord.d.ts +83 -2
- package/dist/records-v2/UgInProgressAuditRecord.js +124 -0
- package/dist/records-v2/UgInstallationAuditRecord.d.ts +83 -2
- package/dist/records-v2/UgInstallationAuditRecord.js +124 -0
- package/dist/records-v2/UgRetroAuditRecord.d.ts +83 -2
- package/dist/records-v2/UgRetroAuditRecord.js +124 -0
- package/dist/records-v2/UserRecord.d.ts +400 -0
- package/dist/records-v2/UserRecord.js +663 -0
- package/dist/records-v2/VisitRecord.d.ts +121 -0
- package/dist/records-v2/VisitRecord.js +202 -0
- package/dist/records-v2/VoiceConfigurationRecord.d.ts +21 -0
- package/dist/records-v2/VoiceConfigurationRecord.js +37 -0
- package/dist/records-v2/WayleaveAuditRecord.d.ts +83 -2
- package/dist/records-v2/WayleaveAuditRecord.js +124 -0
- package/dist/records-v2/WorkOrderRecord.d.ts +1226 -2
- package/dist/records-v2/WorkOrderRecord.js +1865 -0
- package/dist/records-v2/WorkOrderStatusUpdateRecord.d.ts +75 -2
- package/dist/records-v2/WorkOrderStatusUpdateRecord.js +90 -0
- package/dist/records-v2/YfFieldServiceVisitRecord.d.ts +83 -2
- package/dist/records-v2/YfFieldServiceVisitRecord.js +124 -0
- package/dist/records-v2/YfStockAuditRecord.d.ts +103 -2
- package/dist/records-v2/YfStockAuditRecord.js +157 -0
- package/dist/records-v2/index.d.ts +1 -1
- package/dist/records-v2/index.js +5 -5
- package/package.json +1 -1
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* await record.createTransaction({ ... }).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,14 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
31
|
exports.isTransactionRecord = exports.TransactionRecord = 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 PaymentMethodRecord_1 = require("./PaymentMethodRecord");
|
|
36
|
+
const NoteRecord_1 = require("./NoteRecord");
|
|
37
|
+
const CreditNoteRecord_1 = require("./CreditNoteRecord");
|
|
38
|
+
const FileRecord_1 = require("./FileRecord");
|
|
39
|
+
const BillingRequestRecord_1 = require("./BillingRequestRecord");
|
|
40
|
+
const PaymentRecord_1 = require("./PaymentRecord");
|
|
41
|
+
const InvoiceRecord_1 = require("./InvoiceRecord");
|
|
32
42
|
/**
|
|
33
43
|
* Builder for action execution with dryRun support
|
|
34
44
|
*
|
|
@@ -140,6 +150,265 @@ class TransactionRecord {
|
|
|
140
150
|
/** Access the underlying OdinRecord (null for new records) */
|
|
141
151
|
get record() { return this._record; }
|
|
142
152
|
// ============================================
|
|
153
|
+
// TYPE GUARDS (with TypeScript type predicates)
|
|
154
|
+
// ============================================
|
|
155
|
+
/**
|
|
156
|
+
* Type guard: check if this record is of type DEFAULT
|
|
157
|
+
*
|
|
158
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
159
|
+
* giving you access to DEFAULT-specific properties.
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* if (record.isDefault()) {
|
|
164
|
+
* // TypeScript knows record.properties is TransactionProperties
|
|
165
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
166
|
+
* }
|
|
167
|
+
* ```
|
|
168
|
+
* @remarks This is the default record type
|
|
169
|
+
*/
|
|
170
|
+
isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
|
|
171
|
+
/**
|
|
172
|
+
* Access linked PaymentMethod records
|
|
173
|
+
* @remarks Available labels: Transaction__PaymentMethod
|
|
174
|
+
* @throws Error if called on a new (unsaved) record
|
|
175
|
+
*
|
|
176
|
+
* @example
|
|
177
|
+
* ```typescript
|
|
178
|
+
* // Get all linked PaymentMethod records
|
|
179
|
+
* const items = await record.paymentMethods.list();
|
|
180
|
+
* const first = await record.paymentMethods.first();
|
|
181
|
+
*
|
|
182
|
+
* // Filter by label
|
|
183
|
+
* const specific = await record.paymentMethods.first({ label: 'Transaction__PaymentMethod' });
|
|
184
|
+
* ```
|
|
185
|
+
*/
|
|
186
|
+
get paymentMethods() {
|
|
187
|
+
var _a;
|
|
188
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
189
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
190
|
+
if (!this._paymentMethods) {
|
|
191
|
+
this._paymentMethods = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
192
|
+
sourceEntity: 'BillingModule:Transaction',
|
|
193
|
+
targetEntity: 'BillingModule:PaymentMethod',
|
|
194
|
+
targetModuleName: 'BillingModule',
|
|
195
|
+
targetEntityName: 'PaymentMethod',
|
|
196
|
+
labels: ['Transaction__PaymentMethod'],
|
|
197
|
+
}, PaymentMethodRecord_1.PaymentMethodRecord);
|
|
198
|
+
}
|
|
199
|
+
return this._paymentMethods;
|
|
200
|
+
}
|
|
201
|
+
/**
|
|
202
|
+
* Access linked Transaction records
|
|
203
|
+
* @remarks Available labels: Transaction__Transaction
|
|
204
|
+
* @throws Error if called on a new (unsaved) record
|
|
205
|
+
*
|
|
206
|
+
* @example
|
|
207
|
+
* ```typescript
|
|
208
|
+
* // Get all linked Transaction records
|
|
209
|
+
* const items = await record.transactions.list();
|
|
210
|
+
* const first = await record.transactions.first();
|
|
211
|
+
*
|
|
212
|
+
* // Filter by label
|
|
213
|
+
* const specific = await record.transactions.first({ label: 'Transaction__Transaction' });
|
|
214
|
+
* ```
|
|
215
|
+
*/
|
|
216
|
+
get transactions() {
|
|
217
|
+
var _a;
|
|
218
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
219
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
220
|
+
if (!this._transactions) {
|
|
221
|
+
this._transactions = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
222
|
+
sourceEntity: 'BillingModule:Transaction',
|
|
223
|
+
targetEntity: 'BillingModule:Transaction',
|
|
224
|
+
targetModuleName: 'BillingModule',
|
|
225
|
+
targetEntityName: 'Transaction',
|
|
226
|
+
labels: ['Transaction__Transaction'],
|
|
227
|
+
}, TransactionRecord);
|
|
228
|
+
}
|
|
229
|
+
return this._transactions;
|
|
230
|
+
}
|
|
231
|
+
/**
|
|
232
|
+
* Access linked Note records
|
|
233
|
+
* @remarks Available labels: Transaction__Note
|
|
234
|
+
* @throws Error if called on a new (unsaved) record
|
|
235
|
+
*
|
|
236
|
+
* @example
|
|
237
|
+
* ```typescript
|
|
238
|
+
* // Get all linked Note records
|
|
239
|
+
* const items = await record.notes.list();
|
|
240
|
+
* const first = await record.notes.first();
|
|
241
|
+
*
|
|
242
|
+
* // Filter by label
|
|
243
|
+
* const specific = await record.notes.first({ label: 'Transaction__Note' });
|
|
244
|
+
* ```
|
|
245
|
+
*/
|
|
246
|
+
get notes() {
|
|
247
|
+
var _a;
|
|
248
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
249
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
250
|
+
if (!this._notes) {
|
|
251
|
+
this._notes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
252
|
+
sourceEntity: 'BillingModule:Transaction',
|
|
253
|
+
targetEntity: 'SupportModule:Note',
|
|
254
|
+
targetModuleName: 'SupportModule',
|
|
255
|
+
targetEntityName: 'Note',
|
|
256
|
+
labels: ['Transaction__Note'],
|
|
257
|
+
}, NoteRecord_1.NoteRecord);
|
|
258
|
+
}
|
|
259
|
+
return this._notes;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Access linked CreditNote records
|
|
263
|
+
* @remarks Available labels: CreditNote__Transaction
|
|
264
|
+
* @throws Error if called on a new (unsaved) record
|
|
265
|
+
*
|
|
266
|
+
* @example
|
|
267
|
+
* ```typescript
|
|
268
|
+
* // Get all linked CreditNote records
|
|
269
|
+
* const items = await record.creditNotes.list();
|
|
270
|
+
* const first = await record.creditNotes.first();
|
|
271
|
+
*
|
|
272
|
+
* // Filter by label
|
|
273
|
+
* const specific = await record.creditNotes.first({ label: 'CreditNote__Transaction' });
|
|
274
|
+
* ```
|
|
275
|
+
*/
|
|
276
|
+
get creditNotes() {
|
|
277
|
+
var _a;
|
|
278
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
279
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
280
|
+
if (!this._creditNotes) {
|
|
281
|
+
this._creditNotes = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
282
|
+
sourceEntity: 'BillingModule:Transaction',
|
|
283
|
+
targetEntity: 'BillingModule:CreditNote',
|
|
284
|
+
targetModuleName: 'BillingModule',
|
|
285
|
+
targetEntityName: 'CreditNote',
|
|
286
|
+
labels: ['CreditNote__Transaction'],
|
|
287
|
+
}, CreditNoteRecord_1.CreditNoteRecord);
|
|
288
|
+
}
|
|
289
|
+
return this._creditNotes;
|
|
290
|
+
}
|
|
291
|
+
/**
|
|
292
|
+
* Access linked File records
|
|
293
|
+
* @remarks Available labels: Transaction__File
|
|
294
|
+
* @throws Error if called on a new (unsaved) record
|
|
295
|
+
*
|
|
296
|
+
* @example
|
|
297
|
+
* ```typescript
|
|
298
|
+
* // Get all linked File records
|
|
299
|
+
* const items = await record.files.list();
|
|
300
|
+
* const first = await record.files.first();
|
|
301
|
+
*
|
|
302
|
+
* // Filter by label
|
|
303
|
+
* const specific = await record.files.first({ label: 'Transaction__File' });
|
|
304
|
+
* ```
|
|
305
|
+
*/
|
|
306
|
+
get files() {
|
|
307
|
+
var _a;
|
|
308
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
309
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
310
|
+
if (!this._files) {
|
|
311
|
+
this._files = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
312
|
+
sourceEntity: 'BillingModule:Transaction',
|
|
313
|
+
targetEntity: 'SchemaModule:File',
|
|
314
|
+
targetModuleName: 'SchemaModule',
|
|
315
|
+
targetEntityName: 'File',
|
|
316
|
+
labels: ['Transaction__File'],
|
|
317
|
+
}, FileRecord_1.FileRecord);
|
|
318
|
+
}
|
|
319
|
+
return this._files;
|
|
320
|
+
}
|
|
321
|
+
/**
|
|
322
|
+
* Access linked BillingRequest records
|
|
323
|
+
* @remarks Available labels: BillingRequest__Transaction
|
|
324
|
+
* @throws Error if called on a new (unsaved) record
|
|
325
|
+
*
|
|
326
|
+
* @example
|
|
327
|
+
* ```typescript
|
|
328
|
+
* // Get all linked BillingRequest records
|
|
329
|
+
* const items = await record.billingRequests.list();
|
|
330
|
+
* const first = await record.billingRequests.first();
|
|
331
|
+
*
|
|
332
|
+
* // Filter by label
|
|
333
|
+
* const specific = await record.billingRequests.first({ label: 'BillingRequest__Transaction' });
|
|
334
|
+
* ```
|
|
335
|
+
*/
|
|
336
|
+
get billingRequests() {
|
|
337
|
+
var _a;
|
|
338
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
339
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
340
|
+
if (!this._billingRequests) {
|
|
341
|
+
this._billingRequests = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
342
|
+
sourceEntity: 'BillingModule:Transaction',
|
|
343
|
+
targetEntity: 'BillingModule:BillingRequest',
|
|
344
|
+
targetModuleName: 'BillingModule',
|
|
345
|
+
targetEntityName: 'BillingRequest',
|
|
346
|
+
labels: ['BillingRequest__Transaction'],
|
|
347
|
+
}, BillingRequestRecord_1.BillingRequestRecord);
|
|
348
|
+
}
|
|
349
|
+
return this._billingRequests;
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Access linked Payment records
|
|
353
|
+
* @remarks Available labels: Payment_Transaction
|
|
354
|
+
* @throws Error if called on a new (unsaved) record
|
|
355
|
+
*
|
|
356
|
+
* @example
|
|
357
|
+
* ```typescript
|
|
358
|
+
* // Get all linked Payment records
|
|
359
|
+
* const items = await record.payments.list();
|
|
360
|
+
* const first = await record.payments.first();
|
|
361
|
+
*
|
|
362
|
+
* // Filter by label
|
|
363
|
+
* const specific = await record.payments.first({ label: 'Payment_Transaction' });
|
|
364
|
+
* ```
|
|
365
|
+
*/
|
|
366
|
+
get payments() {
|
|
367
|
+
var _a;
|
|
368
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
369
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
370
|
+
if (!this._payments) {
|
|
371
|
+
this._payments = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
372
|
+
sourceEntity: 'BillingModule:Transaction',
|
|
373
|
+
targetEntity: 'BillingModule:Payment',
|
|
374
|
+
targetModuleName: 'BillingModule',
|
|
375
|
+
targetEntityName: 'Payment',
|
|
376
|
+
labels: ['Payment_Transaction'],
|
|
377
|
+
}, PaymentRecord_1.PaymentRecord);
|
|
378
|
+
}
|
|
379
|
+
return this._payments;
|
|
380
|
+
}
|
|
381
|
+
/**
|
|
382
|
+
* Access linked Invoice records
|
|
383
|
+
* @remarks Available labels: Invoice__Transaction
|
|
384
|
+
* @throws Error if called on a new (unsaved) record
|
|
385
|
+
*
|
|
386
|
+
* @example
|
|
387
|
+
* ```typescript
|
|
388
|
+
* // Get all linked Invoice records
|
|
389
|
+
* const items = await record.invoices.list();
|
|
390
|
+
* const first = await record.invoices.first();
|
|
391
|
+
*
|
|
392
|
+
* // Filter by label
|
|
393
|
+
* const specific = await record.invoices.first({ label: 'Invoice__Transaction' });
|
|
394
|
+
* ```
|
|
395
|
+
*/
|
|
396
|
+
get invoices() {
|
|
397
|
+
var _a;
|
|
398
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
399
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
400
|
+
if (!this._invoices) {
|
|
401
|
+
this._invoices = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
402
|
+
sourceEntity: 'BillingModule:Transaction',
|
|
403
|
+
targetEntity: 'BillingModule:Invoice',
|
|
404
|
+
targetModuleName: 'BillingModule',
|
|
405
|
+
targetEntityName: 'Invoice',
|
|
406
|
+
labels: ['Invoice__Transaction'],
|
|
407
|
+
}, InvoiceRecord_1.InvoiceRecord);
|
|
408
|
+
}
|
|
409
|
+
return this._invoices;
|
|
410
|
+
}
|
|
411
|
+
// ============================================
|
|
143
412
|
// LINK MANAGEMENT
|
|
144
413
|
// ============================================
|
|
145
414
|
/**
|
|
@@ -472,6 +741,25 @@ class TransactionRecord {
|
|
|
472
741
|
}
|
|
473
742
|
}
|
|
474
743
|
exports.TransactionRecord = TransactionRecord;
|
|
744
|
+
// ============================================
|
|
745
|
+
// TYPED LINK ACCESSORS
|
|
746
|
+
// ============================================
|
|
747
|
+
/** Valid labels for PaymentMethod associations */
|
|
748
|
+
TransactionRecord.paymentMethodsLabels = ['Transaction__PaymentMethod'];
|
|
749
|
+
/** Valid labels for Transaction associations */
|
|
750
|
+
TransactionRecord.transactionsLabels = ['Transaction__Transaction'];
|
|
751
|
+
/** Valid labels for Note associations */
|
|
752
|
+
TransactionRecord.notesLabels = ['Transaction__Note'];
|
|
753
|
+
/** Valid labels for CreditNote associations */
|
|
754
|
+
TransactionRecord.creditNotesLabels = ['CreditNote__Transaction'];
|
|
755
|
+
/** Valid labels for File associations */
|
|
756
|
+
TransactionRecord.filesLabels = ['Transaction__File'];
|
|
757
|
+
/** Valid labels for BillingRequest associations */
|
|
758
|
+
TransactionRecord.billingRequestsLabels = ['BillingRequest__Transaction'];
|
|
759
|
+
/** Valid labels for Payment associations */
|
|
760
|
+
TransactionRecord.paymentsLabels = ['Payment_Transaction'];
|
|
761
|
+
/** Valid labels for Invoice associations */
|
|
762
|
+
TransactionRecord.invoicesLabels = ['Invoice__Transaction'];
|
|
475
763
|
/** Type guard to check if an object is a TransactionRecord */
|
|
476
764
|
function isTransactionRecord(obj) {
|
|
477
765
|
return obj instanceof TransactionRecord;
|
|
@@ -13,14 +13,20 @@
|
|
|
13
13
|
* await record.createTwilioUserUpdate({ ... }).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 { TwilioUserUpdateProperties } from '../entities-v2/TwilioUserUpdate';
|
|
23
26
|
import { CreatetwiliouserupdateProperties } from '../actions-v2/CreatetwiliouserupdateDto';
|
|
27
|
+
import { UserRecord } from './UserRecord';
|
|
28
|
+
/** Valid entity types for TwilioUserUpdate */
|
|
29
|
+
export declare type TwilioUserUpdateType = 'DEFAULT';
|
|
24
30
|
/**
|
|
25
31
|
* Builder for action execution with dryRun support
|
|
26
32
|
*
|
|
@@ -84,6 +90,7 @@ export declare class TwilioUserUpdateRecord<TProps = TwilioUserUpdateProperties>
|
|
|
84
90
|
private _provider;
|
|
85
91
|
private _pendingLinks;
|
|
86
92
|
private _preGeneratedId;
|
|
93
|
+
private _users?;
|
|
87
94
|
/**
|
|
88
95
|
* Create a record wrapper.
|
|
89
96
|
* @param record - The underlying record, or null for create operations
|
|
@@ -96,7 +103,7 @@ export declare class TwilioUserUpdateRecord<TProps = TwilioUserUpdateProperties>
|
|
|
96
103
|
/** Record ID - always available (pre-generated for new records) */
|
|
97
104
|
get id(): string;
|
|
98
105
|
get entity(): string;
|
|
99
|
-
get type():
|
|
106
|
+
get type(): TwilioUserUpdateType | undefined;
|
|
100
107
|
/** Record properties - empty object for new (unsaved) records */
|
|
101
108
|
get properties(): TProps;
|
|
102
109
|
get title(): string | undefined;
|
|
@@ -109,6 +116,40 @@ export declare class TwilioUserUpdateRecord<TProps = TwilioUserUpdateProperties>
|
|
|
109
116
|
get groups(): string[];
|
|
110
117
|
/** Access the underlying OdinRecord (null for new records) */
|
|
111
118
|
get record(): OdinRecord<TProps> | null;
|
|
119
|
+
/**
|
|
120
|
+
* Type guard: check if this record is of type DEFAULT
|
|
121
|
+
*
|
|
122
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
123
|
+
* giving you access to DEFAULT-specific properties.
|
|
124
|
+
*
|
|
125
|
+
* @example
|
|
126
|
+
* ```typescript
|
|
127
|
+
* if (record.isDefault()) {
|
|
128
|
+
* // TypeScript knows record.properties is TwilioUserUpdateProperties
|
|
129
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
130
|
+
* }
|
|
131
|
+
* ```
|
|
132
|
+
* @remarks This is the default record type
|
|
133
|
+
*/
|
|
134
|
+
isDefault(): this is TwilioUserUpdateRecord<TwilioUserUpdateProperties>;
|
|
135
|
+
/** Valid labels for User associations */
|
|
136
|
+
static readonly usersLabels: readonly ["TwilioUserUpdate"];
|
|
137
|
+
/**
|
|
138
|
+
* Access linked User records
|
|
139
|
+
* @remarks Available labels: TwilioUserUpdate
|
|
140
|
+
* @throws Error if called on a new (unsaved) record
|
|
141
|
+
*
|
|
142
|
+
* @example
|
|
143
|
+
* ```typescript
|
|
144
|
+
* // Get all linked User records
|
|
145
|
+
* const items = await record.users.list();
|
|
146
|
+
* const first = await record.users.first();
|
|
147
|
+
*
|
|
148
|
+
* // Filter by label
|
|
149
|
+
* const specific = await record.users.first({ label: 'TwilioUserUpdate' });
|
|
150
|
+
* ```
|
|
151
|
+
*/
|
|
152
|
+
get users(): RecordLinkManager<UserRecord, typeof TwilioUserUpdateRecord['usersLabels'][number]>;
|
|
112
153
|
/**
|
|
113
154
|
* Queue a link to be created with the next action.
|
|
114
155
|
* Works for both create and update actions.
|
|
@@ -14,6 +14,8 @@
|
|
|
14
14
|
* await record.createTwilioUserUpdate({ ... }).execute();
|
|
15
15
|
* ```
|
|
16
16
|
*
|
|
17
|
+
* Entity Types: DEFAULT
|
|
18
|
+
*
|
|
17
19
|
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
18
20
|
*/
|
|
19
21
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
@@ -29,6 +31,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
29
31
|
exports.isTwilioUserUpdateRecord = exports.TwilioUserUpdateRecord = 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 UserRecord_1 = require("./UserRecord");
|
|
32
36
|
/**
|
|
33
37
|
* Builder for action execution with dryRun support
|
|
34
38
|
*
|
|
@@ -140,6 +144,55 @@ class TwilioUserUpdateRecord {
|
|
|
140
144
|
/** Access the underlying OdinRecord (null for new records) */
|
|
141
145
|
get record() { return this._record; }
|
|
142
146
|
// ============================================
|
|
147
|
+
// TYPE GUARDS (with TypeScript type predicates)
|
|
148
|
+
// ============================================
|
|
149
|
+
/**
|
|
150
|
+
* Type guard: check if this record is of type DEFAULT
|
|
151
|
+
*
|
|
152
|
+
* When this returns true, TypeScript automatically narrows the type,
|
|
153
|
+
* giving you access to DEFAULT-specific properties.
|
|
154
|
+
*
|
|
155
|
+
* @example
|
|
156
|
+
* ```typescript
|
|
157
|
+
* if (record.isDefault()) {
|
|
158
|
+
* // TypeScript knows record.properties is TwilioUserUpdateProperties
|
|
159
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
160
|
+
* }
|
|
161
|
+
* ```
|
|
162
|
+
* @remarks This is the default record type
|
|
163
|
+
*/
|
|
164
|
+
isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
|
|
165
|
+
/**
|
|
166
|
+
* Access linked User records
|
|
167
|
+
* @remarks Available labels: TwilioUserUpdate
|
|
168
|
+
* @throws Error if called on a new (unsaved) record
|
|
169
|
+
*
|
|
170
|
+
* @example
|
|
171
|
+
* ```typescript
|
|
172
|
+
* // Get all linked User records
|
|
173
|
+
* const items = await record.users.list();
|
|
174
|
+
* const first = await record.users.first();
|
|
175
|
+
*
|
|
176
|
+
* // Filter by label
|
|
177
|
+
* const specific = await record.users.first({ label: 'TwilioUserUpdate' });
|
|
178
|
+
* ```
|
|
179
|
+
*/
|
|
180
|
+
get users() {
|
|
181
|
+
var _a;
|
|
182
|
+
if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
|
|
183
|
+
throw new Error('Cannot access links on a new (unsaved) record');
|
|
184
|
+
if (!this._users) {
|
|
185
|
+
this._users = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
|
|
186
|
+
sourceEntity: 'NotificationModule:TwilioUserUpdate',
|
|
187
|
+
targetEntity: 'IdentityModule:User',
|
|
188
|
+
targetModuleName: 'IdentityModule',
|
|
189
|
+
targetEntityName: 'User',
|
|
190
|
+
labels: ['TwilioUserUpdate'],
|
|
191
|
+
}, UserRecord_1.UserRecord);
|
|
192
|
+
}
|
|
193
|
+
return this._users;
|
|
194
|
+
}
|
|
195
|
+
// ============================================
|
|
143
196
|
// LINK MANAGEMENT
|
|
144
197
|
// ============================================
|
|
145
198
|
/**
|
|
@@ -215,6 +268,11 @@ class TwilioUserUpdateRecord {
|
|
|
215
268
|
}
|
|
216
269
|
}
|
|
217
270
|
exports.TwilioUserUpdateRecord = TwilioUserUpdateRecord;
|
|
271
|
+
// ============================================
|
|
272
|
+
// TYPED LINK ACCESSORS
|
|
273
|
+
// ============================================
|
|
274
|
+
/** Valid labels for User associations */
|
|
275
|
+
TwilioUserUpdateRecord.usersLabels = ['TwilioUserUpdate'];
|
|
218
276
|
/** Type guard to check if an object is a TwilioUserUpdateRecord */
|
|
219
277
|
function isTwilioUserUpdateRecord(obj) {
|
|
220
278
|
return obj instanceof TwilioUserUpdateRecord;
|
|
@@ -13,13 +13,21 @@
|
|
|
13
13
|
* await record.createUgAuditOfInstallation({ ... }).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 {
|
|
24
|
+
import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
|
|
25
|
+
import { UgAuditOfInstallationProperties, OutcomeFormUgAuditOfInstallationProperties } from '../entities-v2/UgAuditOfInstallation';
|
|
26
|
+
import { NoteRecord } from './NoteRecord';
|
|
27
|
+
import { WorkOrderRecord } from './WorkOrderRecord';
|
|
28
|
+
import { FileRecord } from './FileRecord';
|
|
29
|
+
/** Valid entity types for UgAuditOfInstallation */
|
|
30
|
+
export declare type UgAuditOfInstallationType = 'OUTCOME_FORM';
|
|
23
31
|
/**
|
|
24
32
|
* Builder for action execution with dryRun support
|
|
25
33
|
*
|
|
@@ -83,6 +91,9 @@ export declare class UgAuditOfInstallationRecord<TProps = UgAuditOfInstallationP
|
|
|
83
91
|
private _provider;
|
|
84
92
|
private _pendingLinks;
|
|
85
93
|
private _preGeneratedId;
|
|
94
|
+
private _notes?;
|
|
95
|
+
private _workOrders?;
|
|
96
|
+
private _files?;
|
|
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 UgAuditOfInstallationRecord<TProps = UgAuditOfInstallationP
|
|
|
95
106
|
/** Record ID - always available (pre-generated for new records) */
|
|
96
107
|
get id(): string;
|
|
97
108
|
get entity(): string;
|
|
98
|
-
get type():
|
|
109
|
+
get type(): UgAuditOfInstallationType | 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 UgAuditOfInstallationRecord<TProps = UgAuditOfInstallationP
|
|
|
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 OutcomeFormUgAuditOfInstallationProperties
|
|
132
|
+
* console.log(record.properties.SomeTypeSpecificField);
|
|
133
|
+
* }
|
|
134
|
+
* ```
|
|
135
|
+
* @remarks outcome form
|
|
136
|
+
*/
|
|
137
|
+
isOutcomeForm(): this is UgAuditOfInstallationRecord<OutcomeFormUgAuditOfInstallationProperties>;
|
|
138
|
+
/** Valid labels for Note associations */
|
|
139
|
+
static readonly notesLabels: readonly ["UgAuditOfInstallation__Note"];
|
|
140
|
+
/**
|
|
141
|
+
* Access linked Note records
|
|
142
|
+
* @remarks Available labels: UgAuditOfInstallation__Note
|
|
143
|
+
* @throws Error if called on a new (unsaved) record
|
|
144
|
+
*
|
|
145
|
+
* @example
|
|
146
|
+
* ```typescript
|
|
147
|
+
* // Get all linked Note records
|
|
148
|
+
* const items = await record.notes.list();
|
|
149
|
+
* const first = await record.notes.first();
|
|
150
|
+
*
|
|
151
|
+
* // Filter by label
|
|
152
|
+
* const specific = await record.notes.first({ label: 'UgAuditOfInstallation__Note' });
|
|
153
|
+
* ```
|
|
154
|
+
*/
|
|
155
|
+
get notes(): RecordLinkManager<NoteRecord, typeof UgAuditOfInstallationRecord['notesLabels'][number]>;
|
|
156
|
+
/** Valid labels for WorkOrder associations */
|
|
157
|
+
static readonly workOrdersLabels: readonly ["WorkOrder_UgAuditOfInstallation"];
|
|
158
|
+
/**
|
|
159
|
+
* Access linked WorkOrder records
|
|
160
|
+
* @remarks Available labels: WorkOrder_UgAuditOfInstallation
|
|
161
|
+
* @throws Error if called on a new (unsaved) record
|
|
162
|
+
*
|
|
163
|
+
* @example
|
|
164
|
+
* ```typescript
|
|
165
|
+
* // Get all linked WorkOrder records
|
|
166
|
+
* const items = await record.workOrders.list();
|
|
167
|
+
* const first = await record.workOrders.first();
|
|
168
|
+
*
|
|
169
|
+
* // Filter by label
|
|
170
|
+
* const specific = await record.workOrders.first({ label: 'WorkOrder_UgAuditOfInstallation' });
|
|
171
|
+
* ```
|
|
172
|
+
*/
|
|
173
|
+
get workOrders(): RecordLinkManager<WorkOrderRecord, typeof UgAuditOfInstallationRecord['workOrdersLabels'][number]>;
|
|
174
|
+
/** Valid labels for File associations */
|
|
175
|
+
static readonly filesLabels: readonly ["UgAuditOfInstallation__File"];
|
|
176
|
+
/**
|
|
177
|
+
* Access linked File records
|
|
178
|
+
* @remarks Available labels: UgAuditOfInstallation__File
|
|
179
|
+
* @throws Error if called on a new (unsaved) record
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* // Get all linked File records
|
|
184
|
+
* const items = await record.files.list();
|
|
185
|
+
* const first = await record.files.first();
|
|
186
|
+
*
|
|
187
|
+
* // Filter by label
|
|
188
|
+
* const specific = await record.files.first({ label: 'UgAuditOfInstallation__File' });
|
|
189
|
+
* ```
|
|
190
|
+
*/
|
|
191
|
+
get files(): RecordLinkManager<FileRecord, typeof UgAuditOfInstallationRecord['filesLabels'][number]>;
|
|
111
192
|
/**
|
|
112
193
|
* Queue a link to be created with the next action.
|
|
113
194
|
* Works for both create and update actions.
|