@d19n/youfibre-odin-sdk 2.0.384 → 2.0.386

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 CHANGED
@@ -406,7 +406,7 @@ This SDK includes **213** entities across **13** modules.
406
406
 
407
407
  ## Actions
408
408
 
409
- This SDK includes **951** actions.
409
+ This SDK includes **952** actions.
410
410
 
411
411
  ### Action Types
412
412
 
@@ -1678,6 +1678,7 @@ This SDK includes **951** actions.
1678
1678
  | `CreateCustomerDeviceBattery` | CREATE | k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceBattery |
1679
1679
  | `CreateCustomerDeviceTvDevice` | CREATE | k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceTvDevice |
1680
1680
  | `UpdateCustomerDeviceBattery` | UPDATE | k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceBattery |
1681
+ | `UpdateCustomerDeviceTvDevice` | UPDATE | k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice |
1681
1682
 
1682
1683
  #### CustomerDeviceConfiguration
1683
1684
 
@@ -23,7 +23,7 @@ export interface CreateEquipmentReturnItemMessage extends OdinRecordCreatedEvent
23
23
  * Properties for CreateEquipmentReturnItem action
24
24
  *
25
25
  * @property Required fields: 3
26
- * @property Optional fields: 10
26
+ * @property Optional fields: 11
27
27
  */
28
28
  export interface CreateEquipmentReturnItemProperties {
29
29
  /**
@@ -120,6 +120,13 @@ export interface CreateEquipmentReturnItemProperties {
120
120
  * @type {TEXT}
121
121
  */
122
122
  StandsInForDeviceId?: string | null;
123
+ /**
124
+ * Returned Serial Number
125
+ *
126
+ * The serial typed off the box that came back, on an EXPECTED TV_DEVICE row. Compared with SerialNumber (the serial Odin holds); a mismatch is flagged on the work order. Null on every other row
127
+ * @type {TEXT}
128
+ */
129
+ ReturnedSerialNumber?: string | null;
123
130
  }
