@d19n/youfibre-odin-sdk 2.0.299 → 2.0.301

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
@@ -369,7 +369,7 @@ This SDK includes **181** entities across **12** modules.
369
369
 
370
370
  ## Actions
371
371
 
372
- This SDK includes **868** actions.
372
+ This SDK includes **869** actions.
373
373
 
374
374
  ### Action Types
375
375
 
@@ -1579,6 +1579,7 @@ This SDK includes **868** actions.
1579
1579
  | Action | Type | Event |
1580
1580
  |--------|------|-------|
1581
1581
  | `CreateCustomerDeviceBattery` | CREATE | k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceBattery |
1582
+ | `CreateCustomerDeviceTvDevice` | CREATE | k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceTvDevice |
1582
1583
  | `UpdateCustomerDeviceBattery` | UPDATE | k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceBattery |
1583
1584
 
1584
1585
  #### CustomerDeviceConfiguration
@@ -0,0 +1,72 @@
1
+ /**
2
+ * CreateCustomerDeviceTvDevice Action DTO
3
+ *
4
+ * Create a TV device (mirrors CreateCustomerDeviceBattery)
5
+ *
6
+ * @module ServiceModule
7
+ * @entity CustomerDevice
8
+ * @entityType TV_DEVICE
9
+ * @actionKey CreateCustomerDeviceTvDevice
10
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceTvDevice
11
+ *
12
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
+ */
14
+ import { OdinRecordCreateDto, OdinRecordCreatedEvent } from '@d19n/odin-types/dist/core';
15
+ /**
16
+ * RabbitMQ message payload for CreateCustomerDeviceTvDevice created events
17
+ *
18
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceTvDevice
19
+ */
20
+ export interface CreateCustomerDeviceTvDeviceMessage extends OdinRecordCreatedEvent<CreateCustomerDeviceTvDeviceDto, CreateCustomerDeviceTvDeviceProperties> {
21
+ }
22
+ /**
23
+ * Properties for CreateCustomerDeviceTvDevice action
24
+ *
25
+ * @property Required fields: 0
26
+ * @property Optional fields: 1
27
+ */
28
+ export interface CreateCustomerDeviceTvDeviceProperties {
29
+ /**
30
+ * Serial Number
31
+ *
32
+ * Serial Number
33
+ * @type {TEXT}
34
+ */
35
+ SerialNumber?: string | null;
36
+ }
37
+ /**
38
+ * CreateCustomerDeviceTvDevice
39
+ *
40
+ * Create a TV device (mirrors CreateCustomerDeviceBattery)
41
+ *
42
+ * @actionType CREATE - Creates a new CustomerDevice record
43
+ * @module ServiceModule
44
+ * @entity CustomerDevice
45
+ * @entityType TV_DEVICE (TV Device)
46
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceTvDevice
47
+ * @permission schema.action.createcustomerdevicetvdevice.trigger
48
+ * @benchmark This action is tracked for performance benchmarks
49
+ */
50
+ export declare class CreateCustomerDeviceTvDeviceDto extends OdinRecordCreateDto<CreateCustomerDeviceTvDeviceProperties> {
51
+ /** Used by SDK generators to identify action type */
52
+ static readonly ACTION_TYPE = "CREATE";
53
+ static readonly ACTION_KEY = "CreateCustomerDeviceTvDevice";
54
+ static readonly MODULE_NAME = "ServiceModule";
55
+ static readonly ENTITIES: string[];
56
+ static readonly ENTITY_TYPE = "TV_DEVICE";
57
+ static readonly EVENT_NAME = "k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceTvDevice";
58
+ static readonly PERMISSION = "schema.action.createcustomerdevicetvdevice.trigger";
59
+ /** Step metadata - entity this action targets */
60
+ static readonly STEP_ENTITY = "ServiceModule:CustomerDevice";
61
+ static readonly STEP_SCHEMA_ID = "a72ffce5-0294-4038-8fb1-45fad5e4e473";
62
+ static readonly STEP_SCHEMA_ACTION_ID = "0d5eef32-13b2-4a24-8e08-305e78285bdd";
63
+ static readonly STEP_SCHEMA_TYPE_ID = "4245a2ef-9255-49c0-af63-96bf8cde26aa";
64
+ static readonly STEP_TYPE = "TV_DEVICE";
65
+ static readonly AUTO_LINK_PARENT = true;
66
+ readonly actionName: string;
67
+ readonly schemaActionId: string;
68
+ readonly entity: string;
69
+ constructor(properties: CreateCustomerDeviceTvDeviceProperties, options?: {
70
+ journeyId?: string;
71
+ });
72
+ }
@@ -0,0 +1,59 @@
1
+ "use strict";
2
+ /**
3
+ * CreateCustomerDeviceTvDevice Action DTO
4
+ *
5
+ * Create a TV device (mirrors CreateCustomerDeviceBattery)
6
+ *
7
+ * @module ServiceModule
8
+ * @entity CustomerDevice
9
+ * @entityType TV_DEVICE
10
+ * @actionKey CreateCustomerDeviceTvDevice
11
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceTvDevice
12
+ *
13
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.CreateCustomerDeviceTvDeviceDto = void 0;
17
+ const core_1 = require("@d19n/odin-types/dist/core");
18
+ /**
19
+ * CreateCustomerDeviceTvDevice
20
+ *
21
+ * Create a TV device (mirrors CreateCustomerDeviceBattery)
22
+ *
23
+ * @actionType CREATE - Creates a new CustomerDevice record
24
+ * @module ServiceModule
25
+ * @entity CustomerDevice
26
+ * @entityType TV_DEVICE (TV Device)
27
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceTvDevice
28
+ * @permission schema.action.createcustomerdevicetvdevice.trigger
29
+ * @benchmark This action is tracked for performance benchmarks
30
+ */
31
+ class CreateCustomerDeviceTvDeviceDto extends core_1.OdinRecordCreateDto {
32
+ constructor(properties, options) {
33
+ super({
34
+ entity: 'ServiceModule:CustomerDevice',
35
+ type: 'TV_DEVICE',
36
+ properties,
37
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
38
+ });
39
+ this.actionName = 'CreateCustomerDeviceTvDevice';
40
+ this.schemaActionId = '0d5eef32-13b2-4a24-8e08-305e78285bdd';
41
+ this.entity = 'ServiceModule:CustomerDevice';
42
+ }
43
+ }
44
+ exports.CreateCustomerDeviceTvDeviceDto = CreateCustomerDeviceTvDeviceDto;
45
+ /** Used by SDK generators to identify action type */
46
+ CreateCustomerDeviceTvDeviceDto.ACTION_TYPE = 'CREATE';
47
+ CreateCustomerDeviceTvDeviceDto.ACTION_KEY = 'CreateCustomerDeviceTvDevice';
48
+ CreateCustomerDeviceTvDeviceDto.MODULE_NAME = 'ServiceModule';
49
+ CreateCustomerDeviceTvDeviceDto.ENTITIES = ['CustomerDevice'];
50
+ CreateCustomerDeviceTvDeviceDto.ENTITY_TYPE = 'TV_DEVICE';
51
+ CreateCustomerDeviceTvDeviceDto.EVENT_NAME = 'k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Create.CreateCustomerDeviceTvDevice';
52
+ CreateCustomerDeviceTvDeviceDto.PERMISSION = 'schema.action.createcustomerdevicetvdevice.trigger';
53
+ /** Step metadata - entity this action targets */
54
+ CreateCustomerDeviceTvDeviceDto.STEP_ENTITY = 'ServiceModule:CustomerDevice';
55
+ CreateCustomerDeviceTvDeviceDto.STEP_SCHEMA_ID = 'a72ffce5-0294-4038-8fb1-45fad5e4e473';
56
+ CreateCustomerDeviceTvDeviceDto.STEP_SCHEMA_ACTION_ID = '0d5eef32-13b2-4a24-8e08-305e78285bdd';
57
+ CreateCustomerDeviceTvDeviceDto.STEP_SCHEMA_TYPE_ID = '4245a2ef-9255-49c0-af63-96bf8cde26aa';
58
+ CreateCustomerDeviceTvDeviceDto.STEP_TYPE = 'TV_DEVICE';
59
+ CreateCustomerDeviceTvDeviceDto.AUTO_LINK_PARENT = true;
@@ -19,9 +19,11 @@ export declare class CustomerDeviceApi extends ApiProvider {
19
19
  private sourceRecord;
20
20
  private _fieldservicedispatchedproduct?;
21
21
  private _orderitem?;
22
+ private _workorder?;
22
23
  constructor(authParams?: OauthParams, authToken?: string);
23
24
  get fieldservicedispatchedproduct(): ApiRecordLinkManager;
24
25
  get orderitem(): ApiRecordLinkManager;
26
+ get workorder(): ApiRecordLinkManager;
25
27
  setRecord(sourceRecord: any): void;
26
28
  schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
27
29
  search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<CustomerDeviceProperties>>>;
@@ -45,6 +45,12 @@ class CustomerDeviceApi extends api_provider_1.ApiProvider {
45
45
  }
46
46
  return this._orderitem;
47
47
  }
