@d19n/youfibre-odin-sdk 2.0.209-beta.0 → 2.0.209-beta.1

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.
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
12
12
  */
13
- import { OdinRecordCreateDto, OdinRecordCreatedEvent } from '@d19n/odin-types/dist/core';
13
+ import { OdinRecord, OdinRecordCreateDto, OdinRecordCreatedEvent, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
14
14
  /**
15
15
  * RabbitMQ message payload for CreateTwilioTaskQueue created events
16
16
  *
@@ -50,6 +50,112 @@ export interface CreateTwilioTaskQueueProperties {
50
50
  */
51
51
  TaskOrder: string;
52
52
  }
53
+ /**
54
+ * Builder for CreateTwilioTaskQueue action
55
+ *
56
+ * Provides fluent API for adding associations before executing the action.
57
+ * Use .link*() methods to add associations, then call .execute() to run.
58
+ *
59
+ * @example
60
+ * ```typescript
61
+ * await record.createTwilioTaskQueue({ ...properties })
62
+ * .linkAssociation_1782126463687({ id: '...', entity: '...' })
63
+ * .linkAssociation_1782126470024({ id: '...', entity: '...' })
64
+ * .execute();
65
+ * ```
66
+ */
67
+ export declare class CreateTwilioTaskQueueBuilder {
68
+ private _associations;
69
+ private _properties;
70
+ private _pendingLinks;
71
+ private _options?;
72
+ private _provider?;
73
+ private _moduleName?;
74
+ private _entityName?;
75
+ private _clearPendingLinks?;
76
+ private _externalId?;
77
+ private _externalAppId?;
78
+ private _groups?;
79
+ constructor(properties: CreateTwilioTaskQueueProperties, pendingLinks: OdinRecordLinkDto[], options?: {
80
+ journeyId?: string;
81
+ stageKey?: string;
82
+ });
83
+ /**
84
+ * Link ReservationActivity__TwilioActivity
85
+ * @schemaAssociationId 30a7b861-527a-433c-8262-752fc32a0443
86
+ * @required
87
+ * @param target - The record to link
88
+ * @returns this (for method chaining)
89
+ */
90
+ linkAssociation_1782126463687(target: OdinRecord<any> | {
91
+ id: string;
92
+ entity: string;
93
+ }): this;
94
+ /**
95
+ * Link AssignmentActivity__TwilioActivity
96
+ * @schemaAssociationId dd980ffa-714c-4e45-92d4-596b0eade11e
97
+ * @required
98
+ * @param target - The record to link
99
+ * @returns this (for method chaining)
100
+ */
101
+ linkAssociation_1782126470024(target: OdinRecord<any> | {
102
+ id: string;
103
+ entity: string;
104
+ }): this;
105
+ /**
106
+ * Set an external system identifier for this record.
107
+ * Links the record to a corresponding entry in an external application.
108
+ * @param externalId - The ID in the external system
109
+ * @param externalAppId - The external application identifier
110
+ * @returns this (for chaining)
111
+ */
112
+ withExternalId(externalId: string, externalAppId: string): this;
113
+ /**
114
+ * Set security/access groups for this record.
115
+ * @param groups - Array of group names
116
+ * @returns this (for chaining)
117
+ */
118
+ withGroups(groups: string[]): this;
119
+ /**
120
+ * Get the action payload without executing
121
+ * @returns The action data that would be sent
122
+ */
123
+ getData(): {
124
+ entity: string;
125
+ type: string | undefined;
126
+ actionName: string;
127
+ properties: CreateTwilioTaskQueueProperties;
128
+ associations?: OdinRecordLinkDto[];
129
+ journeyId?: string;
130
+ stageKey?: string;
131
+ externalId?: string;
132
+ externalAppId?: string;
133
+ groups?: string[];
134
+ };
135
+ /**
136
+ * Inject execution context (called by record wrapper)
137
+ * @internal
138
+ */
139
+ withProvider(provider: {
140
+ _applyAction(moduleName: string, entityName: string, payload: any): Promise<any>;
141
+ }, moduleName: string, entityName: string, clearPendingLinks: () => void): this;
142
+ /**
143
+ * Execute the action
144
+ * @returns The result from the API
145
+ * @throws Error if withProvider() has not been called
146
+ */
147
+ execute(): Promise<any>;
148
+ /**
149
+ * Returns the request payload without executing (for debugging)
150
+ * @returns The request payload that would be sent to the API
151
+ */
152
+ dryRun(): Record<string, any>;
153
+ /**
154
+ * Prevents accidental `await builder` without .execute()
155
+ * @throws Error always - use .execute() or .dryRun() instead
156
+ */
157
+ then(): never;
158
+ }
53
159
  /**
54
160
  * CreateTwilioTaskQueue
55
161
  *
@@ -75,6 +181,20 @@ export declare class CreateTwilioTaskQueueDto extends OdinRecordCreateDto<Create
75
181
  static readonly STEP_SCHEMA_ID = "dcbdbcfe-bfb3-4e3c-bdd1-92b53bebeb56";
76
182
  static readonly STEP_SCHEMA_ACTION_ID = "ca6cd6f7-9144-4c46-9559-574716a3600e";
77
183
  static readonly AUTO_LINK_PARENT = true;
184
+ static readonly HAS_ASSOCIATIONS = true;
185
+ static readonly HAS_REQUIRED_ASSOCIATIONS = true;
186
+ static readonly BUILDER_CLASS = "CreateTwilioTaskQueueBuilder";
187
+ static readonly ASSOCIATION_FIELDS: readonly [{
188
+ readonly name: "Association_1782126463687";
189
+ readonly methodName: "linkAssociation_1782126463687";
190
+ readonly required: true;
191
+ readonly schemaAssociationId: "30a7b861-527a-433c-8262-752fc32a0443";
192
+ }, {
193
+ readonly name: "Association_1782126470024";
194
+ readonly methodName: "linkAssociation_1782126470024";
195
+ readonly required: true;
196
+ readonly schemaAssociationId: "dd980ffa-714c-4e45-92d4-596b0eade11e";
197
+ }];
78
198
  readonly actionName: string;
79
199
  readonly schemaActionId: string;
80
200
  readonly entity: string;
@@ -11,9 +11,140 @@
11
11
  *
12
12
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
13
  */
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
14
23
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.CreateTwilioTaskQueueDto = void 0;
24
+ exports.CreateTwilioTaskQueueDto = exports.CreateTwilioTaskQueueBuilder = void 0;
16
25
  const core_1 = require("@d19n/odin-types/dist/core");