124
131
  /**
125
132
  * Create Equipment Return Item
@@ -0,0 +1,84 @@
1
+ /**
2
+ * UpdateCustomerDeviceTvDevice Action DTO
3
+ *
4
+ * Correct the serial number or MAC address on a TV box.
5
+ *
6
+ * @module ServiceModule
7
+ * @entity CustomerDevice
8
+ * @entityType TV_DEVICE
9
+ * @actionKey UpdateCustomerDeviceTvDevice
10
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
11
+ *
12
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
+ */
14
+ import { OdinRecord, OdinRecordUpdateDto, OdinRecordUpdatedEvent } from '@d19n/odin-types/dist/core';
15
+ /**
16
+ * RabbitMQ message payload for UpdateCustomerDeviceTvDevice updated events
17
+ *
18
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
19
+ */
20
+ export interface UpdateCustomerDeviceTvDeviceMessage extends OdinRecordUpdatedEvent<UpdateCustomerDeviceTvDeviceDto, UpdateCustomerDeviceTvDeviceProperties> {
21
+ }
22
+ /**
23
+ * Properties for UpdateCustomerDeviceTvDevice action
24
+ *
25
+ * @property Required fields: 0
26
+ * @property Optional fields: 2
27
+ */
28
+ export interface UpdateCustomerDeviceTvDeviceProperties {
29
+ /**
30
+ * Serial Number
31
+ *
32
+ * Serial Number
33
+ * @type {TEXT}
34
+ */
35
+ SerialNumber?: string | null;
36
+ /**
37
+ * MAC Address
38
+ *
39
+ * Mac Address
40
+ * @type {TEXT}
41
+ */
42
+ MacAddress?: string | null;
43
+ }
44
+ /**
45
+ * UpdateCustomerDeviceTvDevice
46
+ *
47
+ * Correct the serial number or MAC address on a TV box.
48
+ *
49
+ * @actionType UPDATE - Updates an existing CustomerDevice record
50
+ * @module ServiceModule
51
+ * @entity CustomerDevice
52
+ * @entityType TV_DEVICE (TV Device)
53
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
54
+ * @permission schema.action.updatecustomerdevicetvdevice.trigger
55
+ * @benchmark This action is tracked for performance benchmarks
56
+ */
57
+ export declare class UpdateCustomerDeviceTvDeviceDto extends OdinRecordUpdateDto<UpdateCustomerDeviceTvDeviceProperties> {
58
+ /** Used by SDK generators to identify action type */
59
+ static readonly ACTION_TYPE = "UPDATE";
60
+ static readonly ACTION_KEY = "UpdateCustomerDeviceTvDevice";
61
+ static readonly MODULE_NAME = "ServiceModule";
62
+ static readonly ENTITIES: string[];
63
+ static readonly ENTITY_TYPE = "TV_DEVICE";
64
+ static readonly EVENT_NAME = "k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice";
65
+ static readonly PERMISSION = "schema.action.updatecustomerdevicetvdevice.trigger";
66
+ /** Step metadata - entity this action targets */
67
+ static readonly STEP_ENTITY = "ServiceModule:CustomerDevice";
68
+ static readonly STEP_SCHEMA_ID = "a72ffce5-0294-4038-8fb1-45fad5e4e473";
69
+ static readonly STEP_SCHEMA_ACTION_ID = "070ff180-6dc3-46b4-807a-8c61a743306f";
70
+ static readonly STEP_SCHEMA_TYPE_ID = "4245a2ef-9255-49c0-af63-96bf8cde26aa";
71
+ static readonly STEP_TYPE = "TV_DEVICE";
72
+ static readonly AUTO_LINK_PARENT = false;
73
+ readonly actionName: string;
74
+ readonly schemaActionId: string;
75
+ readonly entity: string;
76
+ constructor(record: OdinRecord<any> | {
77
+ id: string;
78
+ entity: string;
79
+ type?: string;
80
+ }, properties: UpdateCustomerDeviceTvDeviceProperties, options?: {
81
+ journeyId?: string;
82
+ stageKey?: string;
83
+ });
84
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * UpdateCustomerDeviceTvDevice Action DTO
4
+ *
5
+ * Correct the serial number or MAC address on a TV box.
6
+ *
7
+ * @module ServiceModule
8
+ * @entity CustomerDevice
9
+ * @entityType TV_DEVICE
10
+ * @actionKey UpdateCustomerDeviceTvDevice
11
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
12
+ *
13
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.UpdateCustomerDeviceTvDeviceDto = void 0;
17
+ const core_1 = require("@d19n/odin-types/dist/core");
18
+ /**
19
+ * UpdateCustomerDeviceTvDevice
20
+ *
21
+ * Correct the serial number or MAC address on a TV box.
22
+ *
23
+ * @actionType UPDATE - Updates an existing CustomerDevice record
24
+ * @module ServiceModule
25
+ * @entity CustomerDevice
26
+ * @entityType TV_DEVICE (TV Device)
27
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
28
+ * @permission schema.action.updatecustomerdevicetvdevice.trigger
29
+ * @benchmark This action is tracked for performance benchmarks
30
+ */
31
+ class UpdateCustomerDeviceTvDeviceDto extends core_1.OdinRecordUpdateDto {
32
+ constructor(record, properties, options) {
33
+ super({
34
+ id: record.id,
35
+ entity: record.entity,
36
+ type: record.type,
37
+ properties,
38
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
39
+ stageKey: options === null || options === void 0 ? void 0 : options.stageKey,
40
+ });
41
+ this.actionName = 'UpdateCustomerDeviceTvDevice';
42
+ this.schemaActionId = '070ff180-6dc3-46b4-807a-8c61a743306f';
43
+ this.entity = 'ServiceModule:CustomerDevice';
44
+ }
45
+ }
46
+ exports.UpdateCustomerDeviceTvDeviceDto = UpdateCustomerDeviceTvDeviceDto;
47
+ /** Used by SDK generators to identify action type */
48
+ UpdateCustomerDeviceTvDeviceDto.ACTION_TYPE = 'UPDATE';
49
+ UpdateCustomerDeviceTvDeviceDto.ACTION_KEY = 'UpdateCustomerDeviceTvDevice';
50
+ UpdateCustomerDeviceTvDeviceDto.MODULE_NAME = 'ServiceModule';
51
+ UpdateCustomerDeviceTvDeviceDto.ENTITIES = ['CustomerDevice'];
52
+ UpdateCustomerDeviceTvDeviceDto.ENTITY_TYPE = 'TV_DEVICE';
53
+ UpdateCustomerDeviceTvDeviceDto.EVENT_NAME = 'k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice';
54
+ UpdateCustomerDeviceTvDeviceDto.PERMISSION = 'schema.action.updatecustomerdevicetvdevice.trigger';
55
+ /** Step metadata - entity this action targets */
56
+ UpdateCustomerDeviceTvDeviceDto.STEP_ENTITY = 'ServiceModule:CustomerDevice';
57
+ UpdateCustomerDeviceTvDeviceDto.STEP_SCHEMA_ID = 'a72ffce5-0294-4038-8fb1-45fad5e4e473';
58
+ UpdateCustomerDeviceTvDeviceDto.STEP_SCHEMA_ACTION_ID = '070ff180-6dc3-46b4-807a-8c61a743306f';
59
+ UpdateCustomerDeviceTvDeviceDto.STEP_SCHEMA_TYPE_ID = '4245a2ef-9255-49c0-af63-96bf8cde26aa';
60
+ UpdateCustomerDeviceTvDeviceDto.STEP_TYPE = 'TV_DEVICE';
61
+ UpdateCustomerDeviceTvDeviceDto.AUTO_LINK_PARENT = false;
@@ -17,9 +17,9 @@ export declare class RouterPingSnapshotApi extends ApiProvider {
17
17
  private readonly moduleName;
18
18
  private readonly entityName;
19
19
  private sourceRecord;
20
- private _routerpingsnapshot?;
20
+ private _customerdevicerouter?;
21
21
  constructor(authParams?: OauthParams, authToken?: string);
22
- get routerpingsnapshot(): ApiRecordLinkManager;
22
+ get customerdevicerouter(): ApiRecordLinkManager;
23
23
  setRecord(sourceRecord: any): void;
24
24
  schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
25
25
  search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<RouterPingSnapshotProperties>>>;
@@ -33,11 +33,11 @@ class RouterPingSnapshotApi extends api_provider_1.ApiProvider {
33
33
  // LAZY-LOADED LINK MANAGERS (Public Getters)
34
34
  // ============================================
35
35
  // Usage remains identical: api.address.list(recordId)
36
- get routerpingsnapshot() {
37
- if (!this._routerpingsnapshot) {
38
- this._routerpingsnapshot = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'ServiceModule:RouterPingSnapshot', 'ServiceModule:RouterPingSnapshot', 'CustomerDeviceRouter__RouterPingSnapshot');
36
+ get customerdevicerouter() {
37
+ if (!this._customerdevicerouter) {
38
+ this._customerdevicerouter = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'ServiceModule:RouterPingSnapshot', 'ServiceModule:CustomerDeviceRouter', 'CustomerDeviceRouter__RouterPingSnapshot');
39
39
  }
40
- return this._routerpingsnapshot;
40
+ return this._customerdevicerouter;
41
41
  }
42
42
  // ============================================
43
43
  // STANDARD METHODS (Unchanged API)
@@ -23,12 +23,12 @@ export declare enum ConfigEntityTypes {
23
23
  * Use these constants instead of string literals for type safety
24
24
  */
25
25
  export declare enum ConfigPropertyKeys {
26
+ /** Data field for Config records. Used by Platform team. */
27
+ Test = "Test",
26
28
  /** the name of the app this config relates to (Platform - Config) */
27
29
  AppName = "AppName",
28
30
  /** object of { key: value } mappings (Platform - Config) */
29
- Mappings = "Mappings",
30
- /** Data field for Config records. Used by Platform team. */
31
- Test = "Test"
31
+ Mappings = "Mappings"
32
32
  }
33
33
  /**
34
34
  * Properties for Config records
@@ -36,6 +36,11 @@ export declare enum ConfigPropertyKeys {
36
36
  * @see SchemaModule:Config
37
37
  */
38
38
  export interface ConfigProperties {
39
+ /** Data field for Config records. Used by Platform team.
40
+ *
41
+ * @type {TEXT}
42
+ */
43
+ Test: string;
39
44
  /** the name of the app this config relates to (Platform - Config)
40
45
  *
41
46
  * @type {TEXT}
@@ -46,11 +51,6 @@ export interface ConfigProperties {
46
51
  * @type {JSON}
47
52
  */
48
53
  Mappings: string;
49
- /** Data field for Config records. Used by Platform team.
50
- *
51
- * @type {TEXT}
52
- */
53
- Test: string;
54
54
  }
55
55
  /**
56
56
  * Config entity from SchemaModule
@@ -28,12 +28,12 @@ var ConfigEntityTypes;
28
28
  */
29
29
  var ConfigPropertyKeys;
30
30
  (function (ConfigPropertyKeys) {
31
+ /** Data field for Config records. Used by Platform team. */
32
+ ConfigPropertyKeys["Test"] = "Test";
31
33
  /** the name of the app this config relates to (Platform - Config) */
32
34
  ConfigPropertyKeys["AppName"] = "AppName";
33
35
  /** object of { key: value } mappings (Platform - Config) */
34
36
  ConfigPropertyKeys["Mappings"] = "Mappings";
35
- /** Data field for Config records. Used by Platform team. */
36
- ConfigPropertyKeys["Test"] = "Test";
37
37
  })(ConfigPropertyKeys = exports.ConfigPropertyKeys || (exports.ConfigPropertyKeys = {}));
38
38
  /**
39
39
  * Config entity from SchemaModule
@@ -49,7 +49,9 @@ export declare enum CustomerDevicePropertyKeys {
49
49
  /** Serial Number */
50
50
  SerialNumber = "SerialNumber",
51
51
  /** Which TV box this is: the original BetterTV box (V1) or the Pleio box (V2) (PORTAPP-3405). */
52
- Version = "Version"
52
+ Version = "Version",
53
+ /** Set automatically from the device type, MAC and serial, e.g. "TV - AA:BB:CC:DD:EE:FF (SN123)". Do not type it: every device save rewrites it. */
54
+ Name = "Name"
53
55
  }
54
56
  /**
55
57
  * Properties for CustomerDevice records
@@ -74,6 +76,12 @@ export interface CustomerDeviceProperties {
74
76
  * @enum {CustomerDeviceVersion}
75
77
  */
76
78
  Version: CustomerDeviceVersion;
79
+ /** Set automatically from the device type, MAC and serial, e.g. "TV - AA:BB:CC:DD:EE:FF (SN123)". Do not type it: every device save rewrites it.
80
+ *
81
+ * @type {TEXT}
82
+ * @default
83
+ */
84
+ Name: string;
77
85
  }
78
86
  /**
79
87
  * Properties for BATTERY CustomerDevice records
@@ -98,6 +106,12 @@ export interface BatteryCustomerDeviceProperties {
98
106
  * @enum {CustomerDeviceVersion}
99
107
  */
100
108
  Version: CustomerDeviceVersion;
109
+ /** Set automatically from the device type, MAC and serial, e.g. "TV - AA:BB:CC:DD:EE:FF (SN123)". Do not type it: every device save rewrites it.
110
+ *
111
+ * @type {TEXT}
112
+ * @default
113
+ */
114
+ Name: string;
101
115
  }
102
116
  /**
103
117
  * Properties for TV_DEVICE CustomerDevice records
@@ -122,6 +136,12 @@ export interface TvDeviceCustomerDeviceProperties {
122
136
  * @enum {CustomerDeviceVersion}
123
137
  */
124
138
  Version: CustomerDeviceVersion;
139
+ /** Set automatically from the device type, MAC and serial, e.g. "TV - AA:BB:CC:DD:EE:FF (SN123)". Do not type it: every device save rewrites it.
140
+ *
141
+ * @type {TEXT}
142
+ * @default
143
+ */
144
+ Name: string;
125
145
  }
