@d19n/youfibre-odin-sdk 2.0.366 → 2.0.367

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 (76) hide show
  1. package/README.md +6 -26
  2. package/dist/EntityRegistry.d.ts +0 -8
  3. package/dist/EntityRegistry.js +0 -8
  4. package/dist/OdinApiClient.d.ts +0 -16
  5. package/dist/OdinApiClient.js +0 -32
  6. package/dist/OdinDbClient.d.ts +0 -16
  7. package/dist/OdinDbClient.js +0 -32
  8. package/dist/accessors-v2/index.d.ts +0 -4
  9. package/dist/accessors-v2/index.js +2 -10
  10. package/dist/actions-v2/CancelOrderForEtfPaidDto.d.ts +67 -0
  11. package/dist/actions-v2/CancelOrderForEtfPaidDto.js +59 -0
  12. package/dist/actions-v2/CreateOutboundDialCampaignDto.d.ts +8 -1
  13. package/dist/actions-v2/CreateOutboundDialSessionDto.d.ts +15 -1
  14. package/dist/actions-v2/UpdateOutboundDialSessionDto.d.ts +15 -1
  15. package/dist/actions-v2/UpdateoutbounddialcampaignDto.d.ts +8 -1
  16. package/dist/api-sdk-v2/QaReportAmendmentApi.d.ts +48 -0
  17. package/dist/api-sdk-v2/QaReportAmendmentApi.js +155 -0
  18. package/dist/api-sdk-v2/QaReportApi.d.ts +2 -0
  19. package/dist/api-sdk-v2/QaReportApi.js +6 -0
  20. package/dist/db-accessors-v2/index.d.ts +0 -4
  21. package/dist/db-accessors-v2/index.js +2 -10
  22. package/dist/db-sdk-v2/CrmDatasetDb.d.ts +2 -2
  23. package/dist/db-sdk-v2/CrmDatasetDb.js +4 -4
  24. package/dist/db-sdk-v2/QaReportAmendmentDb.d.ts +120 -0
  25. package/dist/db-sdk-v2/QaReportAmendmentDb.js +204 -0
  26. package/dist/db-sdk-v2/QaReportDb.d.ts +2 -0
  27. package/dist/db-sdk-v2/QaReportDb.js +6 -0
  28. package/dist/entities-v2/HomeMove.d.ts +23 -1
  29. package/dist/entities-v2/HomeMove.js +17 -1
  30. package/dist/entities-v2/OrderItem.d.ts +2 -0
  31. package/dist/entities-v2/OrderItem.js +2 -0
  32. package/dist/entities-v2/OutboundDialCampaign.d.ts +9 -1
  33. package/dist/entities-v2/OutboundDialCampaign.js +2 -0
  34. package/dist/entities-v2/OutboundDialSession.d.ts +17 -1
  35. package/dist/entities-v2/OutboundDialSession.js +4 -0
  36. package/dist/entities-v2/QaReport.d.ts +70 -1
  37. package/dist/entities-v2/QaReport.js +31 -1
  38. package/dist/entities-v2/QaReportAmendment.d.ts +209 -0
  39. package/dist/entities-v2/QaReportAmendment.js +120 -0
  40. package/dist/records-v2/OrderRecord.d.ts +25 -0
  41. package/dist/records-v2/OrderRecord.js +29 -0
  42. package/dist/records-v2/index.d.ts +0 -4
  43. package/dist/records-v2/index.js +2 -14
  44. package/package.json +1 -1
  45. package/dist/accessors-v2/QaAutoFailAccessor.d.ts +0 -112
  46. package/dist/accessors-v2/QaAutoFailAccessor.js +0 -191
  47. package/dist/accessors-v2/QaRubricAccessor.d.ts +0 -112
  48. package/dist/accessors-v2/QaRubricAccessor.js +0 -191
  49. package/dist/accessors-v2/QaRubricItemAccessor.d.ts +0 -112
  50. package/dist/accessors-v2/QaRubricItemAccessor.js +0 -191
  51. package/dist/accessors-v2/QaRubricSectionAccessor.d.ts +0 -112
  52. package/dist/accessors-v2/QaRubricSectionAccessor.js +0 -191
  53. package/dist/actions-v2/UpdateQaAutoFailDto.d.ts +0 -102
  54. package/dist/actions-v2/UpdateQaAutoFailDto.js +0 -56
  55. package/dist/actions-v2/UpdateQaRubricDto.d.ts +0 -103
  56. package/dist/actions-v2/UpdateQaRubricDto.js +0 -56
  57. package/dist/actions-v2/UpdateQaRubricItemDto.d.ts +0 -157
  58. package/dist/actions-v2/UpdateQaRubricItemDto.js +0 -56
  59. package/dist/actions-v2/UpdateQaRubricSectionDto.d.ts +0 -87
  60. package/dist/actions-v2/UpdateQaRubricSectionDto.js +0 -56
  61. package/dist/db-accessors-v2/QaAutoFailDbAccessor.d.ts +0 -180
  62. package/dist/db-accessors-v2/QaAutoFailDbAccessor.js +0 -265
  63. package/dist/db-accessors-v2/QaRubricDbAccessor.d.ts +0 -180
  64. package/dist/db-accessors-v2/QaRubricDbAccessor.js +0 -265
  65. package/dist/db-accessors-v2/QaRubricItemDbAccessor.d.ts +0 -180
  66. package/dist/db-accessors-v2/QaRubricItemDbAccessor.js +0 -265
  67. package/dist/db-accessors-v2/QaRubricSectionDbAccessor.d.ts +0 -180
  68. package/dist/db-accessors-v2/QaRubricSectionDbAccessor.js +0 -265
  69. package/dist/records-v2/QaAutoFailRecord.d.ts +0 -205
  70. package/dist/records-v2/QaAutoFailRecord.js +0 -275
  71. package/dist/records-v2/QaRubricItemRecord.d.ts +0 -205
  72. package/dist/records-v2/QaRubricItemRecord.js +0 -275
  73. package/dist/records-v2/QaRubricRecord.d.ts +0 -225
  74. package/dist/records-v2/QaRubricRecord.js +0 -308
  75. package/dist/records-v2/QaRubricSectionRecord.d.ts +0 -225
  76. package/dist/records-v2/QaRubricSectionRecord.js +0 -308