26
+ /**
27
+ * Builder for CreateTwilioTaskQueue action
28
+ *
29
+ * Provides fluent API for adding associations before executing the action.
30
+ * Use .link*() methods to add associations, then call .execute() to run.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * await record.createTwilioTaskQueue({ ...properties })
35
+ * .linkAssociation_1782126463687({ id: '...', entity: '...' })
36
+ * .linkAssociation_1782126470024({ id: '...', entity: '...' })
37
+ * .execute();
38
+ * ```
39
+ */
40
+ class CreateTwilioTaskQueueBuilder {
41
+ constructor(properties, pendingLinks, options) {
42
+ this._associations = [];
43
+ this._properties = properties;
44
+ this._pendingLinks = pendingLinks;
45
+ this._options = options;
46
+ }
47
+ /**
48
+ * Link ReservationActivity__TwilioActivity
49
+ * @schemaAssociationId 30a7b861-527a-433c-8262-752fc32a0443
50
+ * @required
51
+ * @param target - The record to link
52
+ * @returns this (for method chaining)
53
+ */
54
+ linkAssociation_1782126463687(target) {
55
+ this._associations.push(new core_1.OdinRecordLinkDto({
56
+ id: target.id,
57
+ entity: 'entity' in target ? target.entity : target.entity,
58
+ }));
59
+ return this;
60
+ }
61
+ /**
62
+ * Link AssignmentActivity__TwilioActivity
63
+ * @schemaAssociationId dd980ffa-714c-4e45-92d4-596b0eade11e
64
+ * @required
65
+ * @param target - The record to link
66
+ * @returns this (for method chaining)
67
+ */
68
+ linkAssociation_1782126470024(target) {
69
+ this._associations.push(new core_1.OdinRecordLinkDto({
70
+ id: target.id,
71
+ entity: 'entity' in target ? target.entity : target.entity,
72
+ }));
73
+ return this;
74
+ }
75
+ /**
76
+ * Set an external system identifier for this record.
77
+ * Links the record to a corresponding entry in an external application.
78
+ * @param externalId - The ID in the external system
79
+ * @param externalAppId - The external application identifier
80
+ * @returns this (for chaining)
81
+ */
82
+ withExternalId(externalId, externalAppId) {
83
+ this._externalId = externalId;
84
+ this._externalAppId = externalAppId;
85
+ return this;
86
+ }
87
+ /**
88
+ * Set security/access groups for this record.
89
+ * @param groups - Array of group names
90
+ * @returns this (for chaining)
91
+ */
92
+ withGroups(groups) {
93
+ this._groups = groups;
94
+ return this;
95
+ }
96
+ /**
97
+ * Get the action payload without executing
98
+ * @returns The action data that would be sent
99
+ */
100
+ getData() {
101
+ var _a, _b;
102
+ const allAssociations = [...this._associations, ...this._pendingLinks];
103
+ return Object.assign(Object.assign({ entity: 'SupportModule:TwilioTaskQueue', type: undefined, actionName: 'CreateTwilioTaskQueue', properties: this._properties, associations: allAssociations.length > 0 ? allAssociations : undefined, journeyId: (_a = this._options) === null || _a === void 0 ? void 0 : _a.journeyId, stageKey: (_b = this._options) === null || _b === void 0 ? void 0 : _b.stageKey }, (this._externalId && { externalId: this._externalId, externalAppId: this._externalAppId })), (this._groups && { groups: this._groups }));
104
+ }
105
+ /**
106
+ * Inject execution context (called by record wrapper)
107
+ * @internal
108
+ */
109
+ withProvider(provider, moduleName, entityName, clearPendingLinks) {
110
+ this._provider = provider;
111
+ this._moduleName = moduleName;
112
+ this._entityName = entityName;
113
+ this._clearPendingLinks = clearPendingLinks;
114
+ return this;
115
+ }
116
+ /**
117
+ * Execute the action
118
+ * @returns The result from the API
119
+ * @throws Error if withProvider() has not been called
120
+ */
121
+ execute() {
122
+ var _a;
123
+ return __awaiter(this, void 0, void 0, function* () {
124
+ if (!this._provider || !this._moduleName || !this._entityName) {
125
+ throw new Error('Builder not connected to provider. Use the record wrapper API to get an executable builder.');
126
+ }
127
+ const result = yield this._provider._applyAction(this._moduleName, this._entityName, this.getData());
128
+ (_a = this._clearPendingLinks) === null || _a === void 0 ? void 0 : _a.call(this);
129
+ return result;
130
+ });
131
+ }
132
+ /**
133
+ * Returns the request payload without executing (for debugging)
134
+ * @returns The request payload that would be sent to the API
135
+ */
136
+ dryRun() {
137
+ return this.getData();
138
+ }
139
+ /**
140
+ * Prevents accidental `await builder` without .execute()
141
+ * @throws Error always - use .execute() or .dryRun() instead
142
+ */
143
+ then() {
144
+ throw new Error('Builder cannot be awaited directly. Call .execute() to run the action or .dryRun() to get the payload.');
145
+ }
146
+ }
147
+ exports.CreateTwilioTaskQueueBuilder = CreateTwilioTaskQueueBuilder;
17
148
  /**
18
149
  * CreateTwilioTaskQueue
19
150
  *
@@ -52,3 +183,7 @@ CreateTwilioTaskQueueDto.STEP_ENTITY = 'SupportModule:TwilioTaskQueue';
52
183
  CreateTwilioTaskQueueDto.STEP_SCHEMA_ID = 'dcbdbcfe-bfb3-4e3c-bdd1-92b53bebeb56';
53
184
  CreateTwilioTaskQueueDto.STEP_SCHEMA_ACTION_ID = 'ca6cd6f7-9144-4c46-9559-574716a3600e';
54
185
  CreateTwilioTaskQueueDto.AUTO_LINK_PARENT = true;
186
+ CreateTwilioTaskQueueDto.HAS_ASSOCIATIONS = true;
187
+ CreateTwilioTaskQueueDto.HAS_REQUIRED_ASSOCIATIONS = true;
188
+ CreateTwilioTaskQueueDto.BUILDER_CLASS = 'CreateTwilioTaskQueueBuilder';
189
+ CreateTwilioTaskQueueDto.ASSOCIATION_FIELDS = [{ "name": "Association_1782126463687", "methodName": "linkAssociation_1782126463687", "required": true, "schemaAssociationId": "30a7b861-527a-433c-8262-752fc32a0443" }, { "name": "Association_1782126470024", "methodName": "linkAssociation_1782126470024", "required": true, "schemaAssociationId": "dd980ffa-714c-4e45-92d4-596b0eade11e" }];
@@ -10,7 +10,7 @@
10
10
  *
11
11
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
12
12
  */
13
- import { OdinRecord, OdinRecordUpdateDto, OdinRecordUpdatedEvent } from '@d19n/odin-types/dist/core';
13
+ import { OdinRecord, OdinRecordUpdateDto, OdinRecordUpdatedEvent, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
14
14
  /**
15
15
  * RabbitMQ message payload for UpdateTwilioTaskQueue updated events
16
16
  *
@@ -54,6 +54,116 @@ export interface UpdateTwilioTaskQueueProperties {
54
54
  */
55
55
  TwilioSid?: string | null;
56
56
  }