126
146
  /**
127
147
  * CustomerDevice entity from ServiceModule
@@ -52,6 +52,8 @@ var CustomerDevicePropertyKeys;
52
52
  CustomerDevicePropertyKeys["SerialNumber"] = "SerialNumber";
53
53
  /** Which TV box this is: the original BetterTV box (V1) or the Pleio box (V2) (PORTAPP-3405). */
54
54
  CustomerDevicePropertyKeys["Version"] = "Version";
55
+ /** Set automatically from the device type, MAC and serial, e.g. "TV - AA:BB:CC:DD:EE:FF (SN123)". Do not type it: every device save rewrites it. */
56
+ CustomerDevicePropertyKeys["Name"] = "Name";
55
57
  })(CustomerDevicePropertyKeys = exports.CustomerDevicePropertyKeys || (exports.CustomerDevicePropertyKeys = {}));
56
58
  /**
57
59
  * CustomerDevice entity from ServiceModule
@@ -110,7 +110,9 @@ export declare enum EquipmentReturnItemPropertyKeys {
110
110
  /** Condition as inspected. Same option set as Returns.Cpe{n}Grade. Only meaningful when Returned is true */
111
111
  Grade = "Grade",
112
112
  /** On an ADDITIONAL row only: the expected device (DeviceId of an EXPECTED row on the same return) this item counted in place of, because that device was not returned and this item is the same kind. Serials are not rewritten; this marks the mismatch so it can be fixed deliberately. Null on every other row */