48
+ get workorder() {
49
+ if (!this._workorder) {
50
+ this._workorder = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'ServiceModule:CustomerDevice', 'FieldServiceModule:WorkOrder', 'WorkOrder__CustomerDevice');
51
+ }
52
+ return this._workorder;
53
+ }
48
54
  // ============================================
49
55
  // STANDARD METHODS (Unchanged API)
50
56
  // ============================================
@@ -24,6 +24,7 @@ export declare class CustomerDeviceRouterApi extends ApiProvider {
24
24
  private _address?;
25
25
  private _fieldservicedispatchedproduct?;
26
26
  private _orderitem?;
27
+ private _workorder?;
27
28
  constructor(authParams?: OauthParams, authToken?: string);
28
29
  get file(): ApiRecordLinkManager;
29
30
  get note(): ApiRecordLinkManager;
@@ -32,6 +33,7 @@ export declare class CustomerDeviceRouterApi extends ApiProvider {
32
33
  get address(): ApiRecordLinkManager;
33
34
  get fieldservicedispatchedproduct(): ApiRecordLinkManager;
34
35
  get orderitem(): ApiRecordLinkManager;
36
+ get workorder(): ApiRecordLinkManager;
35
37
  setRecord(sourceRecord: any): void;
36
38
  schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
37
39
  search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<CustomerDeviceRouterProperties>>>;
@@ -75,6 +75,12 @@ class CustomerDeviceRouterApi extends api_provider_1.ApiProvider {
75
75
  }
76
76
  return this._orderitem;
77
77
  }
78
+ get workorder() {
79
+ if (!this._workorder) {
80
+ this._workorder = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'ServiceModule:CustomerDeviceRouter', 'FieldServiceModule:WorkOrder', 'WorkOrder__CustomerDeviceRouter');
81
+ }
82
+ return this._workorder;
83
+ }
78
84
  // ============================================
79
85
  // STANDARD METHODS (Unchanged API)
80
86
  // ============================================
@@ -86,6 +86,8 @@ export declare class WorkOrderApi extends ApiProvider {
86
86
  private _order?;
87
87
  private _yfwifisurvey?;
88
88
  private _yffieldvisitoutcomeform?;
89
+ private _customerdevicerouter?;
90
+ private _customerdevice?;
89
91
  constructor(authParams?: OauthParams, authToken?: string);
90
92
  get workorder_servicevisitaudit(): ApiRecordLinkManager;
91
93
  get servicevisitaudit_workorder(): ApiRecordLinkManager;
@@ -156,6 +158,8 @@ export declare class WorkOrderApi extends ApiProvider {
156
158
  get order(): ApiRecordLinkManager;
157
159
  get yfwifisurvey(): ApiRecordLinkManager;
158
160
  get yffieldvisitoutcomeform(): ApiRecordLinkManager;
161
+ get customerdevicerouter(): ApiRecordLinkManager;
162
+ get customerdevice(): ApiRecordLinkManager;
159
163
  setRecord(sourceRecord: any): void;
160
164
  schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
161
165
  search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<WorkOrderProperties>>>;
@@ -447,6 +447,18 @@ class WorkOrderApi extends api_provider_1.ApiProvider {
447
447
  }
448
448
  return this._yffieldvisitoutcomeform;
449
449
  }
450
+ get customerdevicerouter() {
451
+ if (!this._customerdevicerouter) {
452
+ this._customerdevicerouter = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'FieldServiceModule:WorkOrder', 'ServiceModule:CustomerDeviceRouter', 'WorkOrder__CustomerDeviceRouter');
453
+ }
454
+ return this._customerdevicerouter;
455
+ }
456
+ get customerdevice() {
457
+ if (!this._customerdevice) {
458
+ this._customerdevice = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'FieldServiceModule:WorkOrder', 'ServiceModule:CustomerDevice', 'WorkOrder__CustomerDevice');
459
+ }
460
+ return this._customerdevice;
461
+ }
450
462
  // ============================================
451
463
  // STANDARD METHODS (Unchanged API)
452
464
  // ============================================