57
+ /**
58
+ * Builder for UpdateTwilioTaskQueue action
59
+ *
60
+ * Provides fluent API for adding associations before executing the action.
61
+ * Use .link*() methods to add associations, then call .execute() to run.
62
+ *
63
+ * @example
64
+ * ```typescript
65
+ * await record.updateTwilioTaskQueue({ ...properties })
66
+ * .linkAssociation_1782126569403({ id: '...', entity: '...' })
67
+ * .linkAssociation_1782126575356({ id: '...', entity: '...' })
68
+ * .execute();
69
+ * ```
70
+ */
71
+ export declare class UpdateTwilioTaskQueueBuilder {
72
+ private _associations;
73
+ private _properties;
74
+ private _pendingLinks;
75
+ private _options?;
76
+ private _record;
77
+ private _provider?;
78
+ private _moduleName?;
79
+ private _entityName?;
80
+ private _clearPendingLinks?;
81
+ private _externalId?;
82
+ private _externalAppId?;
83
+ private _groups?;
84
+ constructor(record: {
85
+ id: string;
86
+ entity: string;
87
+ type?: string;
88
+ }, properties: UpdateTwilioTaskQueueProperties, pendingLinks: OdinRecordLinkDto[], options?: {
89
+ journeyId?: string;
90
+ stageKey?: string;
91
+ });
92
+ /**
93
+ * Link ReservationActivity__TwilioActivity
94
+ * @schemaAssociationId 30a7b861-527a-433c-8262-752fc32a0443
95
+ * @param target - The record to link
96
+ * @returns this (for method chaining)
97
+ */
98
+ linkAssociation_1782126569403(target: OdinRecord<any> | {
99
+ id: string;
100
+ entity: string;
101
+ }): this;
102
+ /**
103
+ * Link AssignmentActivity__TwilioActivity
104
+ * @schemaAssociationId dd980ffa-714c-4e45-92d4-596b0eade11e
105
+ * @param target - The record to link
106
+ * @returns this (for method chaining)
107
+ */
108
+ linkAssociation_1782126575356(target: OdinRecord<any> | {
109
+ id: string;
110
+ entity: string;
111
+ }): this;
112
+ /**
113
+ * Set an external system identifier for this record.
114
+ * Links the record to a corresponding entry in an external application.
115
+ * @param externalId - The ID in the external system
116
+ * @param externalAppId - The external application identifier
117
+ * @returns this (for chaining)
118
+ */
119
+ withExternalId(externalId: string, externalAppId: string): this;
120
+ /**
121
+ * Set security/access groups for this record.
122
+ * @param groups - Array of group names
123
+ * @returns this (for chaining)
124
+ */
125
+ withGroups(groups: string[]): this;
126
+ /**
127
+ * Get the action payload without executing
128
+ * @returns The action data that would be sent
129
+ */
130
+ getData(): {
131
+ id: string;
132
+ entity: string;
133
+ type?: string;
134
+ actionName: string;
135
+ properties: UpdateTwilioTaskQueueProperties;
136
+ associations?: OdinRecordLinkDto[];
137
+ journeyId?: string;
138
+ stageKey?: string;
139
+ externalId?: string;
140
+ externalAppId?: string;
141
+ groups?: string[];
142
+ };
143
+ /**
144
+ * Inject execution context (called by record wrapper)
145
+ * @internal
146
+ */
147
+ withProvider(provider: {
148
+ _applyAction(moduleName: string, entityName: string, payload: any): Promise<any>;
149
+ }, moduleName: string, entityName: string, clearPendingLinks: () => void): this;
150
+ /**
151
+ * Execute the action
152
+ * @returns The result from the API
153
+ * @throws Error if withProvider() has not been called
154
+ */
155
+ execute(): Promise<any>;
156
+ /**
157
+ * Returns the request payload without executing (for debugging)
158
+ * @returns The request payload that would be sent to the API
159
+ */
160
+ dryRun(): Record<string, any>;
161
+ /**
162
+ * Prevents accidental `await builder` without .execute()
163
+ * @throws Error always - use .execute() or .dryRun() instead
164
+ */
165
+ then(): never;
166
+ }
57
167
  /**
58
168
  * UpdateTwilioTaskQueue
59
169
  *
@@ -79,6 +189,20 @@ export declare class UpdateTwilioTaskQueueDto extends OdinRecordUpdateDto<Update
79
189
  static readonly STEP_SCHEMA_ID = "dcbdbcfe-bfb3-4e3c-bdd1-92b53bebeb56";
80
190
  static readonly STEP_SCHEMA_ACTION_ID = "c6885733-2941-48c0-8398-d9b9c1827075";
81
191
  static readonly AUTO_LINK_PARENT = false;
192
+ static readonly HAS_ASSOCIATIONS = true;
193
+ static readonly HAS_REQUIRED_ASSOCIATIONS = false;
194
+ static readonly BUILDER_CLASS = "UpdateTwilioTaskQueueBuilder";
195
+ static readonly ASSOCIATION_FIELDS: readonly [{
196
+ readonly name: "Association_1782126569403";
197
+ readonly methodName: "linkAssociation_1782126569403";
198
+ readonly required: false;
199
+ readonly schemaAssociationId: "30a7b861-527a-433c-8262-752fc32a0443";
200
+ }, {
201
+ readonly name: "Association_1782126575356";
202
+ readonly methodName: "linkAssociation_1782126575356";
203
+ readonly required: false;
204
+ readonly schemaAssociationId: "dd980ffa-714c-4e45-92d4-596b0eade11e";
205
+ }];
82
206
  readonly actionName: string;
83
207
  readonly schemaActionId: string;
84
208
  readonly entity: string;
@@ -11,9 +11,139 @@
11
11
  *
12
12
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
13
  */
14
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
15
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
16
+ return new (P || (P = Promise))(function (resolve, reject) {
17
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
18
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
19
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
20
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
21
+ });
22
+ };
14
23
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.UpdateTwilioTaskQueueDto = void 0;
24
+ exports.UpdateTwilioTaskQueueDto = exports.UpdateTwilioTaskQueueBuilder = void 0;
16
25
  const core_1 = require("@d19n/odin-types/dist/core");
26
+ /**
27
+ * Builder for UpdateTwilioTaskQueue action
28
+ *
29
+ * Provides fluent API for adding associations before executing the action.
30
+ * Use .link*() methods to add associations, then call .execute() to run.
31
+ *
32
+ * @example
33
+ * ```typescript
34
+ * await record.updateTwilioTaskQueue({ ...properties })
35
+ * .linkAssociation_1782126569403({ id: '...', entity: '...' })
36
+ * .linkAssociation_1782126575356({ id: '...', entity: '...' })
37
+ * .execute();
38
+ * ```
39
+ */
40
+ class UpdateTwilioTaskQueueBuilder {
41
+ constructor(record, properties, pendingLinks, options) {
42
+ this._associations = [];
43
+ this._record = record;
44
+ this._properties = properties;
45
+ this._pendingLinks = pendingLinks;
46
+ this._options = options;
47
+ }
48
+ /**
49
+ * Link ReservationActivity__TwilioActivity
50
+ * @schemaAssociationId 30a7b861-527a-433c-8262-752fc32a0443
51
+ * @param target - The record to link
52
+ * @returns this (for method chaining)
53
+ */
54
+ linkAssociation_1782126569403(target) {
55
+ this._associations.push(new core_1.OdinRecordLinkDto({
56
+ id: target.id,
57
+ entity: 'entity' in target ? target.entity : target.entity,
58
+ }));
59
+ return this;
60
+ }
61
+ /**
62
+ * Link AssignmentActivity__TwilioActivity
63
+ * @schemaAssociationId dd980ffa-714c-4e45-92d4-596b0eade11e
64
+ * @param target - The record to link
65
+ * @returns this (for method chaining)
66
+ */
67
+ linkAssociation_1782126575356(target) {
68
+ this._associations.push(new core_1.OdinRecordLinkDto({
69
+ id: target.id,
70
+ entity: 'entity' in target ? target.entity : target.entity,
71
+ }));
72
+ return this;
73
+ }
74
+ /**
75
+ * Set an external system identifier for this record.
76
+ * Links the record to a corresponding entry in an external application.
77
+ * @param externalId - The ID in the external system
78
+ * @param externalAppId - The external application identifier
79
+ * @returns this (for chaining)
80
+ */
81
+ withExternalId(externalId, externalAppId) {
82
+ this._externalId = externalId;
83
+ this._externalAppId = externalAppId;
84
+ return this;
85
+ }
86
+ /**
87
+ * Set security/access groups for this record.
88
+ * @param groups - Array of group names
89
+ * @returns this (for chaining)
90
+ */
91
+ withGroups(groups) {
92
+ this._groups = groups;
93
+ return this;
94
+ }
95
+ /**
96
+ * Get the action payload without executing
97
+ * @returns The action data that would be sent
98
+ */
99
+ getData() {
100
+ var _a, _b;
101
+ const allAssociations = [...this._associations, ...this._pendingLinks];
102
+ return Object.assign(Object.assign({ id: this._record.id, entity: this._record.entity, type: this._record.type, actionName: 'UpdateTwilioTaskQueue', properties: this._properties, associations: allAssociations.length > 0 ? allAssociations : undefined, journeyId: (_a = this._options) === null || _a === void 0 ? void 0 : _a.journeyId, stageKey: (_b = this._options) === null || _b === void 0 ? void 0 : _b.stageKey }, (this._externalId && { externalId: this._externalId, externalAppId: this._externalAppId })), (this._groups && { groups: this._groups }));
103
+ }
104
+ /**
105
+ * Inject execution context (called by record wrapper)
106
+ * @internal
107
+ */
108
+ withProvider(provider, moduleName, entityName, clearPendingLinks) {
109
+ this._provider = provider;
110
+ this._moduleName = moduleName;
111
+ this._entityName = entityName;
112
+ this._clearPendingLinks = clearPendingLinks;
113
+ return this;
114
+ }
115
+ /**
116
+ * Execute the action
117
+ * @returns The result from the API
118
+ * @throws Error if withProvider() has not been called
119
+ */
120
+ execute() {
121
+ var _a;
122
+ return __awaiter(this, void 0, void 0, function* () {
123
+ if (!this._provider || !this._moduleName || !this._entityName) {
124
+ throw new Error('Builder not connected to provider. Use the record wrapper API to get an executable builder.');
125
+ }
126
+ const result = yield this._provider._applyAction(this._moduleName, this._entityName, this.getData());
127
+ (_a = this._clearPendingLinks) === null || _a === void 0 ? void 0 : _a.call(this);
128
+ return result;
129
+ });
130
+ }
131
+ /**
132
+ * Returns the request payload without executing (for debugging)
133
+ * @returns The request payload that would be sent to the API
134
+ */
135
+ dryRun() {
136
+ return this.getData();
137
+ }
138
+ /**
139
+ * Prevents accidental `await builder` without .execute()
140
+ * @throws Error always - use .execute() or .dryRun() instead
141
+ */
142
+ then() {
143
+ throw new Error('Builder cannot be awaited directly. Call .execute() to run the action or .dryRun() to get the payload.');
144
+ }
145
+ }
146
+ exports.UpdateTwilioTaskQueueBuilder = UpdateTwilioTaskQueueBuilder;
17
147
  /**
18
148
  * UpdateTwilioTaskQueue
19
149
  *
@@ -54,3 +184,7 @@ UpdateTwilioTaskQueueDto.STEP_ENTITY = 'SupportModule:TwilioTaskQueue';
54
184
  UpdateTwilioTaskQueueDto.STEP_SCHEMA_ID = 'dcbdbcfe-bfb3-4e3c-bdd1-92b53bebeb56';
55
185
  UpdateTwilioTaskQueueDto.STEP_SCHEMA_ACTION_ID = 'c6885733-2941-48c0-8398-d9b9c1827075';
56
186
  UpdateTwilioTaskQueueDto.AUTO_LINK_PARENT = false;
187
+ UpdateTwilioTaskQueueDto.HAS_ASSOCIATIONS = true;
188
+ UpdateTwilioTaskQueueDto.HAS_REQUIRED_ASSOCIATIONS = false;
189
+ UpdateTwilioTaskQueueDto.BUILDER_CLASS = 'UpdateTwilioTaskQueueBuilder';
190
+ UpdateTwilioTaskQueueDto.ASSOCIATION_FIELDS = [{ "name": "Association_1782126569403", "methodName": "linkAssociation_1782126569403", "required": false, "schemaAssociationId": "30a7b861-527a-433c-8262-752fc32a0443" }, { "name": "Association_1782126575356", "methodName": "linkAssociation_1782126575356", "required": false, "schemaAssociationId": "dd980ffa-714c-4e45-92d4-596b0eade11e" }];
@@ -1,6 +1,7 @@
1
1
  import { OauthParams } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
2
2
  import { ApiProvider } from '@d19n/odin-sdk-generator/dist/api.provider';
3
3
  import { OdinSearchV2, OdinRecordCreateDto, OdinRecordUpdateDto } from '@d19n/odin-types/dist/core';
4
+ import { ApiRecordLinkManager } from '@d19n/odin-sdk-generator/dist/api.record.link.manager';
4
5
  import { TwilioActivityProperties } from '../entities-v2/TwilioActivity';
5
6
  /**
6
7
  * @deprecated Use OdinApiClient.
@@ -16,7 +17,11 @@ export declare class TwilioActivityApi extends ApiProvider {
16
17
  private readonly moduleName;
17
18
  private readonly entityName;
18
19
  private sourceRecord;
20
+ private _reservationactivity__twilioactivity?;
21
+ private _assignmentactivity__twilioactivity?;
19
22
  constructor(authParams?: OauthParams, authToken?: string);
23
+ get reservationactivity__twilioactivity(): ApiRecordLinkManager;
24
+ get assignmentactivity__twilioactivity(): ApiRecordLinkManager;
20
25
  setRecord(sourceRecord: any): void;
21
26
  schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
22
27
  search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<TwilioActivityProperties>>>;
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TwilioActivityApi = void 0;
13
13
  const api_provider_1 = require("@d19n/odin-sdk-generator/dist/api.provider");
14
+ const api_record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/api.record.link.manager");
14
15
  /**
15
16
  * @deprecated Use OdinApiClient.
16
17
  *
@@ -21,9 +22,6 @@ const api_provider_1 = require("@d19n/odin-sdk-generator/dist/api.provider");
21
22
  * The new OdinApiClient returns typed record wrappers with action methods.
22
23
  */