113
- StandsInForDeviceId = "StandsInForDeviceId"
113
+ StandsInForDeviceId = "StandsInForDeviceId",
114
+ /** The serial typed off the box that came back, on an EXPECTED TV_DEVICE row. Compared with SerialNumber (the serial Odin holds); a mismatch is flagged on the work order. Null on every other row */
115
+ ReturnedSerialNumber = "ReturnedSerialNumber"
114
116
  }
115
117
  /**
116
118
  * Properties for EquipmentReturnItem records
@@ -200,6 +202,12 @@ export interface EquipmentReturnItemProperties {
200
202
  * @default
201
203
  */
202
204
  StandsInForDeviceId: string;
205
+ /** The serial typed off the box that came back, on an EXPECTED TV_DEVICE row. Compared with SerialNumber (the serial Odin holds); a mismatch is flagged on the work order. Null on every other row
206
+ *
207
+ * @type {TEXT}
208
+ * @default
209
+ */
210
+ ReturnedSerialNumber: string;
203
211
  }
204
212
  /**
205
213
  * EquipmentReturnItem entity from FieldServiceModule
@@ -116,6 +116,8 @@ var EquipmentReturnItemPropertyKeys;
116
116
  EquipmentReturnItemPropertyKeys["Grade"] = "Grade";
117
117
  /** On an ADDITIONAL row only: the expected device (DeviceId of an EXPECTED row on the same return) this item counted in place of, because that device was not returned and this item is the same kind. Serials are not rewritten; this marks the mismatch so it can be fixed deliberately. Null on every other row */