@@ -23,9 +23,11 @@ export declare class CustomerDeviceDb extends DbProvider {
23
23
  private sourceRecord;
24
24
  private _fieldservicedispatchedproduct?;
25
25
  private _orderitem?;
26
+ private _workorder?;
26
27
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
27
28
  get fieldservicedispatchedproduct(): DbRecordLinkManager;
28
29
  get orderitem(): DbRecordLinkManager;
30
+ get workorder(): DbRecordLinkManager;
29
31
  setRecord(sourceRecord: any): void;
30
32
  /**
31
33
  * Search records with manual pagination control
@@ -50,6 +50,12 @@ class CustomerDeviceDb extends db_provider_1.DbProvider {
50
50
  }
51
51
  return this._orderitem;
52
52
  }
53
+ get workorder() {
54
+ if (!this._workorder) {
55
+ this._workorder = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ServiceModule:CustomerDevice', 'FieldServiceModule:WorkOrder', 'WorkOrder__CustomerDevice');
56
+ }
57
+ return this._workorder;
58
+ }
53
59
  // ============================================
54
60
  // STANDARD METHODS
55
61
  // ============================================
@@ -28,6 +28,7 @@ export declare class CustomerDeviceRouterDb extends DbProvider {
28
28
  private _address?;
29
29
  private _fieldservicedispatchedproduct?;
30
30
  private _orderitem?;
31
+ private _workorder?;
31
32
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
32
33
  get file(): DbRecordLinkManager;
33
34
  get note(): DbRecordLinkManager;
@@ -36,6 +37,7 @@ export declare class CustomerDeviceRouterDb extends DbProvider {
36
37
  get address(): DbRecordLinkManager;
37
38
  get fieldservicedispatchedproduct(): DbRecordLinkManager;
38
39
  get orderitem(): DbRecordLinkManager;
40
+ get workorder(): DbRecordLinkManager;
39
41
  setRecord(sourceRecord: any): void;
40
42
  /**
41
43
  * Search records with manual pagination control
@@ -80,6 +80,12 @@ class CustomerDeviceRouterDb extends db_provider_1.DbProvider {
80
80
  }
81
81
  return this._orderitem;
82
82
  }
83
+ get workorder() {
84
+ if (!this._workorder) {
85
+ this._workorder = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ServiceModule:CustomerDeviceRouter', 'FieldServiceModule:WorkOrder', 'WorkOrder__CustomerDeviceRouter');
86
+ }
87
+ return this._workorder;
88
+ }
83
89
  // ============================================
84
90
  // STANDARD METHODS
85
91
  // ============================================
@@ -90,6 +90,8 @@ export declare class WorkOrderDb extends DbProvider {
90
90
  private _order?;
91
91
  private _yfwifisurvey?;
92
92
  private _yffieldvisitoutcomeform?;
93
+ private _customerdevicerouter?;
94
+ private _customerdevice?;
93
95
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
94
96
  get workorder_servicevisitaudit(): DbRecordLinkManager;
95
97
  get servicevisitaudit_workorder(): DbRecordLinkManager;
@@ -160,6 +162,8 @@ export declare class WorkOrderDb extends DbProvider {
160
162
  get order(): DbRecordLinkManager;
161
163
  get yfwifisurvey(): DbRecordLinkManager;
162
164
  get yffieldvisitoutcomeform(): DbRecordLinkManager;
165
+ get customerdevicerouter(): DbRecordLinkManager;
166
+ get customerdevice(): DbRecordLinkManager;
163
167
  setRecord(sourceRecord: any): void;
164
168
  /**
165
169
  * Search records with manual pagination control
@@ -452,6 +452,18 @@ class WorkOrderDb extends db_provider_1.DbProvider {
452
452
  }
453
453
  return this._yffieldvisitoutcomeform;
454
454
  }
455
+ get customerdevicerouter() {
456
+ if (!this._customerdevicerouter) {
457
+ this._customerdevicerouter = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'FieldServiceModule:WorkOrder', 'ServiceModule:CustomerDeviceRouter', 'WorkOrder__CustomerDeviceRouter');
458
+ }
459
+ return this._customerdevicerouter;
460
+ }
461
+ get customerdevice() {
462
+ if (!this._customerdevice) {
463
+ this._customerdevice = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'FieldServiceModule:WorkOrder', 'ServiceModule:CustomerDevice', 'WorkOrder__CustomerDevice');
464
+ }
465
+ return this._customerdevice;
466
+ }
455
467
  // ============================================
456
468
  // STANDARD METHODS
457
469
  // ============================================
@@ -13,6 +13,7 @@
13
13
  import { OdinRecord, OdinLink, LinkedOdinRecord } from '@d19n/odin-types/dist/core';
14
14
  import { FieldServiceDispatchedProductProperties } from './FieldServiceDispatchedProduct';
15
15
  import { OrderItemProperties } from './OrderItem';
16
+ import { WorkOrderProperties } from './WorkOrder';
16
17
  /**
17
18
  * Available types for CustomerDevice records
18
19
  */
@@ -105,6 +106,8 @@ export declare class CustomerDevice extends OdinRecord<CustomerDeviceProperties>
105
106
  FieldServiceDispatchedProduct: OdinLink<LinkedOdinRecord<FieldServiceDispatchedProductProperties>>;
106
107
  /** Linked OrderItem records (CustomerDevice__OrderItem) */
107
108
  OrderItem: OdinLink<LinkedOdinRecord<OrderItemProperties>>;
109
+ /** Linked WorkOrder records (WorkOrder__CustomerDevice) */
110
+ WorkOrder: OdinLink<LinkedOdinRecord<WorkOrderProperties>>;
108
111
  }
109
112
  /**
110
113
  * RabbitMQ routing keys for CustomerDevice events
@@ -18,6 +18,7 @@ import { CustomerDeviceOntProperties } from './CustomerDeviceOnt';
18
18
  import { AddressProperties } from './Address';
19
19
  import { FieldServiceDispatchedProductProperties } from './FieldServiceDispatchedProduct';
20
20
  import { OrderItemProperties } from './OrderItem';
21
+ import { WorkOrderProperties } from './WorkOrder';
21
22
  /**
22
23
  * Available types for CustomerDeviceRouter records
23
24
  */
@@ -254,6 +255,8 @@ export declare class CustomerDeviceRouter extends OdinRecord<CustomerDeviceRoute
254
255
  FieldServiceDispatchedProduct: OdinLink<LinkedOdinRecord<FieldServiceDispatchedProductProperties>>;
255
256
  /** Linked OrderItem records (OrderItem__CustomerDeviceRouter) */
256
257
  OrderItem: OdinLink<LinkedOdinRecord<OrderItemProperties>>;
258
+ /** Linked WorkOrder records (WorkOrder__CustomerDeviceRouter) */
259
+ WorkOrder: OdinLink<LinkedOdinRecord<WorkOrderProperties>>;
257
260
  }
258
261
  /**
259
262
  * RabbitMQ routing keys for CustomerDeviceRouter events
@@ -74,9 +74,11 @@ export declare enum FieldServiceProductVendor {
74
74
  *
75
75
  * @remarks Available options:
76
76
  * - `BATTERY` - Battery
77
+ * - `TV_DEVICE` - TV Device
77
78
  */
78
79
  export declare enum FieldServiceProductCustomerDeviceType {
79
- BATTERY = "BATTERY"
80
+ BATTERY = "BATTERY",
81
+ TV_DEVICE = "TV_DEVICE"
80
82
  }
81
83
  /**
82
84
  * Property keys for FieldServiceProduct
@@ -77,10 +77,12 @@ var FieldServiceProductVendor;
77
77
  *
78
78
  * @remarks Available options:
79
79
  * - `BATTERY` - Battery
80
+ * - `TV_DEVICE` - TV Device
80
81
  */
81
82
  var FieldServiceProductCustomerDeviceType;
82
83
  (function (FieldServiceProductCustomerDeviceType) {
83
84
  FieldServiceProductCustomerDeviceType["BATTERY"] = "BATTERY";
85
+ FieldServiceProductCustomerDeviceType["TV_DEVICE"] = "TV_DEVICE";
84
86
  })(FieldServiceProductCustomerDeviceType = exports.FieldServiceProductCustomerDeviceType || (exports.FieldServiceProductCustomerDeviceType = {}));
85
87
  /**
86
88
  * Property keys for FieldServiceProduct
@@ -72,6 +72,8 @@ import { DataIssueProperties } from './DataIssue';
72
72
  import { OrderProperties } from './Order';
73
73
  import { YfWifiSurveyProperties } from './YfWifiSurvey';
74
74
  import { YfFieldVisitOutcomeFormProperties } from './YfFieldVisitOutcomeForm';
75
+ import { CustomerDeviceRouterProperties } from './CustomerDeviceRouter';
76
+ import { CustomerDeviceProperties } from './CustomerDevice';
75
77
  /**
76
78
  * Available types for WorkOrder records
77
79
  */