23
24
  class TwilioActivityApi extends api_provider_1.ApiProvider {
24
- // ============================================
25
- // PRIVATE BACKING FIELDS (Lazy Loading)
26
- // ============================================
27
25
  constructor(authParams, authToken) {
28
26
  super(authParams, authToken);
29
27
  this.authToken = authToken;
@@ -35,6 +33,18 @@ class TwilioActivityApi extends api_provider_1.ApiProvider {
35
33
  // LAZY-LOADED LINK MANAGERS (Public Getters)
36
34
  // ============================================
37
35
  // Usage remains identical: api.address.list(recordId)
36
+ get reservationactivity__twilioactivity() {
37
+ if (!this._reservationactivity__twilioactivity) {
38
+ this._reservationactivity__twilioactivity = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:TwilioActivity', 'SupportModule:TwilioTaskQueue', 'ReservationActivity__TwilioActivity');
39
+ }
40
+ return this._reservationactivity__twilioactivity;
41
+ }
42
+ get assignmentactivity__twilioactivity() {
43
+ if (!this._assignmentactivity__twilioactivity) {
44
+ this._assignmentactivity__twilioactivity = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:TwilioActivity', 'SupportModule:TwilioTaskQueue', 'AssignmentActivity__TwilioActivity');
45
+ }
46
+ return this._assignmentactivity__twilioactivity;
47
+ }
38
48
  // ============================================
39
49
  // STANDARD METHODS (Unchanged API)
40
50
  // ============================================
@@ -18,8 +18,12 @@ export declare class TwilioTaskQueueApi extends ApiProvider {
18
18
  private readonly entityName;
19
19
  private sourceRecord;
20
20
  private _twilioworker?;
21
+ private _reservationactivity__twilioactivity?;
22
+ private _assignmentactivity__twilioactivity?;
21
23
  constructor(authParams?: OauthParams, authToken?: string);
22
24
  get twilioworker(): ApiRecordLinkManager;
25
+ get reservationactivity__twilioactivity(): ApiRecordLinkManager;
26
+ get assignmentactivity__twilioactivity(): ApiRecordLinkManager;
23
27
  setRecord(sourceRecord: any): void;
24
28
  schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
25
29
  search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<TwilioTaskQueueProperties>>>;
@@ -39,6 +39,18 @@ class TwilioTaskQueueApi extends api_provider_1.ApiProvider {
39
39
  }
40
40
  return this._twilioworker;
41
41
  }
42
+ get reservationactivity__twilioactivity() {
43
+ if (!this._reservationactivity__twilioactivity) {
44
+ this._reservationactivity__twilioactivity = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:TwilioTaskQueue', 'SupportModule:TwilioActivity', 'ReservationActivity__TwilioActivity');
45
+ }
46
+ return this._reservationactivity__twilioactivity;
47
+ }
48
+ get assignmentactivity__twilioactivity() {
49
+ if (!this._assignmentactivity__twilioactivity) {
50
+ this._assignmentactivity__twilioactivity = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:TwilioTaskQueue', 'SupportModule:TwilioActivity', 'AssignmentActivity__TwilioActivity');
51
+ }
52
+ return this._assignmentactivity__twilioactivity;
53
+ }
42
54
  // ============================================
43
55
  // STANDARD METHODS (Unchanged API)
44
56
  // ============================================
@@ -1,5 +1,6 @@
1
1
  import { DbProvider, DbProviderOptions, DbGetQueryOptions } from '@d19n/odin-sdk-generator/dist/db.provider';
2
2
  import { OdinSearchV2, OdinRecordCreateDto, OdinRecordUpdateDto } from '@d19n/odin-types/dist/core';
3
+ import { DbRecordLinkManager } from '@d19n/odin-sdk-generator/dist/db.record.link.manager';
3
4
  import { TwilioActivityProperties } from '../entities-v2/TwilioActivity';
4
5
  /**
5
6
  * @deprecated Use OdinDbClient.
@@ -20,7 +21,11 @@ export declare class TwilioActivityDb extends DbProvider {
20
21
  private readonly moduleName;
21
22
  private readonly entityName;
22
23
  private sourceRecord;
24
+ private _reservationactivity__twilioactivity?;
25
+ private _assignmentactivity__twilioactivity?;
23
26
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
27
+ get reservationactivity__twilioactivity(): DbRecordLinkManager;
28
+ get assignmentactivity__twilioactivity(): DbRecordLinkManager;
24
29
  setRecord(sourceRecord: any): void;
25
30
  /**
26
31
  * Search records with manual pagination control
@@ -11,6 +11,7 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.TwilioActivityDb = void 0;
13
13
  const db_provider_1 = require("@d19n/odin-sdk-generator/dist/db.provider");
14
+ const db_record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/db.record.link.manager");
14
15
  /**
15
16
  * @deprecated Use OdinDbClient.
16
17
  *
@@ -25,9 +26,6 @@ const db_provider_1 = require("@d19n/odin-sdk-generator/dist/db.provider");
25
26
  * - Method level: await db.getByPrimaryKey(id, { entities: [] }, { omitPermissionsCheck: true })
26
27
  */
27
28
  class TwilioActivityDb extends db_provider_1.DbProvider {
28
- // ============================================
29
- // PRIVATE BACKING FIELDS (Lazy Loading)
30
- // ============================================
31
29
  constructor(principal, dbService, defaultOptions) {
32
30
  super(principal, dbService, defaultOptions);
33
31
  this.moduleName = 'SupportModule';
@@ -40,6 +38,18 @@ class TwilioActivityDb extends db_provider_1.DbProvider {
40
38
  // LAZY-LOADED LINK MANAGERS (Public Getters)
41
39
  // ============================================
42
40
  // Usage remains identical: db.address.list(recordId)
41
+ get reservationactivity__twilioactivity() {
42
+ if (!this._reservationactivity__twilioactivity) {
43
+ this._reservationactivity__twilioactivity = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'SupportModule:TwilioActivity', 'SupportModule:TwilioTaskQueue', 'ReservationActivity__TwilioActivity');
44
+ }
45
+ return this._reservationactivity__twilioactivity;
46
+ }
47
+ get assignmentactivity__twilioactivity() {
48
+ if (!this._assignmentactivity__twilioactivity) {
49
+ this._assignmentactivity__twilioactivity = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'SupportModule:TwilioActivity', 'SupportModule:TwilioTaskQueue', 'AssignmentActivity__TwilioActivity');
50
+ }
51
+ return this._assignmentactivity__twilioactivity;
52
+ }
43
53
  // ============================================
44
54
  // STANDARD METHODS
45
55
  // ============================================
@@ -22,8 +22,12 @@ export declare class TwilioTaskQueueDb extends DbProvider {
22
22
  private readonly entityName;
23
23
  private sourceRecord;
24
24
  private _twilioworker?;
25
+ private _reservationactivity__twilioactivity?;
26
+ private _assignmentactivity__twilioactivity?;
25
27
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
26
28
  get twilioworker(): DbRecordLinkManager;
29
+ get reservationactivity__twilioactivity(): DbRecordLinkManager;
30
+ get assignmentactivity__twilioactivity(): DbRecordLinkManager;
27
31
  setRecord(sourceRecord: any): void;
28
32
  /**
29
33
  * Search records with manual pagination control
@@ -44,6 +44,18 @@ class TwilioTaskQueueDb extends db_provider_1.DbProvider {
44
44
  }
45
45
  return this._twilioworker;
46
46
  }
47
+ get reservationactivity__twilioactivity() {
48
+ if (!this._reservationactivity__twilioactivity) {
49
+ this._reservationactivity__twilioactivity = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'SupportModule:TwilioTaskQueue', 'SupportModule:TwilioActivity', 'ReservationActivity__TwilioActivity');
50
+ }
51
+ return this._reservationactivity__twilioactivity;
52
+ }
53
+ get assignmentactivity__twilioactivity() {
54
+ if (!this._assignmentactivity__twilioactivity) {
55
+ this._assignmentactivity__twilioactivity = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'SupportModule:TwilioTaskQueue', 'SupportModule:TwilioActivity', 'AssignmentActivity__TwilioActivity');
56
+ }
57
+ return this._assignmentactivity__twilioactivity;
58
+ }
47
59
  // ============================================
48
60
  // STANDARD METHODS
49
61
  // ============================================
@@ -10,7 +10,8 @@
10
10
  * AUTO-GENERATED - DO NOT EDIT DIRECTLY
11
11
  * Generated from Odin schema definition
12
12
  */
13
- import { OdinRecord } from '@d19n/odin-types/dist/core';
13
+ import { OdinRecord, OdinLink, LinkedOdinRecord } from '@d19n/odin-types/dist/core';
14
+ import { TwilioTaskQueueProperties } from './TwilioTaskQueue';
14
15
  /**
15
16
  * Available types for TwilioActivity records
16
17
  */
@@ -67,6 +68,8 @@ export declare class TwilioActivity extends OdinRecord<TwilioActivityProperties>
67
68
  type: TwilioActivityEntityTypes;
68
69
  schemaId: '2013456a-e938-4096-a838-e9c4c484fd0d';
69
70
  properties: TwilioActivityProperties;
71
+ /** Linked TwilioTaskQueue records (ReservationActivity__TwilioActivity) */
72
+ TwilioTaskQueue: OdinLink<LinkedOdinRecord<TwilioTaskQueueProperties>>;
70
73
  }
71
74
  /**
72
75
  * RabbitMQ routing keys for TwilioActivity events
@@ -12,6 +12,7 @@
12
12
  */
13
13
  import { OdinRecord, OdinLink, LinkedOdinRecord } from '@d19n/odin-types/dist/core';
14
14
  import { TwilioWorkerProperties } from './TwilioWorker';
15
+ import { TwilioActivityProperties } from './TwilioActivity';
15
16
  /**
16
17
  * Available types for TwilioTaskQueue records
17
18
  */
@@ -91,6 +92,8 @@ export declare class TwilioTaskQueue extends OdinRecord<TwilioTaskQueuePropertie
91
92
  properties: TwilioTaskQueueProperties;
92
93
  /** Linked TwilioWorker records (TwilioTaskQueue__TwilioWorker) */
93
94
  TwilioWorker: OdinLink<LinkedOdinRecord<TwilioWorkerProperties>>;
95
+ /** Linked TwilioActivity records (ReservationActivity__TwilioActivity) */
96
+ TwilioActivity: OdinLink<LinkedOdinRecord<TwilioActivityProperties>>;
94
97
  }
95
98
  /**
96
99
  * RabbitMQ routing keys for TwilioTaskQueue events
@@ -112,3 +115,7 @@ export declare const ROUTING_KEY_TWILIO_TASK_QUEUE_DEFAULT_DELETED = "SupportMod
112
115
  export declare const ROUTING_KEY_LINK_TWILIO_TASK_QUEUE_TWILIO_WORKER_CREATED = "SupportModule.TwilioTaskQueue.TwilioWorker.SubDbRecordAssociationCreated";
113
116
  /** Event: TwilioTaskQueue__TwilioWorker link deleted */
114
117
  export declare const ROUTING_KEY_LINK_TWILIO_TASK_QUEUE_TWILIO_WORKER_DELETED = "SupportModule.TwilioTaskQueue.TwilioWorker.SubDbRecordAssociationDeleted";
118
+ /** Event: ReservationActivity__TwilioActivity link created */
119
+ export declare const ROUTING_KEY_LINK_RESERVATION_ACTIVITY_TWILIO_ACTIVITY_CREATED = "SupportModule.TwilioTaskQueue.TwilioActivity.SubDbRecordAssociationCreated";
120
+ /** Event: ReservationActivity__TwilioActivity link deleted */
121
+ export declare const ROUTING_KEY_LINK_RESERVATION_ACTIVITY_TWILIO_ACTIVITY_DELETED = "SupportModule.TwilioTaskQueue.TwilioActivity.SubDbRecordAssociationDeleted";
@@ -12,7 +12,7 @@
12
12
  * Generated from Odin schema definition
13
13
  */
14
14
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.ROUTING_KEY_LINK_TWILIO_TASK_QUEUE_TWILIO_WORKER_DELETED = exports.ROUTING_KEY_LINK_TWILIO_TASK_QUEUE_TWILIO_WORKER_CREATED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_DEFAULT_DELETED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_DEFAULT_UPDATED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_DEFAULT_CREATED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_DELETED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_UPDATED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_CREATED = exports.TwilioTaskQueue = exports.TwilioTaskQueuePropertyKeys = exports.TwilioTaskQueueTaskOrder = exports.TwilioTaskQueueEntityTypes = void 0;
15
+ exports.ROUTING_KEY_LINK_RESERVATION_ACTIVITY_TWILIO_ACTIVITY_DELETED = exports.ROUTING_KEY_LINK_RESERVATION_ACTIVITY_TWILIO_ACTIVITY_CREATED = exports.ROUTING_KEY_LINK_TWILIO_TASK_QUEUE_TWILIO_WORKER_DELETED = exports.ROUTING_KEY_LINK_TWILIO_TASK_QUEUE_TWILIO_WORKER_CREATED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_DEFAULT_DELETED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_DEFAULT_UPDATED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_DEFAULT_CREATED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_DELETED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_UPDATED = exports.ROUTING_KEY_TWILIO_TASK_QUEUE_CREATED = exports.TwilioTaskQueue = exports.TwilioTaskQueuePropertyKeys = exports.TwilioTaskQueueTaskOrder = exports.TwilioTaskQueueEntityTypes = void 0;
16
16
  const core_1 = require("@d19n/odin-types/dist/core");
17
17
  /**
18
18
  * Available types for TwilioTaskQueue records
@@ -87,3 +87,7 @@ exports.ROUTING_KEY_TWILIO_TASK_QUEUE_DEFAULT_DELETED = 'SupportModule.TwilioTas
87
87
  exports.ROUTING_KEY_LINK_TWILIO_TASK_QUEUE_TWILIO_WORKER_CREATED = 'SupportModule.TwilioTaskQueue.TwilioWorker.SubDbRecordAssociationCreated';
88
88
  /** Event: TwilioTaskQueue__TwilioWorker link deleted */
89
89
  exports.ROUTING_KEY_LINK_TWILIO_TASK_QUEUE_TWILIO_WORKER_DELETED = 'SupportModule.TwilioTaskQueue.TwilioWorker.SubDbRecordAssociationDeleted';
90
+ /** Event: ReservationActivity__TwilioActivity link created */
91
+ exports.ROUTING_KEY_LINK_RESERVATION_ACTIVITY_TWILIO_ACTIVITY_CREATED = 'SupportModule.TwilioTaskQueue.TwilioActivity.SubDbRecordAssociationCreated';
92
+ /** Event: ReservationActivity__TwilioActivity link deleted */
93
+ exports.ROUTING_KEY_LINK_RESERVATION_ACTIVITY_TWILIO_ACTIVITY_DELETED = 'SupportModule.TwilioTaskQueue.TwilioActivity.SubDbRecordAssociationDeleted';
@@ -21,10 +21,12 @@ import { OdinRecord, OdinRecordLinkDto } from '@d19n/odin-types/dist/core';
21
21
  import { PipelineStageEntity } from '@d19n/odin-types/dist/core';
22
22
  import { IDbRecordCreateUpdateRes } from '@d19n/odin-types/dist/core/interfaces/v1.db.interfaces';
23
23
  import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
24
+ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
24
25
  import { TwilioActivityProperties } from '../entities-v2/TwilioActivity';
25
26
  import { CreateTwilioActivityProperties } from '../actions-v2/CreateTwilioActivityDto';
26
27
  import { SyncTwilioActivityProperties } from '../actions-v2/SyncTwilioActivityDto';
27
28
  import { UpdateTwilioActivityProperties } from '../actions-v2/UpdateTwilioActivityDto';
29
+ import { TwilioTaskQueueRecord } from './TwilioTaskQueueRecord';
28
30
  /** Valid entity types for TwilioActivity */
29
31
  export declare type TwilioActivityType = 'DEFAULT';
30
32
  /**
@@ -90,6 +92,7 @@ export declare class TwilioActivityRecord<TProps = TwilioActivityProperties> {
90
92
  private _provider;
91
93
  private _pendingLinks;
92
94
  private _preGeneratedId;
95
+ private _twilioTaskQueues?;
93
96
  /**
94
97
  * Create a record wrapper.
95
98
  * @param record - The underlying record, or null for create operations
@@ -131,6 +134,24 @@ export declare class TwilioActivityRecord<TProps = TwilioActivityProperties> {
131
134
  * @remarks This is the default record type
132
135
  */
133
136
  isDefault(): this is TwilioActivityRecord<TwilioActivityProperties>;
137
+ /** Valid labels for TwilioTaskQueue associations */
138
+ static readonly twilioTaskQueuesLabels: readonly ["ReservationActivity__TwilioActivity", "AssignmentActivity__TwilioActivity"];
139
+ /**
140
+ * Access linked TwilioTaskQueue records
141
+ * @remarks Available labels: ReservationActivity__TwilioActivity, AssignmentActivity__TwilioActivity
142
+ * @throws Error if called on a new (unsaved) record
143
+ *
144
+ * @example
145
+ * ```typescript
146
+ * // Get all linked TwilioTaskQueue records
147
+ * const items = await record.twilioTaskQueues.list();
148
+ * const first = await record.twilioTaskQueues.first();
149
+ *
150
+ * // Filter by label
151
+ * const specific = await record.twilioTaskQueues.first({ label: 'ReservationActivity__TwilioActivity' });
152
+ * ```
153
+ */
154
+ get twilioTaskQueues(): RecordLinkManager<TwilioTaskQueueRecord, typeof TwilioActivityRecord['twilioTaskQueuesLabels'][number]>;
134
155
  /**
135
156
  * Queue a link to be created with the next action.
136
157
  * Works for both create and update actions.
@@ -31,6 +31,8 @@ Object.defineProperty(exports, "__esModule", { value: true });
31
31
  exports.isTwilioActivityRecord = exports.TwilioActivityRecord = void 0;
32
32
  const uuid_1 = require("uuid");
33
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 TwilioTaskQueueRecord_1 = require("./TwilioTaskQueueRecord");
34
36
  /**
35
37
  * Builder for action execution with dryRun support
36
38
  *
@@ -160,6 +162,36 @@ class TwilioActivityRecord {
160
162
  * @remarks This is the default record type
161
163
  */
162
164
  isDefault() { var _a; return ((_a = this._record) === null || _a === void 0 ? void 0 : _a.type) === 'DEFAULT'; }
165
+ /**
166
+ * Access linked TwilioTaskQueue records
167
+ * @remarks Available labels: ReservationActivity__TwilioActivity, AssignmentActivity__TwilioActivity
168
+ * @throws Error if called on a new (unsaved) record
169
+ *
170
+ * @example
171
+ * ```typescript
172
+ * // Get all linked TwilioTaskQueue records
173
+ * const items = await record.twilioTaskQueues.list();
174
+ * const first = await record.twilioTaskQueues.first();
175
+ *
176
+ * // Filter by label
177
+ * const specific = await record.twilioTaskQueues.first({ label: 'ReservationActivity__TwilioActivity' });
178
+ * ```
179
+ */
180
+ get twilioTaskQueues() {
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._twilioTaskQueues) {
185
+ this._twilioTaskQueues = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
186
+ sourceEntity: 'SupportModule:TwilioActivity',
187
+ targetEntity: 'SupportModule:TwilioTaskQueue',
188
+ targetModuleName: 'SupportModule',
189
+ targetEntityName: 'TwilioTaskQueue',
190
+ labels: ['ReservationActivity__TwilioActivity', 'AssignmentActivity__TwilioActivity'],
191
+ }, TwilioTaskQueueRecord_1.TwilioTaskQueueRecord);
192
+ }
193
+ return this._twilioTaskQueues;
194
+ }
163
195
  // ============================================