118
118
  EquipmentReturnItemPropertyKeys["StandsInForDeviceId"] = "StandsInForDeviceId";
119
+ /** The serial typed off the box that came back, on an EXPECTED TV_DEVICE row. Compared with SerialNumber (the serial Odin holds); a mismatch is flagged on the work order. Null on every other row */
120
+ EquipmentReturnItemPropertyKeys["ReturnedSerialNumber"] = "ReturnedSerialNumber";
119
121
  })(EquipmentReturnItemPropertyKeys = exports.EquipmentReturnItemPropertyKeys || (exports.EquipmentReturnItemPropertyKeys = {}));
120
122
  /**
121
123
  * EquipmentReturnItem entity from FieldServiceModule
@@ -27,6 +27,7 @@ import { CreateCustomerDeviceBatteryProperties } from '../actions-v2/CreateCusto
27
27
  import { CreateCustomerDeviceBatteryBuilder } from '../actions-v2/CreateCustomerDeviceBatteryDto';
28
28
  import { CreateCustomerDeviceTvDeviceProperties } from '../actions-v2/CreateCustomerDeviceTvDeviceDto';
29
29
  import { UpdateCustomerDeviceBatteryProperties } from '../actions-v2/UpdateCustomerDeviceBatteryDto';
30
+ import { UpdateCustomerDeviceTvDeviceProperties } from '../actions-v2/UpdateCustomerDeviceTvDeviceDto';
30
31
  import { FieldServiceDispatchedProductRecord } from './FieldServiceDispatchedProductRecord';
31
32
  import { OrderItemRecord } from './OrderItemRecord';
32
33
  import { WorkOrderRecord } from './WorkOrderRecord';
@@ -350,6 +351,33 @@ export declare class CustomerDeviceRecord<TProps = CustomerDeviceProperties> {
350
351
  journeyId?: string;
351
352
  stageKey?: string;
352
353
  }): ActionBuilder;
354
+ /**
355
+ * UpdateCustomerDeviceTvDevice
356
+ *
357
+ * Updates this CustomerDevice record.
358
+ * Returns an ActionBuilder - call .execute() to update or .dryRun() for debugging.
359
+ *
360
+ * @param propertiesOrOptions - Properties to update, or options object
361
+ * @param options - Optional settings (journeyId, stageKey)
362
+ * @returns ActionBuilder - call .execute() to update or .dryRun() for payload
363
+ * @throws Error if called on a new (unsaved) record
364
+ *
365
+ * @example
366
+ * ```typescript
367
+ * const record = await odinClient.customerDevices.get(id);
368
+ * await record.updateCustomerDeviceTvDevice({ ... }).execute();
369
+ *
370
+ * // Dry run (for debugging)
371
+ * const payload = record.updateCustomerDeviceTvDevice({ ... }).dryRun();
372
+ * ```
373
+ */
374
+ updateCustomerDeviceTvDevice(propertiesOrOptions?: UpdateCustomerDeviceTvDeviceProperties | {
375
+ journeyId?: string;
376
+ stageKey?: string;
377
+ }, options?: {
378
+ journeyId?: string;
379
+ stageKey?: string;
380
+ }): ActionBuilder;
353
381
  }