@@ -1,265 +0,0 @@
1
- "use strict";
2
- /**
3
- * QaRubricSection DB Accessor
4
- *
5
- * Provides typed access to QaRubricSection records via direct database access.
6
- * For use in backend services with principal + dbService.
7
- * Returns wrapped records with typed action methods.
8
- *
9
- * @example
10
- * ```typescript
11
- * // Simple get
12
- * const record = await accessor.get(id);
13
- *
14
- * // With related entities
15
- * const record = await accessor.get(id, { entities: ["Contact", "Address"] });
16
- *
17
- * // With permissions bypass (separate options)
18
- * const record = await accessor.get(id, {}, { omitPermissionsCheck: true });
19
- *
20
- * // Silent write (no RabbitMQ events)
21
- * const result = await accessor.upsert([dto], { omitWriteEvents: true });
22
- *
23
- * // Constructor-level default (applies to all calls)
24
- * const accessor = new QaRubricSectionDbAccessor(principal, dbService, { omitPermissionsCheck: true });
25
- * ```
26
- *
27
- * AUTO-GENERATED - DO NOT EDIT DIRECTLY
28
- */
29
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
30
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
31
- return new (P || (P = Promise))(function (resolve, reject) {
32
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
33
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
34
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
35
- step((generator = generator.apply(thisArg, _arguments || [])).next());
36
- });
37
- };
38
- var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
39
- var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
40
- if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
41
- var g = generator.apply(thisArg, _arguments || []), i, q = [];
42
- return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
43
- function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
44
- function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
45
- function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
46
- function fulfill(value) { resume("next", value); }
47
- function reject(value) { resume("throw", value); }
48
- function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
49
- };
50
- Object.defineProperty(exports, "__esModule", { value: true });
51
- exports.QaRubricSectionDbAccessor = void 0;
52
- const db_provider_1 = require("@d19n/odin-sdk-generator/dist/db.provider");
53
- const query_builder_1 = require("@d19n/odin-sdk-generator/dist/query-builder");
54
- const QaRubricSectionRecord_1 = require("../records-v2/QaRubricSectionRecord");
55
- class QaRubricSectionDbAccessor {
56
- /**
57
- * Create a new QaRubricSectionDbAccessor
58
- * @param principal - The authenticated principal
59
- * @param dbService - The database service instance
60
- * @param defaultOptions - Default provider options applied to all operations
61
- */
62
- constructor(principal, dbService, defaultOptions) {
63
- this._moduleName = 'SupportModule';
64
- this._entityName = 'QaRubricSection';
65
- this._provider = new db_provider_1.DbProvider(principal, dbService, defaultOptions);
66
- this._defaultOptions = defaultOptions;
67
- }
68
- get moduleName() { return this._moduleName; }
69
- get entityName() { return this._entityName; }
70
- // ============================================
71
- // RECORD CREATION
72
- // ============================================
73
- /**
74
- * Create a new empty QaRubricSection record instance for create operations.
75
- * Pre-generates an ID that can be referenced before the record is saved.
76
- *
77
- * @param id - Optional ID to use (auto-generated UUID if not provided)
78
- * @returns A new record wrapper with pre-generated ID
79
- *
80
- * @example
81
- * ```typescript
82
- * // Auto-generated ID
83
- * const note = odinDb.notes.new();
84
- * console.log(note.id); // UUID available immediately
85
- *
86
- * // Custom ID
87
- * const order = odinDb.orders.new("custom-id-123");
88
- *
89
- * // Reference ID before save
90
- * const account = odinDb.accounts.new();
91
- * const contact = odinDb.contacts.new();
92
- * await contact
93
- * .link({ id: account.id, entity: "CrmModule:Account" })
94
- * .createContact({ FirstName: "John" });
95
- * ```
96
- */
97
- new(id) {
98
- return new QaRubricSectionRecord_1.QaRubricSectionRecord(null, this._provider, id);
99
- }
100
- // ============================================
101
- // RECORD RETRIEVAL
102
- // ============================================
103
- /**
104
- * Get a single QaRubricSection record by ID
105
- *
106
- * @param id - The record ID
107
- * @param queryOptions - Query options (WHAT to fetch: entities to include)
108
- * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
109
- *
110
- * @example
111
- * ```typescript
112
- * // Simple get
113
- * const record = await accessor.get(id);
114
- *
115
- * // With related entities
116
- * const record = await accessor.get(id, { entities: ["Contact", "Address"] });
117
- *
118
- * // With permissions bypass
119
- * const record = await accessor.get(id, {}, { omitPermissionsCheck: true });
120
- *
121
- * // Both options
122
- * const record = await accessor.get(id, { entities: ["Invoice"] }, { omitPermissionsCheck: true });
123
- * ```
124
- */
125
- get(id, queryOptions, providerOptions) {
126
- return __awaiter(this, void 0, void 0, function* () {
127
- const record = yield this._provider._getByPrimaryKey(this._moduleName, this._entityName, id, queryOptions, providerOptions);
128
- return new QaRubricSectionRecord_1.QaRubricSectionRecord(record, this._provider);
129
- });
130
- }
131
- /**
132
- * Get multiple QaRubricSection records by IDs
133
- *
134
- * @param ids - Array of record IDs
135
- * @param queryOptions - Query options (WHAT to fetch: entities to include)
136
- * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
137
- */
138
- getMany(ids, queryOptions, providerOptions) {
139
- return __awaiter(this, void 0, void 0, function* () {
140
- if (ids.length === 0)
141
- return [];
142
- const records = yield this._provider._getManyByPrimaryKey(this._moduleName, this._entityName, ids, queryOptions, providerOptions);
143
- return records.map((r) => new QaRubricSectionRecord_1.QaRubricSectionRecord(r, this._provider));
144
- });
145
- }
146
- /**
147
- * Get QaRubricSection records by the RECORD-LEVEL external id.
148
- *
149
- * Resolved server-side in Postgres against `record.external_id` - not a property
150
- * search, and not reachable through `query()` (`externalId` is not a queryable
151
- * column). Use this when an external system hands back its own identifier.
152
- *
153
- * Platform limits: max 5000 ids per call, each at most 36 characters. An unknown
154
- * `type` is rejected with 400 `invalid type`.
155
- *
156
- * @param externalIds - The external ids to match (plural - the platform takes an array)
157
- * @param queryOptions - Query options (WHAT to fetch: narrow by record type)
158
- * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck, withLinks)
159
- *
160
- * @example
161
- * ```typescript
162
- * // Correlate a provider webhook back to the record it wrote
163
- * const [message] = await accessor.getManyByExternalId([body.SmsSid]);
164
- *
165
- * // Narrowed by record type
166
- * const closures = await accessor.getManyByExternalId(refs, { type: 'CLOSURE' });
167
- *
168
- * // Background job, no link hydration
169
- * const records = await accessor.getManyByExternalId(refs, undefined, {
170
- * omitPermissionsCheck: true,
171
- * withLinks: false,
172
- * });
173
- * ```
174
- */
175
- getManyByExternalId(externalIds, queryOptions, providerOptions) {
176
- return __awaiter(this, void 0, void 0, function* () {
177
- if (externalIds.length === 0)
178
- return [];
179
- const records = yield this._provider._getManyByExternalId(this._moduleName, this._entityName, externalIds, queryOptions, providerOptions);
180
- return records.map((r) => new QaRubricSectionRecord_1.QaRubricSectionRecord(r, this._provider));
181
- });
182
- }
183
- // ============================================
184
- // SEARCH OPERATIONS
185
- // ============================================
186
- /**
187
- * Search QaRubricSection records
188
- *
189
- * @param params - Search parameters
190
- * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
191
- */
192
- search(params, providerOptions) {
193
- return __awaiter(this, void 0, void 0, function* () {
194
- const result = yield this._provider._searchRecords(this._moduleName, this._entityName, params, providerOptions);
195
- return {
196
- records: result.records.map((r) => new QaRubricSectionRecord_1.QaRubricSectionRecord(r, this._provider)),
197
- totalRecords: result.totalRecords,
198
- hasMore: result.hasMore,
199
- aggregations: result.aggregations,
200
- };
201
- });
202
- }
203
- /**
204
- * Search all QaRubricSection records with automatic pagination
205
- *
206
- * @param params - Search parameters
207
- * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
208
- */
209
- searchAll(params, providerOptions) {
210
- return __awaiter(this, void 0, void 0, function* () {
211
- const result = yield this._provider._searchAllRecordsAndPaginate(this._moduleName, this._entityName, params, 0, providerOptions);
212
- return result.records.map((r) => new QaRubricSectionRecord_1.QaRubricSectionRecord(r, this._provider));
213
- });
214
- }
215
- /**
216
- * Async generator for paginating through all matching records.
217
- * Yields batches of wrapped records.
218
- *
219
- * @param params - Search parameters
220
- * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
221
- */
222
- paginate(params, providerOptions) {
223
- var _a;
224
- return __asyncGenerator(this, arguments, function* paginate_1() {
225
- let hasMore = true;
226
- let searchAfter;
227
- const query = Object.assign(Object.assign({}, params.query), { pageSize: ((_a = params.query) === null || _a === void 0 ? void 0 : _a.pageSize) || 500 });
228
- while (hasMore) {
229
- const result = yield __await(this._provider._searchRecords(this._moduleName, this._entityName, Object.assign(Object.assign({}, params), { query: Object.assign(Object.assign({}, query), { searchAfter }) }), providerOptions));
230
- if (result.records.length > 0) {
231
- yield yield __await(result.records.map((r) => new QaRubricSectionRecord_1.QaRubricSectionRecord(r, this._provider)));
232
- const lastRecord = result.records[result.records.length - 1];
233
- searchAfter = lastRecord === null || lastRecord === void 0 ? void 0 : lastRecord.sort;
234
- }
235
- hasMore = result.hasMore && result.records.length >= query.pageSize;
236
- }
237
- });
238
- }
239
- // ============================================
240
- // QUERY BUILDER
241
- // ============================================
242
- /**
243
- * Create a fluent query builder for QaRubricSection records
244
- *
245
- * @example
246
- * ```typescript
247
- * const results = await accessor
248
- * .query()
249
- * .where('Status', 'in', ['Active', 'Pending'])
250
- * .where('CreatedAt', 'gte', '2025-01-01')
251
- * .select('id', 'title', 'properties.*')
252
- * .sortBy('createdAt', 'desc')
253
- * .limit(100)
254
- * .execute();
255
- * ```
256
- */
257
- query() {
258
- return (0, query_builder_1.createQueryBuilder)(this);
259
- }
260
- /** Access the underlying DbProvider */
261
- get provider() {
262
- return this._provider;
263
- }
264
- }
265
- exports.QaRubricSectionDbAccessor = QaRubricSectionDbAccessor;
@@ -1,205 +0,0 @@
1
- /**
2
- * QaAutoFail Record Wrapper
3
- *
4
- * Provides typed action methods and link management.
5
- * Works with both ApiProvider and DbProvider.
6
- *
7
- * All action methods return an ActionBuilder or FlowBuilder.
8
- * Call .execute() to run or .dryRun() to get the payload for debugging.
9
- *
10
- * Can be instantiated with null record for create operations:
11
- * ```typescript
12
- * const record = odinClient.qaAutoFails.new();
13
- * await record.createQaAutoFail({ ... }).execute();
14
- * ```
15
- *
16
- * Entity Types: DEFAULT
17
- *
18
- * AUTO-GENERATED - DO NOT EDIT DIRECTLY
19
- */
20
- import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
21
- import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
22
- import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
23
- import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
24
- import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
- import { QaAutoFailProperties } from '../entities-v2/QaAutoFail';
26
- import { UpdateQaAutoFailProperties } from '../actions-v2/UpdateQaAutoFailDto';
27
- import { QaRubricRecord } from './QaRubricRecord';
28
- /** Valid entity types for QaAutoFail */
29
- export declare type QaAutoFailType = 'DEFAULT';
30
- /**
31
- * Builder for action execution with dryRun support
32
- *
33
- * Provides a consistent API across all action types:
34
- * - `.execute()` - Execute the action and return results
35
- * - `.dryRun()` - Return the payload without executing (for debugging)
36
- */
37
- declare class ActionBuilder<T = IDbRecordCreateUpdateRes[]> {
38
- private _provider;
39
- private _moduleName;
40
- private _entityName;
41
- private _payload;
42
- private _clearPendingLinks;
43
- constructor(provider: IOdinProvider, moduleName: string, entityName: string, payload: Record<string, any>, clearPendingLinks: () => void);
44
- /**
45
- * Set an external system identifier for this record.
46
- * Links the record to a corresponding entry in an external application.
47
- *
48
- * @param externalId - The ID in the external system
49
- * @param externalAppId - The external application identifier
50
- * @returns this (for chaining)
51
- *
52
- * @example
53
- * ```typescript
54
- * await record.createOrder({ ... }).withExternalId('SF-123', 'salesforce').execute();
55
- * ```
56
- */
57
- withExternalId(externalId: string, externalAppId: string): this;
58
- /**
59
- * Set security/access groups for this record.
60
- * Controls which user groups can access the record.
61
- *
62
- * @param groups - Array of group names
63
- * @returns this (for chaining)
64
- *
65
- * @example
66
- * ```typescript
67
- * await record.createOrder({ ... }).withGroups(['TenantA', 'BillingTeam']).execute();
68
- * ```
69
- */
70
- withGroups(groups: string[]): this;
71
- /**
72
- * Execute the action
73
- * @returns The result from the API
74
- */
75
- execute(): Promise<T>;
76
- /**
77
- * Returns the request payload without executing (for debugging)
78
- * @returns The request payload that would be sent to the API
79
- */
80
- dryRun(): Record<string, any>;
81
- /**
82
- * Prevents accidental `await actionBuilder` without .execute()
83
- * Forces developers to explicitly call .execute()
84
- * @throws Error always - use .execute() or .dryRun() instead
85
- */
86
- then(): never;
87
- }
88
- export declare class QaAutoFailRecord<TProps = QaAutoFailProperties> {
89
- private _record;
90
- private _provider;
91
- private _pendingLinks;
92
- private _preGeneratedId;
93
- private _qaRubrics?;
94
- /**
95
- * Create a record wrapper.
96
- * @param record - The underlying record, or null for create operations
97
- * @param provider - The API or DB provider
98
- * @param preGeneratedId - Optional pre-generated ID for new records (auto-generated if not provided)
99
- */
100
- constructor(record: OdinRecord<TProps> | null, provider: IOdinProvider, preGeneratedId?: string);
101
- /** Returns true if this is a new (unsaved) record */
102
- get isNew(): boolean;
103
- /** Record ID - always available (pre-generated for new records) */
104
- get id(): string;
105
- get entity(): string;
106
- get type(): QaAutoFailType | undefined;
107
- /** Record properties - empty object for new (unsaved) records */
108
- get properties(): TProps;
109
- get title(): string | undefined;
110
- get recordNumber(): string | undefined;
111
- get stage(): PipelineStageEntity | undefined;
112
- get createdAt(): string | undefined;
113
- get updatedAt(): string | undefined;
114
- get externalId(): string | undefined;
115
- get externalAppId(): string | undefined;
116
- get groups(): string[];
117
- /** Link metadata - populated only when the read passed withLinks (empty otherwise) */
118
- get links(): OdinRecord<TProps>['links'];
119
- /** Access the underlying OdinRecord (null for new records) */
120
- get record(): OdinRecord<TProps> | null;
121
- /**
122
- * Type guard: check if this record is of type DEFAULT
123
- *
124
- * When this returns true, TypeScript automatically narrows the type,
125
- * giving you access to DEFAULT-specific properties.
126
- *
127
- * @example
128
- * ```typescript
129
- * if (record.isDefault()) {
130
- * // TypeScript knows record.properties is QaAutoFailProperties
131
- * console.log(record.properties.SomeTypeSpecificField);
132
- * }
133
- * ```
134
- * @remarks This is the default record type
135
- */
136
- isDefault(): this is QaAutoFailRecord<QaAutoFailProperties>;
137
- /** Valid labels for QaRubric associations */
138
- static readonly qaRubricsLabels: readonly ["Rubric__AutoFail"];
139
- /**
140
- * Access linked QaRubric records
141
- * @remarks Available labels: Rubric__AutoFail
142
- * @throws Error if called on a new (unsaved) record
143
- *
144
- * @example
145
- * ```typescript
146
- * // Get all linked QaRubric records
147
- * const items = await record.qaRubrics.list();
148
- * const first = await record.qaRubrics.first();
149
- *
150
- * // Filter by label
151
- * const specific = await record.qaRubrics.first({ label: 'Rubric__AutoFail' });
152
- * ```
153
- */
154
- get qaRubrics(): RecordLinkManager<QaRubricRecord, typeof QaAutoFailRecord['qaRubricsLabels'][number]>;
155
- /**
156
- * Queue a link to be created with the next action.
157
- * Works for both create and update actions.
158
- * @returns this (for chaining)
159
- */
160
- link(target: OdinRecord<any> | {
161
- id: string;
162
- entity: string;
163
- }): this;
164
- /** Get the currently queued links */
165
- get pendingLinks(): OdinRecordLinkDto[];
166
- /** Clear pending links without executing an action */
167
- clearPendingLinks(): this;
168
- /**
169
- * Immediately unlink a record (API call).
170
- * Unlike link(), this executes immediately.
171
- * @throws Error if called on a new (unsaved) record
172
- */
173
- unlink(target: OdinRecord<any> | {
174
- id: string;
175
- } | string): Promise<void>;
176
- /**
177
- * UpdateQaAutoFail
178
- *
179
- * Updates this QaAutoFail record with the specified properties.
180
- * Returns an ActionBuilder - call .execute() to update or .dryRun() for debugging.
181
- *
182
- * @param properties - Required properties for this action
183
- * @param options - Optional settings
184
- * @param options.journeyId - Associate with a journey
185
- * @param options.stageKey - Transition to pipeline stage
186
- * @returns ActionBuilder - call .execute() to update or .dryRun() for payload
187
- * @throws Error if called on a new (unsaved) record
188
- *
189
- * @example
190
- * ```typescript
191
- * const record = await odinClient.qaAutoFails.get(id);
192
- * await record.updateQaAutoFail({ ... }).execute();
193
- *
194
- * // Dry run (for debugging)
195
- * const payload = record.updateQaAutoFail({ ... }).dryRun();
196
- * ```
197
- */
198
- updateQaAutoFail(properties: UpdateQaAutoFailProperties, options?: {
199
- journeyId?: string;
200
- stageKey?: string;
201
- }): ActionBuilder;
202
- }
203
- /** Type guard to check if an object is a QaAutoFailRecord */
204
- export declare function isQaAutoFailRecord(obj: any): obj is QaAutoFailRecord;
205
- export {};