164
196
  // LINK MANAGEMENT
165
197
  // ============================================
@@ -313,6 +345,11 @@ class TwilioActivityRecord {
313
345
  }
314
346
  }
315
347
  exports.TwilioActivityRecord = TwilioActivityRecord;
348
+ // ============================================
349
+ // TYPED LINK ACCESSORS
350
+ // ============================================
351
+ /** Valid labels for TwilioTaskQueue associations */
352
+ TwilioActivityRecord.twilioTaskQueuesLabels = ['ReservationActivity__TwilioActivity', 'AssignmentActivity__TwilioActivity'];
316
353
  /** Type guard to check if an object is a TwilioActivityRecord */
317
354
  function isTwilioActivityRecord(obj) {
318
355
  return obj instanceof TwilioActivityRecord;
@@ -24,9 +24,12 @@ import { IOdinProvider } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
24
24
  import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-manager';
25
25
  import { TwilioTaskQueueProperties } from '../entities-v2/TwilioTaskQueue';
26
26
  import { CreateTwilioTaskQueueProperties } from '../actions-v2/CreateTwilioTaskQueueDto';
27
+ import { CreateTwilioTaskQueueBuilder } from '../actions-v2/CreateTwilioTaskQueueDto';
27
28
  import { SyncTwilioTaskQueueProperties } from '../actions-v2/SyncTwilioTaskQueueDto';
28
29
  import { UpdateTwilioTaskQueueProperties } from '../actions-v2/UpdateTwilioTaskQueueDto';
30
+ import { UpdateTwilioTaskQueueBuilder } from '../actions-v2/UpdateTwilioTaskQueueDto';
29
31
  import { TwilioWorkerRecord } from './TwilioWorkerRecord';
32
+ import { TwilioActivityRecord } from './TwilioActivityRecord';
30
33
  /** Valid entity types for TwilioTaskQueue */
31
34
  export declare type TwilioTaskQueueType = 'DEFAULT';
32
35
  /**
@@ -93,6 +96,7 @@ export declare class TwilioTaskQueueRecord<TProps = TwilioTaskQueueProperties> {
93
96
  private _pendingLinks;
94
97
  private _preGeneratedId;
95
98
  private _twilioWorkers?;
99
+ private _twilioActivities?;
96
100
  /**
97
101
  * Create a record wrapper.
98
102
  * @param record - The underlying record, or null for create operations
@@ -152,6 +156,24 @@ export declare class TwilioTaskQueueRecord<TProps = TwilioTaskQueueProperties> {
152
156
  * ```
153
157
  */
154
158
  get twilioWorkers(): RecordLinkManager<TwilioWorkerRecord, typeof TwilioTaskQueueRecord['twilioWorkersLabels'][number]>;
159
+ /** Valid labels for TwilioActivity associations */
160
+ static readonly twilioActivitiesLabels: readonly ["ReservationActivity__TwilioActivity", "AssignmentActivity__TwilioActivity"];
161
+ /**
162
+ * Access linked TwilioActivity records
163
+ * @remarks Available labels: ReservationActivity__TwilioActivity, AssignmentActivity__TwilioActivity
164
+ * @throws Error if called on a new (unsaved) record
165
+ *
166
+ * @example
167
+ * ```typescript
168
+ * // Get all linked TwilioActivity records
169
+ * const items = await record.twilioActivities.list();
170
+ * const first = await record.twilioActivities.first();
171
+ *
172
+ * // Filter by label
173
+ * const specific = await record.twilioActivities.first({ label: 'ReservationActivity__TwilioActivity' });
174
+ * ```
175
+ */
176
+ get twilioActivities(): RecordLinkManager<TwilioActivityRecord, typeof TwilioTaskQueueRecord['twilioActivitiesLabels'][number]>;
155
177
  /**
156
178
  * Queue a link to be created with the next action.
157
179
  * Works for both create and update actions.
@@ -177,30 +199,27 @@ export declare class TwilioTaskQueueRecord<TProps = TwilioTaskQueueProperties> {
177
199
  * CreateTwilioTaskQueue
178
200
  *
179
201
  * Creates a new TwilioTaskQueue record with the specified properties.
180
- * Returns an ActionBuilder - call .execute() to create or .dryRun() for debugging.
202
+ * Returns a builder with fluent .link*() methods for associations.
203
+ * Call .execute() to create or .dryRun() for debugging.
181
204
  *
182
205
  * @param properties - The properties for the new record
183
206
  * @param options - Optional settings
184
- * @param options.type - Override the record type
185
207
  * @param options.journeyId - Associate with a journey
186
208
  * @param options.stageKey - Set initial pipeline stage
187
- * @returns ActionBuilder - call .execute() to create or .dryRun() for payload
209
+ * @returns CreateTwilioTaskQueueBuilder - chain .link*() then .execute()
188
210
  *
189
211
  * @example
190
212
  * ```typescript
191
- * // Create with properties
192
213
  * const record = odinClient.twilioTaskQueues.new();
193
- * await record.createTwilioTaskQueue({ ... }).execute();
194
- *
195
- * // Dry run (for debugging)
196
- * const payload = record.createTwilioTaskQueue({ ... }).dryRun();
214
+ * await record.createTwilioTaskQueue({ ... })
215
+ * .linkAssociation_xxx(target)
216
+ * .execute();
197
217
  * ```
198
218
  */
199
219
  createTwilioTaskQueue(properties: CreateTwilioTaskQueueProperties, options?: {
200
- type?: string;
201
220
  journeyId?: string;
202
221
  stageKey?: string;
203
- }): ActionBuilder;
222
+ }): CreateTwilioTaskQueueBuilder;
204
223
  /**
205
224
  * SyncTwilioTaskQueue
206
225
  *
@@ -232,29 +251,26 @@ export declare class TwilioTaskQueueRecord<TProps = TwilioTaskQueueProperties> {
232
251
  * UpdateTwilioTaskQueue
233
252
  *
234
253
  * Updates this TwilioTaskQueue record.
235
- * Returns an ActionBuilder - call .execute() to update or .dryRun() for debugging.
254
+ * Returns a builder with fluent .link*() methods for associations.
255
+ * Call .execute() to update or .dryRun() for debugging.
236
256
  *
237
- * @param propertiesOrOptions - Properties to update, or options object
238
- * @param options - Optional settings (journeyId, stageKey)
239
- * @returns ActionBuilder - call .execute() to update or .dryRun() for payload
257
+ * @param properties - Properties to update
258
+ * @param options - Optional settings
259
+ * @returns UpdateTwilioTaskQueueBuilder - chain .link*() then .execute()
240
260
  * @throws Error if called on a new (unsaved) record
241
261
  *
242
262
  * @example
243
263
  * ```typescript
244
264
  * const record = await odinClient.twilioTaskQueues.get(id);
245
- * await record.updateTwilioTaskQueue({ ... }).execute();
246
- *
247
- * // Dry run (for debugging)
248
- * const payload = record.updateTwilioTaskQueue({ ... }).dryRun();
265
+ * await record.updateTwilioTaskQueue({ ... })
266
+ * .linkAssociation_xxx(target)
267
+ * .execute();
249
268
  * ```
250
269
  */