@@ -14382,6 +14384,10 @@ export declare class WorkOrder extends OdinRecord<WorkOrderProperties> {
14382
14384
  YfWifiSurvey: OdinLink<LinkedOdinRecord<YfWifiSurveyProperties>>;
14383
14385
  /** Linked YfFieldVisitOutcomeForm records (WorkOrder_YfFieldVisitOutcomeForm) */
14384
14386
  YfFieldVisitOutcomeForm: OdinLink<LinkedOdinRecord<YfFieldVisitOutcomeFormProperties>>;
14387
+ /** Linked CustomerDeviceRouter records (WorkOrder__CustomerDeviceRouter) */
14388
+ CustomerDeviceRouter: OdinLink<LinkedOdinRecord<CustomerDeviceRouterProperties>>;
14389
+ /** Linked CustomerDevice records (WorkOrder__CustomerDevice) */
14390
+ CustomerDevice: OdinLink<LinkedOdinRecord<CustomerDeviceProperties>>;
14385
14391
  }
14386
14392
  /**
14387
14393
  * RabbitMQ routing keys for WorkOrder events
@@ -14691,3 +14697,11 @@ export declare const ROUTING_KEY_LINK_WORK_ORDER_YF_WIFI_SURVEY_DELETED = "Field
14691
14697
  export declare const ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_VISIT_OUTCOME_FORM_CREATED = "FieldServiceModule.WorkOrder.YfFieldVisitOutcomeForm.SubDbRecordAssociationCreated";
14692
14698
  /** Event: WorkOrder_YfFieldVisitOutcomeForm link deleted */
14693
14699
  export declare const ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_VISIT_OUTCOME_FORM_DELETED = "FieldServiceModule.WorkOrder.YfFieldVisitOutcomeForm.SubDbRecordAssociationDeleted";
14700
+ /** Event: WorkOrder__CustomerDeviceRouter link created */
14701
+ export declare const ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_ROUTER_CREATED = "FieldServiceModule.WorkOrder.CustomerDeviceRouter.SubDbRecordAssociationCreated";
14702
+ /** Event: WorkOrder__CustomerDeviceRouter link deleted */
14703
+ export declare const ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_ROUTER_DELETED = "FieldServiceModule.WorkOrder.CustomerDeviceRouter.SubDbRecordAssociationDeleted";
14704
+ /** Event: WorkOrder__CustomerDevice link created */
14705
+ export declare const ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_CREATED = "FieldServiceModule.WorkOrder.CustomerDevice.SubDbRecordAssociationCreated";
14706
+ /** Event: WorkOrder__CustomerDevice link deleted */
14707
+ export declare const ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_DELETED = "FieldServiceModule.WorkOrder.CustomerDevice.SubDbRecordAssociationDeleted";
@@ -16,7 +16,7 @@ exports.WorkOrderSLARagStatus = exports.WorkOrderNextAction = exports.WorkOrderC
16
16
  exports.ROUTING_KEY_WORK_ORDER_SERVICE_CREATED = exports.ROUTING_KEY_WORK_ORDER_REPLACEMENT_AMCO_DELETED = exports.ROUTING_KEY_WORK_ORDER_REPLACEMENT_AMCO_UPDATED = exports.ROUTING_KEY_WORK_ORDER_REPLACEMENT_AMCO_CREATED = exports.ROUTING_KEY_WORK_ORDER_REMEDIATION_DELETED = exports.ROUTING_KEY_WORK_ORDER_REMEDIATION_UPDATED = exports.ROUTING_KEY_WORK_ORDER_REMEDIATION_CREATED = exports.ROUTING_KEY_WORK_ORDER_PRE_PULL_DELETED = exports.ROUTING_KEY_WORK_ORDER_PRE_PULL_UPDATED = exports.ROUTING_KEY_WORK_ORDER_PRE_PULL_CREATED = exports.ROUTING_KEY_WORK_ORDER_PLANNING_DELETED = exports.ROUTING_KEY_WORK_ORDER_PLANNING_UPDATED = exports.ROUTING_KEY_WORK_ORDER_PLANNING_CREATED = exports.ROUTING_KEY_WORK_ORDER_NETWORK_ADJUSTMENT_DELETED = exports.ROUTING_KEY_WORK_ORDER_NETWORK_ADJUSTMENT_UPDATED = exports.ROUTING_KEY_WORK_ORDER_NETWORK_ADJUSTMENT_CREATED = exports.ROUTING_KEY_WORK_ORDER_INSTALL_SERVICE_DELETED = exports.ROUTING_KEY_WORK_ORDER_INSTALL_SERVICE_UPDATED = exports.ROUTING_KEY_WORK_ORDER_INSTALL_SERVICE_CREATED = exports.ROUTING_KEY_WORK_ORDER_INSTALL_BUSINESS_DELETED = exports.ROUTING_KEY_WORK_ORDER_INSTALL_BUSINESS_UPDATED = exports.ROUTING_KEY_WORK_ORDER_INSTALL_BUSINESS_CREATED = exports.ROUTING_KEY_WORK_ORDER_INSTALL_DELETED = exports.ROUTING_KEY_WORK_ORDER_INSTALL_UPDATED = exports.ROUTING_KEY_WORK_ORDER_INSTALL_CREATED = exports.ROUTING_KEY_WORK_ORDER_INSPECTION_DELETED = exports.ROUTING_KEY_WORK_ORDER_INSPECTION_UPDATED = exports.ROUTING_KEY_WORK_ORDER_INSPECTION_CREATED = exports.ROUTING_KEY_WORK_ORDER_FINANCE_DELETED = exports.ROUTING_KEY_WORK_ORDER_FINANCE_UPDATED = exports.ROUTING_KEY_WORK_ORDER_FINANCE_CREATED = exports.ROUTING_KEY_WORK_ORDER_DISPATCH_AMCO_DELETED = exports.ROUTING_KEY_WORK_ORDER_DISPATCH_AMCO_UPDATED = exports.ROUTING_KEY_WORK_ORDER_DISPATCH_AMCO_CREATED = exports.ROUTING_KEY_WORK_ORDER_COLLECTION_AMCO_DELETED = exports.ROUTING_KEY_WORK_ORDER_COLLECTION_AMCO_UPDATED = exports.ROUTING_KEY_WORK_ORDER_COLLECTION_AMCO_CREATED = exports.ROUTING_KEY_WORK_ORDER_COLLECTION_DELETED = exports.ROUTING_KEY_WORK_ORDER_COLLECTION_UPDATED = exports.ROUTING_KEY_WORK_ORDER_COLLECTION_CREATED = exports.ROUTING_KEY_WORK_ORDER_DELETED = exports.ROUTING_KEY_WORK_ORDER_UPDATED = exports.ROUTING_KEY_WORK_ORDER_CREATED = exports.WorkOrder = exports.WorkOrderPropertyKeys = exports.WorkOrderReplacementReason = exports.WorkOrderDispatchReason = exports.WorkOrderReTriggerReason = exports.WorkOrderCpe5 = exports.WorkOrderCpe1 = void 0;
17
17
  exports.ROUTING_KEY_LINK_WORK_ORDER_INVOICE_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_ALTERNATIVE_ADDRESS_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_ALTERNATIVE_ADDRESS_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_RETRO_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_RETRO_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_AUDIT_OF_INSTALLATION_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_AUDIT_OF_INSTALLATION_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_VAN_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_VAN_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_RETRO_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_RETRO_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_TOOL_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_TOOL_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_NETOMNIA_INSTALL_VERIFICATION_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_NETOMNIA_INSTALL_VERIFICATION_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_EMAIL_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_EMAIL_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_CONTACT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_CONTACT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_SERVICE_VISIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_SERVICE_VISIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_EXTERNAL_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_EXTERNAL_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_TEAM_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_TEAM_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_REMEDIATION_OUTCOME_FORM_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_REMEDIATION_OUTCOME_FORM_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_LEAD_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_LEAD_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_NOTE_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_NOTE_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_FILE_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_FILE_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_ACTIVITY_LOG_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_ACTIVITY_LOG_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_NETOMNIA_FTTH2_STAGE_INSTALL_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_NETOMNIA_FTTH2_STAGE_INSTALL_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_BLOCKAGE_A55_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_BLOCKAGE_A55_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_OVERLAY_REAL_A55_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_OVERLAY_REAL_A55_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_NETOMNIA_FTTH1_STAGE_INSTALL_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_NETOMNIA_FTTH1_STAGE_INSTALL_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_SERVICE_VISIT_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_SERVICE_VISIT_AUDIT_CREATED = exports.ROUTING_KEY_WORK_ORDER_WAYLEAVE_DELETED = exports.ROUTING_KEY_WORK_ORDER_WAYLEAVE_UPDATED = exports.ROUTING_KEY_WORK_ORDER_WAYLEAVE_CREATED = exports.ROUTING_KEY_WORK_ORDER_SERVICE_DELETED = exports.ROUTING_KEY_WORK_ORDER_SERVICE_UPDATED = void 0;