354
382
  /** Type guard to check if an object is a CustomerDeviceRecord */
355
383
  export declare function isCustomerDeviceRecord(obj: any): obj is CustomerDeviceRecord;
@@ -460,6 +460,43 @@ class CustomerDeviceRecord {
460
460
  const payload = Object.assign({ id: this._record.id, entity: this._record.entity, type: this._record.type, actionName: 'UpdateCustomerDeviceBattery', properties, associations: this._pendingLinks.length > 0 ? this._pendingLinks : undefined }, opts);
461
461
  return new ActionBuilder(this._provider, 'ServiceModule', 'CustomerDevice', payload, () => { this._pendingLinks = []; });
462
462
  }
463
+ /**
464
+ * UpdateCustomerDeviceTvDevice
465
+ *
466
+ * Updates this CustomerDevice record.
467
+ * Returns an ActionBuilder - call .execute() to update or .dryRun() for debugging.
468
+ *
469
+ * @param propertiesOrOptions - Properties to update, or options object
470
+ * @param options - Optional settings (journeyId, stageKey)
471
+ * @returns ActionBuilder - call .execute() to update or .dryRun() for payload
472
+ * @throws Error if called on a new (unsaved) record
473
+ *
474
+ * @example
475
+ * ```typescript
476
+ * const record = await odinClient.customerDevices.get(id);
477
+ * await record.updateCustomerDeviceTvDevice({ ... }).execute();
478
+ *
479
+ * // Dry run (for debugging)
480
+ * const payload = record.updateCustomerDeviceTvDevice({ ... }).dryRun();
481
+ * ```
482
+ */
483
+ updateCustomerDeviceTvDevice(propertiesOrOptions, options) {
484
+ var _a;
485
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
486
+ throw new Error('updateCustomerDeviceTvDevice requires an existing record. Use accessor.get() first.');
487
+ let properties = {};
488
+ let opts = options;
489
+ if (propertiesOrOptions) {
490
+ if ('journeyId' in propertiesOrOptions || 'stageKey' in propertiesOrOptions) {
491
+ opts = propertiesOrOptions;
492
+ }
493
+ else {
494
+ properties = propertiesOrOptions;
495
+ }
496
+ }
497
+ const payload = Object.assign({ id: this._record.id, entity: this._record.entity, type: this._record.type, actionName: 'UpdateCustomerDeviceTvDevice', properties, associations: this._pendingLinks.length > 0 ? this._pendingLinks : undefined }, opts);
498
+ return new ActionBuilder(this._provider, 'ServiceModule', 'CustomerDevice', payload, () => { this._pendingLinks = []; });
499
+ }
463
500
  }
464
501
  exports.CustomerDeviceRecord = CustomerDeviceRecord;
465
502
  // ============================================
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d19n/youfibre-odin-sdk",
3
- "version": "2.0.384",
3
+ "version": "2.0.386",
4
4
  "description": "",
5
5
  "author": "@d19n",
6
6
  "license": "UNLICENSED",