251
- updateTwilioTaskQueue(propertiesOrOptions?: UpdateTwilioTaskQueueProperties | {
270
+ updateTwilioTaskQueue(properties?: UpdateTwilioTaskQueueProperties, options?: {
252
271
  journeyId?: string;
253
272
  stageKey?: string;
254
- }, options?: {
255
- journeyId?: string;
256
- stageKey?: string;
257
- }): ActionBuilder;
273
+ }): UpdateTwilioTaskQueueBuilder;
258
274
  }
259
275
  /** Type guard to check if an object is a TwilioTaskQueueRecord */
260
276
  export declare function isTwilioTaskQueueRecord(obj: any): obj is TwilioTaskQueueRecord;
@@ -32,7 +32,10 @@ exports.isTwilioTaskQueueRecord = exports.TwilioTaskQueueRecord = void 0;
32
32
  const uuid_1 = require("uuid");
33
33
  const core_1 = require("@d19n/odin-types/dist/core");
34
34
  const record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/record-link-manager");
35
+ const CreateTwilioTaskQueueDto_1 = require("../actions-v2/CreateTwilioTaskQueueDto");
36
+ const UpdateTwilioTaskQueueDto_1 = require("../actions-v2/UpdateTwilioTaskQueueDto");
35
37
  const TwilioWorkerRecord_1 = require("./TwilioWorkerRecord");