18
18
  exports.ROUTING_KEY_LINK_WORK_ORDER_SERVICE_APPOINTMENT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_STOCK_COUNT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_STOCK_COUNT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_IN_PROGRESS_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_IN_PROGRESS_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_AUDIT_OF_INSTALLATION_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_AUDIT_OF_INSTALLATION_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_INSTALLATION_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_OH_INSTALLATION_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_FIELD_SERVICE_PRODUCT_ROUTER_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_FIELD_SERVICE_PRODUCT_ROUTER_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_IN_PROGRESS_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_IN_PROGRESS_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_WORK_ORDER_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_WORK_ORDER_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_BLOCKAGE_REPORT_A55_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_BLOCKAGE_REPORT_A55_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_PERMISSION_TO_FAIL_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_PERMISSION_TO_FAIL_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_ENGINEER_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_ENGINEER_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_REMEDIATION_REQUIRED_REASON_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_REMEDIATION_REQUIRED_REASON_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_SERVICE_APPOINTMENT_CONFIG_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_SERVICE_APPOINTMENT_CONFIG_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_INSTALLATION_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_INSTALLATION_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_SWEEPER_MAINTENANCE_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_SWEEPER_MAINTENANCE_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_ONT_REMOVAL_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_ONT_REMOVAL_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_INTERNAL_INSTALL_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_INTERNAL_INSTALL_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_SMS_MESSAGE_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_SMS_MESSAGE_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_CHANGE_REASON_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_CHANGE_REASON_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_ORDER_ITEM_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_ORDER_ITEM_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_FIELD_SERVICE_DISPATCHED_PRODUCT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_FIELD_SERVICE_DISPATCHED_PRODUCT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_NETOMNIA_FTTH_SERVICE_VISIT_SHEET_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_NETOMNIA_FTTH_SERVICE_VISIT_SHEET_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_EXTERNAL_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_UG_EXTERNAL_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_NOINSTALL3_AUDIT_OF_INSTALLATION_SHEET_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_NOINSTALL3_AUDIT_OF_INSTALLATION_SHEET_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_ACTIVITY_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_ACTIVITY_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_INVOICE_DELETED = void 0;
19
- exports.ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_VISIT_OUTCOME_FORM_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_VISIT_OUTCOME_FORM_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_WIFI_SURVEY_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_WIFI_SURVEY_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_SITE_SPECIFIC_RISK_ASSESSMENT_OUTCOME_FORM_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_SITE_SPECIFIC_RISK_ASSESSMENT_OUTCOME_FORM_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_WAYLEAVE_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_WAYLEAVE_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_SERVICE_APPOINTMENT_DELETED = void 0;
19
+ exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_ROUTER_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_ROUTER_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_VISIT_OUTCOME_FORM_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_VISIT_OUTCOME_FORM_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_WIFI_SURVEY_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_YF_WIFI_SURVEY_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_SITE_SPECIFIC_RISK_ASSESSMENT_OUTCOME_FORM_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_SITE_SPECIFIC_RISK_ASSESSMENT_OUTCOME_FORM_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_WAYLEAVE_AUDIT_DELETED = exports.ROUTING_KEY_LINK_WORK_ORDER_WAYLEAVE_AUDIT_CREATED = exports.ROUTING_KEY_LINK_WORK_ORDER_SERVICE_APPOINTMENT_DELETED = void 0;
20
20
  const core_1 = require("@d19n/odin-types/dist/core");
21
21
  /**
22
22
  * Available types for WorkOrder records
@@ -1977,3 +1977,11 @@ exports.ROUTING_KEY_LINK_WORK_ORDER_YF_WIFI_SURVEY_DELETED = 'FieldServiceModule
1977
1977
  exports.ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_VISIT_OUTCOME_FORM_CREATED = 'FieldServiceModule.WorkOrder.YfFieldVisitOutcomeForm.SubDbRecordAssociationCreated';
1978
1978
  /** Event: WorkOrder_YfFieldVisitOutcomeForm link deleted */
1979
1979
  exports.ROUTING_KEY_LINK_WORK_ORDER_YF_FIELD_VISIT_OUTCOME_FORM_DELETED = 'FieldServiceModule.WorkOrder.YfFieldVisitOutcomeForm.SubDbRecordAssociationDeleted';
1980
+ /** Event: WorkOrder__CustomerDeviceRouter link created */
1981
+ exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_ROUTER_CREATED = 'FieldServiceModule.WorkOrder.CustomerDeviceRouter.SubDbRecordAssociationCreated';
1982
+ /** Event: WorkOrder__CustomerDeviceRouter link deleted */
1983
+ exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_ROUTER_DELETED = 'FieldServiceModule.WorkOrder.CustomerDeviceRouter.SubDbRecordAssociationDeleted';
1984
+ /** Event: WorkOrder__CustomerDevice link created */
1985
+ exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_CREATED = 'FieldServiceModule.WorkOrder.CustomerDevice.SubDbRecordAssociationCreated';
1986
+ /** Event: WorkOrder__CustomerDevice link deleted */
1987
+ exports.ROUTING_KEY_LINK_WORK_ORDER_CUSTOMER_DEVICE_DELETED = 'FieldServiceModule.WorkOrder.CustomerDevice.SubDbRecordAssociationDeleted';
@@ -25,9 +25,11 @@ import { RecordLinkManager } from '@d19n/odin-sdk-generator/dist/record-link-man
25
25
  import { CustomerDeviceProperties, BatteryCustomerDeviceProperties, TvDeviceCustomerDeviceProperties } from '../entities-v2/CustomerDevice';
26
26
  import { CreateCustomerDeviceBatteryProperties } from '../actions-v2/CreateCustomerDeviceBatteryDto';
27
27
  import { CreateCustomerDeviceBatteryBuilder } from '../actions-v2/CreateCustomerDeviceBatteryDto';
28
+ import { CreateCustomerDeviceTvDeviceProperties } from '../actions-v2/CreateCustomerDeviceTvDeviceDto';
28
29
  import { UpdateCustomerDeviceBatteryProperties } from '../actions-v2/UpdateCustomerDeviceBatteryDto';
29
30
  import { FieldServiceDispatchedProductRecord } from './FieldServiceDispatchedProductRecord';
30
31
  import { OrderItemRecord } from './OrderItemRecord';
32
+ import { WorkOrderRecord } from './WorkOrderRecord';
31
33
  /** Valid entity types for CustomerDevice */
32
34
  export declare type CustomerDeviceType = 'BATTERY' | 'DEFAULT' | 'TV_DEVICE';
33
35
  /**
@@ -95,6 +97,7 @@ export declare class CustomerDeviceRecord<TProps = CustomerDeviceProperties> {
95
97
  private _preGeneratedId;
96
98
  private _fieldServiceDispatchedProducts?;
97
99
  private _orderItems?;
100
+ private _workOrders?;
98
101
  /**
99
102
  * Create a record wrapper.
100
103
  * @param record - The underlying record, or null for create operations
@@ -206,6 +209,24 @@ export declare class CustomerDeviceRecord<TProps = CustomerDeviceProperties> {
206
209
  * ```
207
210
  */
208
211
  get orderItems(): RecordLinkManager<OrderItemRecord, typeof CustomerDeviceRecord['orderItemsLabels'][number]>;
212
+ /** Valid labels for WorkOrder associations */
213
+ static readonly workOrdersLabels: readonly ["WorkOrder__CustomerDevice"];
214
+ /**
215
+ * Access linked WorkOrder records
216
+ * @remarks Available labels: WorkOrder__CustomerDevice
217
+ * @throws Error if called on a new (unsaved) record
218
+ *
219
+ * @example
220
+ * ```typescript
221
+ * // Get all linked WorkOrder records
222
+ * const items = await record.workOrders.list();
223
+ * const first = await record.workOrders.first();
224
+ *
225
+ * // Filter by label
226
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__CustomerDevice' });
227
+ * ```
228
+ */
229
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof CustomerDeviceRecord['workOrdersLabels'][number]>;
209
230
  /**
210
231
  * Queue a link to be created with the next action.
211
232
  * Works for both create and update actions.
@@ -254,6 +275,34 @@ export declare class CustomerDeviceRecord<TProps = CustomerDeviceProperties> {
254
275
  journeyId?: string;
255
276
  stageKey?: string;
256
277
  }): CreateCustomerDeviceBatteryBuilder;
278
+ /**
279
+ * CreateCustomerDeviceTvDevice
280
+ *
281
+ * Creates a new CustomerDevice record with the specified properties.
282
+ * Returns an ActionBuilder - call .execute() to create or .dryRun() for debugging.
283
+ *
284
+ * @remarks Record type: TV_DEVICE
285
+ *
286
+ * @param properties - The properties for the new record
287
+ * @param options - Optional settings
288
+ * @param options.journeyId - Associate with a journey
289
+ * @param options.stageKey - Set initial pipeline stage
290
+ * @returns ActionBuilder - call .execute() to create or .dryRun() for payload
291
+ *
292
+ * @example
293
+ * ```typescript
294
+ * // Create with properties
295
+ * const record = odinClient.customerDevices.new();
296
+ * await record.createCustomerDeviceTvDevice({ ... }).execute();
297
+ *
298
+ * // Dry run (for debugging)
299
+ * const payload = record.createCustomerDeviceTvDevice({ ... }).dryRun();
300
+ * ```
301
+ */
302
+ createCustomerDeviceTvDevice(properties?: CreateCustomerDeviceTvDeviceProperties, options?: {
303
+ journeyId?: string;
304
+ stageKey?: string;
305
+ }): ActionBuilder;
257
306
  /**
258
307
  * UpdateCustomerDeviceBattery
259
308
  *
@@ -35,6 +35,7 @@ const record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/record-link
35
35
  const CreateCustomerDeviceBatteryDto_1 = require("../actions-v2/CreateCustomerDeviceBatteryDto");
36
36
  const FieldServiceDispatchedProductRecord_1 = require("./FieldServiceDispatchedProductRecord");
37
37
  const OrderItemRecord_1 = require("./OrderItemRecord");
38
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
38
39
  /**
39
40
  * Builder for action execution with dryRun support
40
41
  *
@@ -258,6 +259,36 @@ class CustomerDeviceRecord {
258
259
  }
259
260
  return this._orderItems;
260
261
  }
262
+ /**
263
+ * Access linked WorkOrder records
264
+ * @remarks Available labels: WorkOrder__CustomerDevice
265
+ * @throws Error if called on a new (unsaved) record
266
+ *
267
+ * @example
268
+ * ```typescript
269
+ * // Get all linked WorkOrder records
270
+ * const items = await record.workOrders.list();
271
+ * const first = await record.workOrders.first();
272
+ *
273
+ * // Filter by label
274
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__CustomerDevice' });
275
+ * ```
276
+ */
277
+ get workOrders() {
278
+ var _a;
279
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
280
+ throw new Error('Cannot access links on a new (unsaved) record');
281
+ if (!this._workOrders) {
282
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
283
+ sourceEntity: 'ServiceModule:CustomerDevice',
284
+ targetEntity: 'FieldServiceModule:WorkOrder',
285
+ targetModuleName: 'FieldServiceModule',
286
+ targetEntityName: 'WorkOrder',
287
+ labels: ['WorkOrder__CustomerDevice'],
288
+ }, WorkOrderRecord_1.WorkOrderRecord);
289
+ }
290
+ return this._workOrders;
291
+ }
261
292
  // ============================================
262
293
  // LINK MANAGEMENT
263
294
  // ============================================