38
+ const TwilioActivityRecord_1 = require("./TwilioActivityRecord");
36
39
  /**
37
40
  * Builder for action execution with dryRun support
38
41
  *
@@ -192,6 +195,36 @@ class TwilioTaskQueueRecord {
192
195
  }
193
196
  return this._twilioWorkers;
194
197
  }
198
+ /**
199
+ * Access linked TwilioActivity records
200
+ * @remarks Available labels: ReservationActivity__TwilioActivity, AssignmentActivity__TwilioActivity
201
+ * @throws Error if called on a new (unsaved) record
202
+ *
203
+ * @example
204
+ * ```typescript
205
+ * // Get all linked TwilioActivity records
206
+ * const items = await record.twilioActivities.list();
207
+ * const first = await record.twilioActivities.first();
208
+ *
209
+ * // Filter by label
210
+ * const specific = await record.twilioActivities.first({ label: 'ReservationActivity__TwilioActivity' });
211
+ * ```
212
+ */
213
+ get twilioActivities() {
214
+ var _a;
215
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
216
+ throw new Error('Cannot access links on a new (unsaved) record');
217
+ if (!this._twilioActivities) {
218
+ this._twilioActivities = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
219
+ sourceEntity: 'SupportModule:TwilioTaskQueue',
220
+ targetEntity: 'SupportModule:TwilioActivity',
221
+ targetModuleName: 'SupportModule',
222
+ targetEntityName: 'TwilioActivity',
223
+ labels: ['ReservationActivity__TwilioActivity', 'AssignmentActivity__TwilioActivity'],
224
+ }, TwilioActivityRecord_1.TwilioActivityRecord);
225
+ }
226
+ return this._twilioActivities;
227
+ }
195
228
  // ============================================