@@ -322,6 +353,42 @@ class CustomerDeviceRecord {
322
353
  createCustomerDeviceBattery(properties, options) {
323
354
  return new CreateCustomerDeviceBatteryDto_1.CreateCustomerDeviceBatteryBuilder(properties || {}, [...this._pendingLinks], options).withProvider(this._provider, 'ServiceModule', 'CustomerDevice', () => { this._pendingLinks = []; });
324
355
  }
356
+ /**
357
+ * CreateCustomerDeviceTvDevice
358
+ *
359
+ * Creates a new CustomerDevice record with the specified properties.
360
+ * Returns an ActionBuilder - call .execute() to create or .dryRun() for debugging.
361
+ *
362
+ * @remarks Record type: TV_DEVICE
363
+ *
364
+ * @param properties - The properties for the new record
365
+ * @param options - Optional settings
366
+ * @param options.journeyId - Associate with a journey
367
+ * @param options.stageKey - Set initial pipeline stage
368
+ * @returns ActionBuilder - call .execute() to create or .dryRun() for payload
369
+ *
370
+ * @example
371
+ * ```typescript
372
+ * // Create with properties
373
+ * const record = odinClient.customerDevices.new();
374
+ * await record.createCustomerDeviceTvDevice({ ... }).execute();
375
+ *
376
+ * // Dry run (for debugging)
377
+ * const payload = record.createCustomerDeviceTvDevice({ ... }).dryRun();
378
+ * ```
379
+ */
380
+ createCustomerDeviceTvDevice(properties, options) {
381
+ const payload = {
382
+ entity: 'ServiceModule:CustomerDevice',
383
+ type: 'TV_DEVICE',
384
+ actionName: 'CreateCustomerDeviceTvDevice',
385
+ properties: properties || {},
386
+ associations: this._pendingLinks.length > 0 ? this._pendingLinks : undefined,
387
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
388
+ stageKey: options === null || options === void 0 ? void 0 : options.stageKey,
389
+ };
390
+ return new ActionBuilder(this._provider, 'ServiceModule', 'CustomerDevice', payload, () => { this._pendingLinks = []; });
391
+ }
325
392
  // ============================================
326
393
  // UPDATE ACTIONS (require existing record)
327
394
  // ============================================
@@ -371,6 +438,8 @@ exports.CustomerDeviceRecord = CustomerDeviceRecord;
371
438
  CustomerDeviceRecord.fieldServiceDispatchedProductsLabels = ['CustomerDevice__FieldServiceDispatchedProduct'];
372
439
  /** Valid labels for OrderItem associations */
373
440
  CustomerDeviceRecord.orderItemsLabels = ['CustomerDevice__OrderItem'];
441
+ /** Valid labels for WorkOrder associations */
442
+ CustomerDeviceRecord.workOrdersLabels = ['WorkOrder__CustomerDevice'];
374
443
  /** Type guard to check if an object is a CustomerDeviceRecord */
375
444
  function isCustomerDeviceRecord(obj) {
376
445
  return obj instanceof CustomerDeviceRecord;
@@ -31,6 +31,7 @@ import { CustomerDeviceOntRecord } from './CustomerDeviceOntRecord';
31
31
  import { AddressRecord } from './AddressRecord';
32
32
  import { FieldServiceDispatchedProductRecord } from './FieldServiceDispatchedProductRecord';
33
33
  import { OrderItemRecord } from './OrderItemRecord';
34
+ import { WorkOrderRecord } from './WorkOrderRecord';
34
35
  /**
35
36
  * Builder for action execution with dryRun support
36
37
  *
@@ -101,6 +102,7 @@ export declare class CustomerDeviceRouterRecord<TProps = CustomerDeviceRouterPro
101
102
  private _addresses?;
102
103
  private _fieldServiceDispatchedProducts?;
103
104
  private _orderItems?;
105
+ private _workOrders?;
104
106
  /**
105
107
  * Create a record wrapper.
106
108
  * @param record - The underlying record, or null for create operations
@@ -254,6 +256,24 @@ export declare class CustomerDeviceRouterRecord<TProps = CustomerDeviceRouterPro
254
256
  * ```
255
257
  */
256
258
  get orderItems(): RecordLinkManager<OrderItemRecord, typeof CustomerDeviceRouterRecord['orderItemsLabels'][number]>;
259
+ /** Valid labels for WorkOrder associations */
260
+ static readonly workOrdersLabels: readonly ["WorkOrder__CustomerDeviceRouter"];
261
+ /**
262
+ * Access linked WorkOrder records
263
+ * @remarks Available labels: WorkOrder__CustomerDeviceRouter
264
+ * @throws Error if called on a new (unsaved) record
265
+ *
266
+ * @example
267
+ * ```typescript
268
+ * // Get all linked WorkOrder records
269
+ * const items = await record.workOrders.list();
270
+ * const first = await record.workOrders.first();
271
+ *
272
+ * // Filter by label
273
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__CustomerDeviceRouter' });
274
+ * ```
275
+ */
276
+ get workOrders(): RecordLinkManager<WorkOrderRecord, typeof CustomerDeviceRouterRecord['workOrdersLabels'][number]>;
257
277
  /**
258
278
  * Queue a link to be created with the next action.
259
279
  * Works for both create and update actions.
@@ -37,6 +37,7 @@ const CustomerDeviceOntRecord_1 = require("./CustomerDeviceOntRecord");
37
37
  const AddressRecord_1 = require("./AddressRecord");
38
38
  const FieldServiceDispatchedProductRecord_1 = require("./FieldServiceDispatchedProductRecord");
39
39
  const OrderItemRecord_1 = require("./OrderItemRecord");
40
+ const WorkOrderRecord_1 = require("./WorkOrderRecord");
40
41
  /**
41
42
  * Builder for action execution with dryRun support
42
43
  *
@@ -359,6 +360,36 @@ class CustomerDeviceRouterRecord {
359
360
  }
360
361
  return this._orderItems;
361
362
  }
363
+ /**
364
+ * Access linked WorkOrder records
365
+ * @remarks Available labels: WorkOrder__CustomerDeviceRouter
366
+ * @throws Error if called on a new (unsaved) record
367
+ *
368
+ * @example
369
+ * ```typescript
370
+ * // Get all linked WorkOrder records
371
+ * const items = await record.workOrders.list();
372
+ * const first = await record.workOrders.first();
373
+ *
374
+ * // Filter by label
375
+ * const specific = await record.workOrders.first({ label: 'WorkOrder__CustomerDeviceRouter' });
376
+ * ```
377
+ */
378
+ get workOrders() {
379
+ var _a;
380
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
381
+ throw new Error('Cannot access links on a new (unsaved) record');
382
+ if (!this._workOrders) {
383
+ this._workOrders = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
384
+ sourceEntity: 'ServiceModule:CustomerDeviceRouter',
385
+ targetEntity: 'FieldServiceModule:WorkOrder',
386
+ targetModuleName: 'FieldServiceModule',
387
+ targetEntityName: 'WorkOrder',
388
+ labels: ['WorkOrder__CustomerDeviceRouter'],
389
+ }, WorkOrderRecord_1.WorkOrderRecord);
390
+ }
391
+ return this._workOrders;
392
+ }
362
393
  // ============================================
363
394
  // LINK MANAGEMENT
364
395
  // ============================================
@@ -520,6 +551,8 @@ CustomerDeviceRouterRecord.addressesLabels = ['Address__CustomerDeviceRouter'];
520
551
  CustomerDeviceRouterRecord.fieldServiceDispatchedProductsLabels = ['CustomerDeviceRouter__FieldServiceDispatchedProduct'];
521
552
  /** Valid labels for OrderItem associations */
522
553
  CustomerDeviceRouterRecord.orderItemsLabels = ['OrderItem__CustomerDeviceRouter'];
554
+ /** Valid labels for WorkOrder associations */
555
+ CustomerDeviceRouterRecord.workOrdersLabels = ['WorkOrder__CustomerDeviceRouter'];
523
556
  /** Type guard to check if an object is a CustomerDeviceRouterRecord */