196
229
  // LINK MANAGEMENT
197
230
  // ============================================
@@ -234,37 +267,25 @@ class TwilioTaskQueueRecord {
234
267
  * CreateTwilioTaskQueue
235
268
  *
236
269
  * Creates a new TwilioTaskQueue record with the specified properties.
237
- * Returns an ActionBuilder - call .execute() to create or .dryRun() for debugging.
270
+ * Returns a builder with fluent .link*() methods for associations.
271
+ * Call .execute() to create or .dryRun() for debugging.
238
272
  *
239
273
  * @param properties - The properties for the new record
240
274
  * @param options - Optional settings
241
- * @param options.type - Override the record type
242
275
  * @param options.journeyId - Associate with a journey
243
276
  * @param options.stageKey - Set initial pipeline stage
244
- * @returns ActionBuilder - call .execute() to create or .dryRun() for payload
277
+ * @returns CreateTwilioTaskQueueBuilder - chain .link*() then .execute()
245
278
  *
246
279
  * @example
247
280
  * ```typescript
248
- * // Create with properties
249
281
  * const record = odinClient.twilioTaskQueues.new();
250
- * await record.createTwilioTaskQueue({ ... }).execute();
251
- *
252
- * // Dry run (for debugging)
253
- * const payload = record.createTwilioTaskQueue({ ... }).dryRun();
282
+ * await record.createTwilioTaskQueue({ ... })
283
+ * .linkAssociation_xxx(target)
284
+ * .execute();
254
285
  * ```
255
286
  */
256
287
  createTwilioTaskQueue(properties, options) {
257
- var _a, _b;
258
- const payload = {
259
- entity: 'SupportModule:TwilioTaskQueue',
260
- type: (_a = options === null || options === void 0 ? void 0 : options.type) !== null && _a !== void 0 ? _a : (_b = this._record) === null || _b === void 0 ? void 0 : _b.type,
261
- actionName: 'CreateTwilioTaskQueue',
262
- properties: properties || {},
263
- associations: this._pendingLinks.length > 0 ? this._pendingLinks : undefined,
264
- journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
265
- stageKey: options === null || options === void 0 ? void 0 : options.stageKey,
266
- };
267
- return new ActionBuilder(this._provider, 'SupportModule', 'TwilioTaskQueue', payload, () => { this._pendingLinks = []; });
288
+ return new CreateTwilioTaskQueueDto_1.CreateTwilioTaskQueueBuilder(properties || {}, [...this._pendingLinks], options).withProvider(this._provider, 'SupportModule', 'TwilioTaskQueue', () => { this._pendingLinks = []; });
268
289
  }
269
290
  // ============================================
270
291
  // UPDATE ACTIONS (require existing record)
@@ -310,38 +331,27 @@ class TwilioTaskQueueRecord {
310
331
  * UpdateTwilioTaskQueue
311
332
  *
312
333
  * Updates this TwilioTaskQueue record.
313
- * Returns an ActionBuilder - call .execute() to update or .dryRun() for debugging.
334
+ * Returns a builder with fluent .link*() methods for associations.
335
+ * Call .execute() to update or .dryRun() for debugging.
314
336
  *
315
- * @param propertiesOrOptions - Properties to update, or options object
316
- * @param options - Optional settings (journeyId, stageKey)
317
- * @returns ActionBuilder - call .execute() to update or .dryRun() for payload
337
+ * @param properties - Properties to update
338
+ * @param options - Optional settings
339
+ * @returns UpdateTwilioTaskQueueBuilder - chain .link*() then .execute()
318
340
  * @throws Error if called on a new (unsaved) record
319
341
  *
320
342
  * @example
321
343
  * ```typescript
322
344
  * const record = await odinClient.twilioTaskQueues.get(id);
323
- * await record.updateTwilioTaskQueue({ ... }).execute();
324
- *
325
- * // Dry run (for debugging)
326
- * const payload = record.updateTwilioTaskQueue({ ... }).dryRun();
345
+ * await record.updateTwilioTaskQueue({ ... })
346
+ * .linkAssociation_xxx(target)
347
+ * .execute();
327
348
  * ```
328
349
  */
329
- updateTwilioTaskQueue(propertiesOrOptions, options) {
350
+ updateTwilioTaskQueue(properties, options) {
330
351
  var _a;
331
352
  if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
332
353
  throw new Error('updateTwilioTaskQueue requires an existing record. Use accessor.get() first.');
333
- let properties = {};
334
- let opts = options;
335
- if (propertiesOrOptions) {
336
- if ('journeyId' in propertiesOrOptions || 'stageKey' in propertiesOrOptions) {
337
- opts = propertiesOrOptions;
338
- }
339
- else {
340
- properties = propertiesOrOptions;
341
- }
342
- }
343
- const payload = Object.assign({ id: this._record.id, entity: this._record.entity, type: this._record.type, actionName: 'UpdateTwilioTaskQueue', properties, associations: this._pendingLinks.length > 0 ? this._pendingLinks : undefined }, opts);
344
- return new ActionBuilder(this._provider, 'SupportModule', 'TwilioTaskQueue', payload, () => { this._pendingLinks = []; });
354
+ return new UpdateTwilioTaskQueueDto_1.UpdateTwilioTaskQueueBuilder({ id: this._record.id, entity: this._record.entity, type: this._record.type }, properties || {}, [...this._pendingLinks], options).withProvider(this._provider, 'SupportModule', 'TwilioTaskQueue', () => { this._pendingLinks = []; });
345
355
  }
346
356
  }
347
357
  exports.TwilioTaskQueueRecord = TwilioTaskQueueRecord;
@@ -350,6 +360,8 @@ exports.TwilioTaskQueueRecord = TwilioTaskQueueRecord;
350
360
  // ============================================
351
361
  /** Valid labels for TwilioWorker associations */
352
362
  TwilioTaskQueueRecord.twilioWorkersLabels = ['TwilioTaskQueue__TwilioWorker'];
363
+ /** Valid labels for TwilioActivity associations */
364
+ TwilioTaskQueueRecord.twilioActivitiesLabels = ['ReservationActivity__TwilioActivity', 'AssignmentActivity__TwilioActivity'];
353
365
  /** Type guard to check if an object is a TwilioTaskQueueRecord */
354
366
  function isTwilioTaskQueueRecord(obj) {
355
367
  return obj instanceof TwilioTaskQueueRecord;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d19n/youfibre-odin-sdk",
3
- "version": "2.0.209-beta.0",
3
+ "version": "2.0.209-beta.1",
4
4
  "description": "",
5
5
  "author": "@d19n",
6
6
  "license": "UNLICENSED",