524
557
  function isCustomerDeviceRouterRecord(obj) {
525
558
  return obj instanceof CustomerDeviceRouterRecord;
@@ -131,6 +131,8 @@ import { DataIssueRecord } from './DataIssueRecord';
131
131
  import { OrderRecord } from './OrderRecord';
132
132
  import { YfWifiSurveyRecord } from './YfWifiSurveyRecord';
133
133
  import { YfFieldVisitOutcomeFormRecord } from './YfFieldVisitOutcomeFormRecord';
134
+ import { CustomerDeviceRouterRecord } from './CustomerDeviceRouterRecord';
135
+ import { CustomerDeviceRecord } from './CustomerDeviceRecord';
134
136
  /** Valid entity types for WorkOrder */
135
137
  export declare type WorkOrderType = 'COLLECTION' | 'COLLECTION_AMCO' | 'DISPATCH_AMCO' | 'FINANCE' | 'INSPECTION' | 'INSTALL' | 'INSTALL_BUSINESS' | 'INSTALL_SERVICE' | 'NETWORK_ADJUSTMENT' | 'PLANNING' | 'PRE_PULL' | 'REMEDIATION' | 'REPLACEMENT_AMCO' | 'SERVICE' | 'WAYLEAVE';
136
138
  /**
@@ -2568,6 +2570,8 @@ export declare class WorkOrderRecord<TProps = WorkOrderProperties> {
2568
2570
  private _orders?;
2569
2571
  private _yfWifiSurveys?;
2570
2572
  private _yfFieldVisitOutcomeForms?;
2573
+ private _customerDeviceRouters?;
2574
+ private _customerDevices?;
2571
2575
  /**
2572
2576
  * Create a record wrapper.
2573
2577
  * @param record - The underlying record, or null for create operations
@@ -3519,6 +3523,42 @@ export declare class WorkOrderRecord<TProps = WorkOrderProperties> {
3519
3523
  * ```
3520
3524
  */
3521
3525
  get yfFieldVisitOutcomeForms(): RecordLinkManager<YfFieldVisitOutcomeFormRecord, typeof WorkOrderRecord['yfFieldVisitOutcomeFormsLabels'][number]>;
3526
+ /** Valid labels for CustomerDeviceRouter associations */
3527
+ static readonly customerDeviceRoutersLabels: readonly ["WorkOrder__CustomerDeviceRouter"];
3528
+ /**
3529
+ * Access linked CustomerDeviceRouter records
3530
+ * @remarks Available labels: WorkOrder__CustomerDeviceRouter
3531
+ * @throws Error if called on a new (unsaved) record
3532
+ *
3533
+ * @example
3534
+ * ```typescript
3535
+ * // Get all linked CustomerDeviceRouter records
3536
+ * const items = await record.customerDeviceRouters.list();
3537
+ * const first = await record.customerDeviceRouters.first();
3538
+ *
3539
+ * // Filter by label
3540
+ * const specific = await record.customerDeviceRouters.first({ label: 'WorkOrder__CustomerDeviceRouter' });
3541
+ * ```
3542
+ */
3543
+ get customerDeviceRouters(): RecordLinkManager<CustomerDeviceRouterRecord, typeof WorkOrderRecord['customerDeviceRoutersLabels'][number]>;
3544
+ /** Valid labels for CustomerDevice associations */
3545
+ static readonly customerDevicesLabels: readonly ["WorkOrder__CustomerDevice"];
3546
+ /**
3547
+ * Access linked CustomerDevice records
3548
+ * @remarks Available labels: WorkOrder__CustomerDevice
3549
+ * @throws Error if called on a new (unsaved) record
3550
+ *
3551
+ * @example
3552
+ * ```typescript
3553
+ * // Get all linked CustomerDevice records
3554
+ * const items = await record.customerDevices.list();
3555
+ * const first = await record.customerDevices.first();
3556
+ *
3557
+ * // Filter by label
3558
+ * const specific = await record.customerDevices.first({ label: 'WorkOrder__CustomerDevice' });
3559
+ * ```
3560
+ */
3561
+ get customerDevices(): RecordLinkManager<CustomerDeviceRecord, typeof WorkOrderRecord['customerDevicesLabels'][number]>;
3522
3562
  /**
3523
3563
  * Queue a link to be created with the next action.
3524
3564
  * Works for both create and update actions.
@@ -70,6 +70,8 @@ const DataIssueRecord_1 = require("./DataIssueRecord");
70
70
  const OrderRecord_1 = require("./OrderRecord");
71
71
  const YfWifiSurveyRecord_1 = require("./YfWifiSurveyRecord");
72
72
  const YfFieldVisitOutcomeFormRecord_1 = require("./YfFieldVisitOutcomeFormRecord");
73
+ const CustomerDeviceRouterRecord_1 = require("./CustomerDeviceRouterRecord");
74
+ const CustomerDeviceRecord_1 = require("./CustomerDeviceRecord");
73
75
  /**
74
76
  * Builder for action execution with dryRun support
75
77
  *
@@ -5652,6 +5654,66 @@ class WorkOrderRecord {
5652
5654
  }
5653
5655
  return this._yfFieldVisitOutcomeForms;
5654
5656
  }
5657
+ /**
5658
+ * Access linked CustomerDeviceRouter records
5659
+ * @remarks Available labels: WorkOrder__CustomerDeviceRouter
5660
+ * @throws Error if called on a new (unsaved) record
5661
+ *
5662
+ * @example
5663
+ * ```typescript
5664
+ * // Get all linked CustomerDeviceRouter records
5665
+ * const items = await record.customerDeviceRouters.list();
5666
+ * const first = await record.customerDeviceRouters.first();
5667
+ *
5668
+ * // Filter by label
5669
+ * const specific = await record.customerDeviceRouters.first({ label: 'WorkOrder__CustomerDeviceRouter' });
5670
+ * ```
5671
+ */
5672
+ get customerDeviceRouters() {
5673
+ var _a;
5674
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
5675
+ throw new Error('Cannot access links on a new (unsaved) record');
5676
+ if (!this._customerDeviceRouters) {
5677
+ this._customerDeviceRouters = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
5678
+ sourceEntity: 'FieldServiceModule:WorkOrder',
5679
+ targetEntity: 'ServiceModule:CustomerDeviceRouter',
5680
+ targetModuleName: 'ServiceModule',
5681
+ targetEntityName: 'CustomerDeviceRouter',
5682
+ labels: ['WorkOrder__CustomerDeviceRouter'],
5683
+ }, CustomerDeviceRouterRecord_1.CustomerDeviceRouterRecord);
5684
+ }
5685
+ return this._customerDeviceRouters;
5686
+ }
5687
+ /**
5688
+ * Access linked CustomerDevice records
5689
+ * @remarks Available labels: WorkOrder__CustomerDevice
5690
+ * @throws Error if called on a new (unsaved) record
5691
+ *
5692
+ * @example
5693
+ * ```typescript
5694
+ * // Get all linked CustomerDevice records
5695
+ * const items = await record.customerDevices.list();
5696
+ * const first = await record.customerDevices.first();
5697
+ *
5698
+ * // Filter by label
5699
+ * const specific = await record.customerDevices.first({ label: 'WorkOrder__CustomerDevice' });
5700
+ * ```
5701
+ */
5702
+ get customerDevices() {
5703
+ var _a;
5704
+ if (!((_a = this._record) === null || _a === void 0 ? void 0 : _a.id))
5705
+ throw new Error('Cannot access links on a new (unsaved) record');
5706
+ if (!this._customerDevices) {
5707
+ this._customerDevices = new record_link_manager_1.RecordLinkManager(this._provider, this._record, {
5708
+ sourceEntity: 'FieldServiceModule:WorkOrder',
5709
+ targetEntity: 'ServiceModule:CustomerDevice',
5710
+ targetModuleName: 'ServiceModule',
5711
+ targetEntityName: 'CustomerDevice',
5712
+ labels: ['WorkOrder__CustomerDevice'],
5713
+ }, CustomerDeviceRecord_1.CustomerDeviceRecord);
5714
+ }
5715
+ return this._customerDevices;
5716
+ }
5655
5717
  // ============================================
5656
5718
  // LINK MANAGEMENT
5657
5719
  // ============================================
@@ -11393,6 +11455,10 @@ WorkOrderRecord.ordersLabels = ['Order__WorkOrder'];
11393
11455
  WorkOrderRecord.yfWifiSurveysLabels = ['WorkOrder__YfWifiSurvey'];
11394
11456
  /** Valid labels for YfFieldVisitOutcomeForm associations */
11395
11457
  WorkOrderRecord.yfFieldVisitOutcomeFormsLabels = ['WorkOrder_YfFieldVisitOutcomeForm'];
11458
+ /** Valid labels for CustomerDeviceRouter associations */
11459
+ WorkOrderRecord.customerDeviceRoutersLabels = ['WorkOrder__CustomerDeviceRouter'];
11460
+ /** Valid labels for CustomerDevice associations */
11461
+ WorkOrderRecord.customerDevicesLabels = ['WorkOrder__CustomerDevice'];
11396
11462
  /** Type guard to check if an object is a WorkOrderRecord */
11397
11463
  function isWorkOrderRecord(obj) {
11398
11464
  return obj instanceof WorkOrderRecord;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d19n/youfibre-odin-sdk",
3
- "version": "2.0.299",
3
+ "version": "2.0.301",
4
4
  "description": "",
5
5
  "author": "@d19n",
6
6
  "license": "UNLICENSED",