@d19n/youfibre-odin-sdk 2.0.270 → 2.0.272
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 +8 -1
- package/dist/EntityRegistry.d.ts +2 -0
- package/dist/EntityRegistry.js +2 -0
- package/dist/OdinApiClient.d.ts +4 -0
- package/dist/OdinApiClient.js +8 -0
- package/dist/OdinDbClient.d.ts +4 -0
- package/dist/OdinDbClient.js +8 -0
- package/dist/accessors-v2/YfWifiSurveyAccessor.d.ts +111 -0
- package/dist/accessors-v2/YfWifiSurveyAccessor.js +190 -0
- package/dist/accessors-v2/index.d.ts +1 -0
- package/dist/accessors-v2/index.js +3 -1
- package/dist/actions-v2/CreateAppointmentDto.d.ts +8 -1
- package/dist/actions-v2/CreateConversationDto.d.ts +23 -1
- package/dist/actions-v2/CreateCustomerDeviceBatteryDto.d.ts +103 -1
- package/dist/actions-v2/CreateCustomerDeviceBatteryDto.js +120 -1
- package/dist/actions-v2/CreateMessageDto.d.ts +17 -11
- package/dist/actions-v2/CreateYfWifiSurveyDto.d.ts +118 -0
- package/dist/actions-v2/CreateYfWifiSurveyDto.js +54 -0
- package/dist/actions-v2/UpdateCustomerDeviceBatteryDto.d.ts +183 -0
- package/dist/actions-v2/UpdateCustomerDeviceBatteryDto.js +179 -0
- package/dist/db-accessors-v2/YfWifiSurveyDbAccessor.d.ts +149 -0
- package/dist/db-accessors-v2/YfWifiSurveyDbAccessor.js +227 -0
- package/dist/db-accessors-v2/index.d.ts +1 -0
- package/dist/db-accessors-v2/index.js +3 -1
- package/dist/entities-v2/Order.d.ts +8 -0
- package/dist/entities-v2/Order.js +2 -0
- package/dist/records-v2/ConversationRecord.d.ts +1 -1
- package/dist/records-v2/CustomerDeviceRecord.d.ts +34 -68
- package/dist/records-v2/CustomerDeviceRecord.js +38 -17
- package/dist/records-v2/FileRecord.d.ts +20 -0
- package/dist/records-v2/FileRecord.js +33 -0
- package/dist/records-v2/WorkOrderRecord.d.ts +20 -0
- package/dist/records-v2/WorkOrderRecord.js +33 -0
- package/dist/records-v2/YfWifiSurveyRecord.d.ts +225 -0
- package/dist/records-v2/YfWifiSurveyRecord.js +313 -0
- package/dist/records-v2/index.d.ts +1 -0
- package/dist/records-v2/index.js +5 -2
- package/package.json +1 -1
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* UpdateCustomerDeviceBattery Action DTO
|
|
4
|
+
*
|
|
5
|
+
* UpdateCustomerDeviceBattery
|
|
6
|
+
*
|
|
7
|
+
* @module ServiceModule
|
|
8
|
+
* @entity CustomerDevice
|
|
9
|
+
* @entityType BATTERY
|
|
10
|
+
* @actionKey UpdateCustomerDeviceBattery
|
|
11
|
+
* @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceBattery
|
|
12
|
+
*
|
|
13
|
+
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
14
|
+
*/
|
|
15
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
16
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
17
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
18
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
19
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
20
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
21
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
22
|
+
});
|
|
23
|
+
};
|
|
24
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
25
|
+
exports.UpdateCustomerDeviceBatteryDto = exports.UpdateCustomerDeviceBatteryBuilder = void 0;
|
|
26
|
+
const core_1 = require("@d19n/odin-types/dist/core");
|
|
27
|
+
/**
|
|
28
|
+
* Builder for UpdateCustomerDeviceBattery action
|
|
29
|
+
*
|
|
30
|
+
* Provides fluent API for adding associations before executing the action.
|
|
31
|
+
* Use .link*() methods to add associations, then call .execute() to run.
|
|
32
|
+
*
|
|
33
|
+
* @example
|
|
34
|
+
* ```typescript
|
|
35
|
+
* await record.updateCustomerDeviceBattery({ ...properties })
|
|
36
|
+
* .linkAssociation_1786439643569({ id: '...', entity: '...' })
|
|
37
|
+
* .execute();
|
|
38
|
+
* ```
|
|
39
|
+
*/
|
|
40
|
+
class UpdateCustomerDeviceBatteryBuilder {
|
|
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 CustomerDevice__OrderItem
|
|
50
|
+
* @schemaAssociationId 29737305-924f-4e32-9dbc-8aab3de2e777
|
|
51
|
+
* @param target - The record to link
|
|
52
|
+
* @returns this (for method chaining)
|
|
53
|
+
*/
|
|
54
|
+
linkAssociation_1786439643569(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
|
+
* Set an external system identifier for this record.
|
|
63
|
+
* Links the record to a corresponding entry in an external application.
|
|
64
|
+
* @param externalId - The ID in the external system
|
|
65
|
+
* @param externalAppId - The external application identifier
|
|
66
|
+
* @returns this (for chaining)
|
|
67
|
+
*/
|
|
68
|
+
withExternalId(externalId, externalAppId) {
|
|
69
|
+
this._externalId = externalId;
|
|
70
|
+
this._externalAppId = externalAppId;
|
|
71
|
+
return this;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Set security/access groups for this record.
|
|
75
|
+
* @param groups - Array of group names
|
|
76
|
+
* @returns this (for chaining)
|
|
77
|
+
*/
|
|
78
|
+
withGroups(groups) {
|
|
79
|
+
this._groups = groups;
|
|
80
|
+
return this;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Get the action payload without executing
|
|
84
|
+
* @returns The action data that would be sent
|
|
85
|
+
*/
|
|
86
|
+
getData() {
|
|
87
|
+
var _a, _b;
|
|
88
|
+
const allAssociations = [...this._associations, ...this._pendingLinks];
|
|
89
|
+
return Object.assign(Object.assign({ id: this._record.id, entity: this._record.entity, type: this._record.type, actionName: 'UpdateCustomerDeviceBattery', 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 }));
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Inject execution context (called by record wrapper)
|
|
93
|
+
* @internal
|
|
94
|
+
*/
|
|
95
|
+
withProvider(provider, moduleName, entityName, clearPendingLinks) {
|
|
96
|
+
this._provider = provider;
|
|
97
|
+
this._moduleName = moduleName;
|
|
98
|
+
this._entityName = entityName;
|
|
99
|
+
this._clearPendingLinks = clearPendingLinks;
|
|
100
|
+
return this;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Execute the action
|
|
104
|
+
* @returns The result from the API
|
|
105
|
+
* @throws Error if withProvider() has not been called
|
|
106
|
+
*/
|
|
107
|
+
execute() {
|
|
108
|
+
var _a;
|
|
109
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
110
|
+
if (!this._provider || !this._moduleName || !this._entityName) {
|
|
111
|
+
throw new Error('Builder not connected to provider. Use the record wrapper API to get an executable builder.');
|
|
112
|
+
}
|
|
113
|
+
const result = yield this._provider._applyAction(this._moduleName, this._entityName, this.getData());
|
|
114
|
+
(_a = this._clearPendingLinks) === null || _a === void 0 ? void 0 : _a.call(this);
|
|
115
|
+
return result;
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/**
|
|
119
|
+
* Returns the request payload without executing (for debugging)
|
|
120
|
+
* @returns The request payload that would be sent to the API
|
|
121
|
+
*/
|
|
122
|
+
dryRun() {
|
|
123
|
+
return this.getData();
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Prevents accidental `await builder` without .execute()
|
|
127
|
+
* @throws Error always - use .execute() or .dryRun() instead
|
|
128
|
+
*/
|
|
129
|
+
then() {
|
|
130
|
+
throw new Error('Builder cannot be awaited directly. Call .execute() to run the action or .dryRun() to get the payload.');
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
exports.UpdateCustomerDeviceBatteryBuilder = UpdateCustomerDeviceBatteryBuilder;
|
|
134
|
+
/**
|
|
135
|
+
* UpdateCustomerDeviceBattery
|
|
136
|
+
*
|
|
137
|
+
* @actionType UPDATE - Updates an existing CustomerDevice record
|
|
138
|
+
* @module ServiceModule
|
|
139
|
+
* @entity CustomerDevice
|
|
140
|
+
* @entityType BATTERY (Battery Backup)
|
|
141
|
+
* @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceBattery
|
|
142
|
+
* @permission schema.action.updatecustomerdevicebattery.trigger
|
|
143
|
+
* @benchmark This action is tracked for performance benchmarks
|
|
144
|
+
*/
|
|
145
|
+
class UpdateCustomerDeviceBatteryDto extends core_1.OdinRecordUpdateDto {
|
|
146
|
+
constructor(record, properties, options) {
|
|
147
|
+
super({
|
|
148
|
+
id: record.id,
|
|
149
|
+
entity: record.entity,
|
|
150
|
+
type: record.type,
|
|
151
|
+
properties,
|
|
152
|
+
journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
|
|
153
|
+
stageKey: options === null || options === void 0 ? void 0 : options.stageKey,
|
|
154
|
+
});
|
|
155
|
+
this.actionName = 'UpdateCustomerDeviceBattery';
|
|
156
|
+
this.schemaActionId = '558ed6c2-7162-4131-9508-fdd7932f2b63';
|
|
157
|
+
this.entity = 'ServiceModule:CustomerDevice';
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
exports.UpdateCustomerDeviceBatteryDto = UpdateCustomerDeviceBatteryDto;
|
|
161
|
+
/** Used by SDK generators to identify action type */
|
|
162
|
+
UpdateCustomerDeviceBatteryDto.ACTION_TYPE = 'UPDATE';
|
|
163
|
+
UpdateCustomerDeviceBatteryDto.ACTION_KEY = 'UpdateCustomerDeviceBattery';
|
|
164
|
+
UpdateCustomerDeviceBatteryDto.MODULE_NAME = 'ServiceModule';
|
|
165
|
+
UpdateCustomerDeviceBatteryDto.ENTITIES = ['CustomerDevice'];
|
|
166
|
+
UpdateCustomerDeviceBatteryDto.ENTITY_TYPE = 'BATTERY';
|
|
167
|
+
UpdateCustomerDeviceBatteryDto.EVENT_NAME = 'k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceBattery';
|
|
168
|
+
UpdateCustomerDeviceBatteryDto.PERMISSION = 'schema.action.updatecustomerdevicebattery.trigger';
|
|
169
|
+
/** Step metadata - entity this action targets */
|
|
170
|
+
UpdateCustomerDeviceBatteryDto.STEP_ENTITY = 'ServiceModule:CustomerDevice';
|
|
171
|
+
UpdateCustomerDeviceBatteryDto.STEP_SCHEMA_ID = 'a72ffce5-0294-4038-8fb1-45fad5e4e473';
|
|
172
|
+
UpdateCustomerDeviceBatteryDto.STEP_SCHEMA_ACTION_ID = '558ed6c2-7162-4131-9508-fdd7932f2b63';
|
|
173
|
+
UpdateCustomerDeviceBatteryDto.STEP_SCHEMA_TYPE_ID = 'bddbd043-c985-4eaf-9202-eb9dbe18c5e3';
|
|
174
|
+
UpdateCustomerDeviceBatteryDto.STEP_TYPE = 'BATTERY';
|
|
175
|
+
UpdateCustomerDeviceBatteryDto.AUTO_LINK_PARENT = false;
|
|
176
|
+
UpdateCustomerDeviceBatteryDto.HAS_ASSOCIATIONS = true;
|
|
177
|
+
UpdateCustomerDeviceBatteryDto.HAS_REQUIRED_ASSOCIATIONS = false;
|
|
178
|
+
UpdateCustomerDeviceBatteryDto.BUILDER_CLASS = 'UpdateCustomerDeviceBatteryBuilder';
|
|
179
|
+
UpdateCustomerDeviceBatteryDto.ASSOCIATION_FIELDS = [{ "name": "Association_1786439643569", "methodName": "linkAssociation_1786439643569", "required": false, "schemaAssociationId": "29737305-924f-4e32-9dbc-8aab3de2e777" }];
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* YfWifiSurvey DB Accessor
|
|
3
|
+
*
|
|
4
|
+
* Provides typed access to YfWifiSurvey records via direct database access.
|
|
5
|
+
* For use in backend services with principal + dbService.
|
|
6
|
+
* Returns wrapped records with typed action methods.
|
|
7
|
+
*
|
|
8
|
+
* @example
|
|
9
|
+
* ```typescript
|
|
10
|
+
* // Simple get
|
|
11
|
+
* const record = await accessor.get(id);
|
|
12
|
+
*
|
|
13
|
+
* // With related entities
|
|
14
|
+
* const record = await accessor.get(id, { entities: ["Contact", "Address"] });
|
|
15
|
+
*
|
|
16
|
+
* // With permissions bypass (separate options)
|
|
17
|
+
* const record = await accessor.get(id, {}, { omitPermissionsCheck: true });
|
|
18
|
+
*
|
|
19
|
+
* // Silent write (no RabbitMQ events)
|
|
20
|
+
* const result = await accessor.upsert([dto], { omitWriteEvents: true });
|
|
21
|
+
*
|
|
22
|
+
* // Constructor-level default (applies to all calls)
|
|
23
|
+
* const accessor = new YfWifiSurveyDbAccessor(principal, dbService, { omitPermissionsCheck: true });
|
|
24
|
+
* ```
|
|
25
|
+
*
|
|
26
|
+
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
27
|
+
*/
|
|
28
|
+
import { OdinSearchV2 } from '@d19n/odin-types/dist/core';
|
|
29
|
+
import { DbProvider, DbProviderOptions, DbGetQueryOptions } from '@d19n/odin-sdk-generator/dist/db.provider';
|
|
30
|
+
import { QueryBuilder } from '@d19n/odin-sdk-generator/dist/query-builder';
|
|
31
|
+
import { YfWifiSurveyProperties } from '../entities-v2/YfWifiSurvey';
|
|
32
|
+
import { YfWifiSurveyRecord } from '../records-v2/YfWifiSurveyRecord';
|
|
33
|
+
/** Search response with wrapped records */
|
|
34
|
+
export interface YfWifiSurveyDbSearchResponse {
|
|
35
|
+
records: YfWifiSurveyRecord[];
|
|
36
|
+
totalRecords: number;
|
|
37
|
+
hasMore: boolean;
|
|
38
|
+
}
|
|
39
|
+
export declare class YfWifiSurveyDbAccessor {
|
|
40
|
+
private readonly _provider;
|
|
41
|
+
private readonly _moduleName;
|
|
42
|
+
private readonly _entityName;
|
|
43
|
+
private readonly _defaultOptions?;
|
|
44
|
+
/**
|
|
45
|
+
* Create a new YfWifiSurveyDbAccessor
|
|
46
|
+
* @param principal - The authenticated principal
|
|
47
|
+
* @param dbService - The database service instance
|
|
48
|
+
* @param defaultOptions - Default provider options applied to all operations
|
|
49
|
+
*/
|
|
50
|
+
constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
|
|
51
|
+
get moduleName(): string;
|
|
52
|
+
get entityName(): string;
|
|
53
|
+
/**
|
|
54
|
+
* Create a new empty YfWifiSurvey record instance for create operations.
|
|
55
|
+
* Pre-generates an ID that can be referenced before the record is saved.
|
|
56
|
+
*
|
|
57
|
+
* @param id - Optional ID to use (auto-generated UUID if not provided)
|
|
58
|
+
* @returns A new record wrapper with pre-generated ID
|
|
59
|
+
*
|
|
60
|
+
* @example
|
|
61
|
+
* ```typescript
|
|
62
|
+
* // Auto-generated ID
|
|
63
|
+
* const note = odinDb.notes.new();
|
|
64
|
+
* console.log(note.id); // UUID available immediately
|
|
65
|
+
*
|
|
66
|
+
* // Custom ID
|
|
67
|
+
* const order = odinDb.orders.new("custom-id-123");
|
|
68
|
+
*
|
|
69
|
+
* // Reference ID before save
|
|
70
|
+
* const account = odinDb.accounts.new();
|
|
71
|
+
* const contact = odinDb.contacts.new();
|
|
72
|
+
* await contact
|
|
73
|
+
* .link({ id: account.id, entity: "CrmModule:Account" })
|
|
74
|
+
* .createContact({ FirstName: "John" });
|
|
75
|
+
* ```
|
|
76
|
+
*/
|
|
77
|
+
new(id?: string): YfWifiSurveyRecord;
|
|
78
|
+
/**
|
|
79
|
+
* Get a single YfWifiSurvey record by ID
|
|
80
|
+
*
|
|
81
|
+
* @param id - The record ID
|
|
82
|
+
* @param queryOptions - Query options (WHAT to fetch: entities to include)
|
|
83
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
84
|
+
*
|
|
85
|
+
* @example
|
|
86
|
+
* ```typescript
|
|
87
|
+
* // Simple get
|
|
88
|
+
* const record = await accessor.get(id);
|
|
89
|
+
*
|
|
90
|
+
* // With related entities
|
|
91
|
+
* const record = await accessor.get(id, { entities: ["Contact", "Address"] });
|
|
92
|
+
*
|
|
93
|
+
* // With permissions bypass
|
|
94
|
+
* const record = await accessor.get(id, {}, { omitPermissionsCheck: true });
|
|
95
|
+
*
|
|
96
|
+
* // Both options
|
|
97
|
+
* const record = await accessor.get(id, { entities: ["Invoice"] }, { omitPermissionsCheck: true });
|
|
98
|
+
* ```
|
|
99
|
+
*/
|
|
100
|
+
get(id: string, queryOptions?: DbGetQueryOptions, providerOptions?: DbProviderOptions): Promise<YfWifiSurveyRecord>;
|
|
101
|
+
/**
|
|
102
|
+
* Get multiple YfWifiSurvey records by IDs
|
|
103
|
+
*
|
|
104
|
+
* @param ids - Array of record IDs
|
|
105
|
+
* @param queryOptions - Query options (WHAT to fetch: entities to include)
|
|
106
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
107
|
+
*/
|
|
108
|
+
getMany(ids: string[], queryOptions?: DbGetQueryOptions, providerOptions?: DbProviderOptions): Promise<YfWifiSurveyRecord[]>;
|
|
109
|
+
/**
|
|
110
|
+
* Search YfWifiSurvey records
|
|
111
|
+
*
|
|
112
|
+
* @param params - Search parameters
|
|
113
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
114
|
+
*/
|
|
115
|
+
search(params: Partial<OdinSearchV2>, providerOptions?: DbProviderOptions): Promise<YfWifiSurveyDbSearchResponse>;
|
|
116
|
+
/**
|
|
117
|
+
* Search all YfWifiSurvey records with automatic pagination
|
|
118
|
+
*
|
|
119
|
+
* @param params - Search parameters
|
|
120
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
121
|
+
*/
|
|
122
|
+
searchAll(params: Partial<OdinSearchV2>, providerOptions?: DbProviderOptions): Promise<YfWifiSurveyRecord[]>;
|
|
123
|
+
/**
|
|
124
|
+
* Async generator for paginating through all matching records.
|
|
125
|
+
* Yields batches of wrapped records.
|
|
126
|
+
*
|
|
127
|
+
* @param params - Search parameters
|
|
128
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
129
|
+
*/
|
|
130
|
+
paginate(params: Partial<OdinSearchV2>, providerOptions?: DbProviderOptions): AsyncGenerator<YfWifiSurveyRecord[]>;
|
|
131
|
+
/**
|
|
132
|
+
* Create a fluent query builder for YfWifiSurvey records
|
|
133
|
+
*
|
|
134
|
+
* @example
|
|
135
|
+
* ```typescript
|
|
136
|
+
* const results = await accessor
|
|
137
|
+
* .query()
|
|
138
|
+
* .where('Status', 'in', ['Active', 'Pending'])
|
|
139
|
+
* .where('CreatedAt', 'gte', '2025-01-01')
|
|
140
|
+
* .select('id', 'title', 'properties.*')
|
|
141
|
+
* .sortBy('createdAt', 'desc')
|
|
142
|
+
* .limit(100)
|
|
143
|
+
* .execute();
|
|
144
|
+
* ```
|
|
145
|
+
*/
|
|
146
|
+
query(): QueryBuilder<YfWifiSurveyProperties, YfWifiSurveyRecord>;
|
|
147
|
+
/** Access the underlying DbProvider */
|
|
148
|
+
get provider(): DbProvider;
|
|
149
|
+
}
|
|
@@ -0,0 +1,227 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* YfWifiSurvey DB Accessor
|
|
4
|
+
*
|
|
5
|
+
* Provides typed access to YfWifiSurvey records via direct database access.
|
|
6
|
+
* For use in backend services with principal + dbService.
|
|
7
|
+
* Returns wrapped records with typed action methods.
|
|
8
|
+
*
|
|
9
|
+
* @example
|
|
10
|
+
* ```typescript
|
|
11
|
+
* // Simple get
|
|
12
|
+
* const record = await accessor.get(id);
|
|
13
|
+
*
|
|
14
|
+
* // With related entities
|
|
15
|
+
* const record = await accessor.get(id, { entities: ["Contact", "Address"] });
|
|
16
|
+
*
|
|
17
|
+
* // With permissions bypass (separate options)
|
|
18
|
+
* const record = await accessor.get(id, {}, { omitPermissionsCheck: true });
|
|
19
|
+
*
|
|
20
|
+
* // Silent write (no RabbitMQ events)
|
|
21
|
+
* const result = await accessor.upsert([dto], { omitWriteEvents: true });
|
|
22
|
+
*
|
|
23
|
+
* // Constructor-level default (applies to all calls)
|
|
24
|
+
* const accessor = new YfWifiSurveyDbAccessor(principal, dbService, { omitPermissionsCheck: true });
|
|
25
|
+
* ```
|
|
26
|
+
*
|
|
27
|
+
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
28
|
+
*/
|
|
29
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
30
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
31
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
32
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
33
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
34
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
35
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
36
|
+
});
|
|
37
|
+
};
|
|
38
|
+
var __await = (this && this.__await) || function (v) { return this instanceof __await ? (this.v = v, this) : new __await(v); }
|
|
39
|
+
var __asyncGenerator = (this && this.__asyncGenerator) || function (thisArg, _arguments, generator) {
|
|
40
|
+
if (!Symbol.asyncIterator) throw new TypeError("Symbol.asyncIterator is not defined.");
|
|
41
|
+
var g = generator.apply(thisArg, _arguments || []), i, q = [];
|
|
42
|
+
return i = {}, verb("next"), verb("throw"), verb("return"), i[Symbol.asyncIterator] = function () { return this; }, i;
|
|
43
|
+
function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }
|
|
44
|
+
function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }
|
|
45
|
+
function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }
|
|
46
|
+
function fulfill(value) { resume("next", value); }
|
|
47
|
+
function reject(value) { resume("throw", value); }
|
|
48
|
+
function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }
|
|
49
|
+
};
|
|
50
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
51
|
+
exports.YfWifiSurveyDbAccessor = void 0;
|
|
52
|
+
const db_provider_1 = require("@d19n/odin-sdk-generator/dist/db.provider");
|
|
53
|
+
const query_builder_1 = require("@d19n/odin-sdk-generator/dist/query-builder");
|
|
54
|
+
const YfWifiSurveyRecord_1 = require("../records-v2/YfWifiSurveyRecord");
|
|
55
|
+
class YfWifiSurveyDbAccessor {
|
|
56
|
+
/**
|
|
57
|
+
* Create a new YfWifiSurveyDbAccessor
|
|
58
|
+
* @param principal - The authenticated principal
|
|
59
|
+
* @param dbService - The database service instance
|
|
60
|
+
* @param defaultOptions - Default provider options applied to all operations
|
|
61
|
+
*/
|
|
62
|
+
constructor(principal, dbService, defaultOptions) {
|
|
63
|
+
this._moduleName = 'FieldServiceModule';
|
|
64
|
+
this._entityName = 'YfWifiSurvey';
|
|
65
|
+
this._provider = new db_provider_1.DbProvider(principal, dbService, defaultOptions);
|
|
66
|
+
this._defaultOptions = defaultOptions;
|
|
67
|
+
}
|
|
68
|
+
get moduleName() { return this._moduleName; }
|
|
69
|
+
get entityName() { return this._entityName; }
|
|
70
|
+
// ============================================
|
|
71
|
+
// RECORD CREATION
|
|
72
|
+
// ============================================
|
|
73
|
+
/**
|
|
74
|
+
* Create a new empty YfWifiSurvey record instance for create operations.
|
|
75
|
+
* Pre-generates an ID that can be referenced before the record is saved.
|
|
76
|
+
*
|
|
77
|
+
* @param id - Optional ID to use (auto-generated UUID if not provided)
|
|
78
|
+
* @returns A new record wrapper with pre-generated ID
|
|
79
|
+
*
|
|
80
|
+
* @example
|
|
81
|
+
* ```typescript
|
|
82
|
+
* // Auto-generated ID
|
|
83
|
+
* const note = odinDb.notes.new();
|
|
84
|
+
* console.log(note.id); // UUID available immediately
|
|
85
|
+
*
|
|
86
|
+
* // Custom ID
|
|
87
|
+
* const order = odinDb.orders.new("custom-id-123");
|
|
88
|
+
*
|
|
89
|
+
* // Reference ID before save
|
|
90
|
+
* const account = odinDb.accounts.new();
|
|
91
|
+
* const contact = odinDb.contacts.new();
|
|
92
|
+
* await contact
|
|
93
|
+
* .link({ id: account.id, entity: "CrmModule:Account" })
|
|
94
|
+
* .createContact({ FirstName: "John" });
|
|
95
|
+
* ```
|
|
96
|
+
*/
|
|
97
|
+
new(id) {
|
|
98
|
+
return new YfWifiSurveyRecord_1.YfWifiSurveyRecord(null, this._provider, id);
|
|
99
|
+
}
|
|
100
|
+
// ============================================
|
|
101
|
+
// RECORD RETRIEVAL
|
|
102
|
+
// ============================================
|
|
103
|
+
/**
|
|
104
|
+
* Get a single YfWifiSurvey record by ID
|
|
105
|
+
*
|
|
106
|
+
* @param id - The record ID
|
|
107
|
+
* @param queryOptions - Query options (WHAT to fetch: entities to include)
|
|
108
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
109
|
+
*
|
|
110
|
+
* @example
|
|
111
|
+
* ```typescript
|
|
112
|
+
* // Simple get
|
|
113
|
+
* const record = await accessor.get(id);
|
|
114
|
+
*
|
|
115
|
+
* // With related entities
|
|
116
|
+
* const record = await accessor.get(id, { entities: ["Contact", "Address"] });
|
|
117
|
+
*
|
|
118
|
+
* // With permissions bypass
|
|
119
|
+
* const record = await accessor.get(id, {}, { omitPermissionsCheck: true });
|
|
120
|
+
*
|
|
121
|
+
* // Both options
|
|
122
|
+
* const record = await accessor.get(id, { entities: ["Invoice"] }, { omitPermissionsCheck: true });
|
|
123
|
+
* ```
|
|
124
|
+
*/
|
|
125
|
+
get(id, queryOptions, providerOptions) {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
const record = yield this._provider._getByPrimaryKey(this._moduleName, this._entityName, id, queryOptions, providerOptions);
|
|
128
|
+
return new YfWifiSurveyRecord_1.YfWifiSurveyRecord(record, this._provider);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get multiple YfWifiSurvey records by IDs
|
|
133
|
+
*
|
|
134
|
+
* @param ids - Array of record IDs
|
|
135
|
+
* @param queryOptions - Query options (WHAT to fetch: entities to include)
|
|
136
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
137
|
+
*/
|
|
138
|
+
getMany(ids, queryOptions, providerOptions) {
|
|
139
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
140
|
+
if (ids.length === 0)
|
|
141
|
+
return [];
|
|
142
|
+
const records = yield this._provider._getManyByPrimaryKey(this._moduleName, this._entityName, ids, queryOptions, providerOptions);
|
|
143
|
+
return records.map((r) => new YfWifiSurveyRecord_1.YfWifiSurveyRecord(r, this._provider));
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
// ============================================
|
|
147
|
+
// SEARCH OPERATIONS
|
|
148
|
+
// ============================================
|
|
149
|
+
/**
|
|
150
|
+
* Search YfWifiSurvey records
|
|
151
|
+
*
|
|
152
|
+
* @param params - Search parameters
|
|
153
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
154
|
+
*/
|
|
155
|
+
search(params, providerOptions) {
|
|
156
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
157
|
+
const result = yield this._provider._searchRecords(this._moduleName, this._entityName, params, providerOptions);
|
|
158
|
+
return {
|
|
159
|
+
records: result.records.map((r) => new YfWifiSurveyRecord_1.YfWifiSurveyRecord(r, this._provider)),
|
|
160
|
+
totalRecords: result.totalRecords,
|
|
161
|
+
hasMore: result.hasMore,
|
|
162
|
+
};
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Search all YfWifiSurvey records with automatic pagination
|
|
167
|
+
*
|
|
168
|
+
* @param params - Search parameters
|
|
169
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
170
|
+
*/
|
|
171
|
+
searchAll(params, providerOptions) {
|
|
172
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
173
|
+
const result = yield this._provider._searchAllRecordsAndPaginate(this._moduleName, this._entityName, params, 0, providerOptions);
|
|
174
|
+
return result.records.map((r) => new YfWifiSurveyRecord_1.YfWifiSurveyRecord(r, this._provider));
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
/**
|
|
178
|
+
* Async generator for paginating through all matching records.
|
|
179
|
+
* Yields batches of wrapped records.
|
|
180
|
+
*
|
|
181
|
+
* @param params - Search parameters
|
|
182
|
+
* @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
|
|
183
|
+
*/
|
|
184
|
+
paginate(params, providerOptions) {
|
|
185
|
+
var _a;
|
|
186
|
+
return __asyncGenerator(this, arguments, function* paginate_1() {
|
|
187
|
+
let hasMore = true;
|
|
188
|
+
let searchAfter;
|
|
189
|
+
const query = Object.assign(Object.assign({}, params.query), { pageSize: ((_a = params.query) === null || _a === void 0 ? void 0 : _a.pageSize) || 500 });
|
|
190
|
+
while (hasMore) {
|
|
191
|
+
const result = yield __await(this._provider._searchRecords(this._moduleName, this._entityName, Object.assign(Object.assign({}, params), { query: Object.assign(Object.assign({}, query), { searchAfter }) }), providerOptions));
|
|
192
|
+
if (result.records.length > 0) {
|
|
193
|
+
yield yield __await(result.records.map((r) => new YfWifiSurveyRecord_1.YfWifiSurveyRecord(r, this._provider)));
|
|
194
|
+
const lastRecord = result.records[result.records.length - 1];
|
|
195
|
+
searchAfter = lastRecord === null || lastRecord === void 0 ? void 0 : lastRecord.sort;
|
|
196
|
+
}
|
|
197
|
+
hasMore = result.hasMore && result.records.length >= query.pageSize;
|
|
198
|
+
}
|
|
199
|
+
});
|
|
200
|
+
}
|
|
201
|
+
// ============================================
|
|
202
|
+
// QUERY BUILDER
|
|
203
|
+
// ============================================
|
|
204
|
+
/**
|
|
205
|
+
* Create a fluent query builder for YfWifiSurvey records
|
|
206
|
+
*
|
|
207
|
+
* @example
|
|
208
|
+
* ```typescript
|
|
209
|
+
* const results = await accessor
|
|
210
|
+
* .query()
|
|
211
|
+
* .where('Status', 'in', ['Active', 'Pending'])
|
|
212
|
+
* .where('CreatedAt', 'gte', '2025-01-01')
|
|
213
|
+
* .select('id', 'title', 'properties.*')
|
|
214
|
+
* .sortBy('createdAt', 'desc')
|
|
215
|
+
* .limit(100)
|
|
216
|
+
* .execute();
|
|
217
|
+
* ```
|
|
218
|
+
*/
|
|
219
|
+
query() {
|
|
220
|
+
return (0, query_builder_1.createQueryBuilder)(this);
|
|
221
|
+
}
|
|
222
|
+
/** Access the underlying DbProvider */
|
|
223
|
+
get provider() {
|
|
224
|
+
return this._provider;
|
|
225
|
+
}
|
|
226
|
+
}
|
|
227
|
+
exports.YfWifiSurveyDbAccessor = YfWifiSurveyDbAccessor;
|
|
@@ -121,3 +121,4 @@ export { WayleaveAuditDbAccessor, WayleaveAuditDbSearchResponse } from './Waylea
|
|
|
121
121
|
export { WorkOrderDbAccessor, WorkOrderDbSearchResponse } from './WorkOrderDbAccessor';
|
|
122
122
|
export { WorkOrderStatusUpdateDbAccessor, WorkOrderStatusUpdateDbSearchResponse } from './WorkOrderStatusUpdateDbAccessor';
|
|
123
123
|
export { YfFieldServiceVisitDbAccessor, YfFieldServiceVisitDbSearchResponse } from './YfFieldServiceVisitDbAccessor';
|
|
124
|
+
export { YfWifiSurveyDbAccessor, YfWifiSurveyDbSearchResponse } from './YfWifiSurveyDbAccessor';
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.NoteDbAccessor = exports.NetworkDeviceDbAccessor = exports.ModifyServiceRequestDbAccessor = exports.MessageDbAccessor = exports.LeadDbAccessor = exports.KnowledgeArticleDbAccessor = exports.InvoiceDbAccessor = exports.InvoiceItemDbAccessor = exports.ImpersonationTrackerDbAccessor = exports.FileDbAccessor = exports.FieldServiceProductDbAccessor = exports.FieldServiceDispatchedProductDbAccessor = exports.ExchangeDbAccessor = exports.EmailTemplateDbAccessor = exports.EmailSenderDbAccessor = exports.EmailDbAccessor = exports.DiscountDbAccessor = exports.DataIssueDbAccessor = exports.CustomerPhonePortingDbAccessor = exports.CustomerDeviceRouterDbAccessor = exports.CustomerDeviceDbAccessor = exports.CustomerDeviceOntDbAccessor = exports.CustomerDeviceConfigurationDbAccessor = exports.CustomerDeviceAtaDbAccessor = exports.CrmDatasetDbAccessor = exports.CreditNoteDbAccessor = exports.ConversationSummaryFeedbackDbAccessor = exports.ConversationDbAccessor = exports.ContractBuyOutDbAccessor = exports.ContactDbAccessor = exports.ContactIdentityDbAccessor = exports.ConfigDbAccessor = exports.ChurnRequestDbAccessor = exports.ChangeReasonDbAccessor = exports.CaseDbAccessor = exports.CampaignDbAccessor = exports.CallDbAccessor = exports.CallLegDbAccessor = exports.BrskEntityMigrationErrorDbAccessor = exports.BngProvisionDbAccessor = exports.BillingRequestDbAccessor = exports.BillingAdjustmentDbAccessor = exports.AppointmentDbAccessor = exports.AffiliateCodeDbAccessor = exports.AddressDbAccessor = exports.AddressInteractionDbAccessor = exports.ActivityDbAccessor = exports.ActivityLogDbAccessor = exports.AccountDbAccessor = exports.AccountCreditDbAccessor = void 0;
|
|
13
13
|
exports.TimeSlotDbAccessor = exports.TeamDbAccessor = exports.SmsMessageDbAccessor = exports.SiteSpecificRiskAssessmentOutcomeFormDbAccessor = exports.ServiceDbAccessor = exports.ServiceAppointmentDbAccessor = exports.ServiceAppointmentConfigDbAccessor = exports.ScheduleSlotDbAccessor = exports.SalesTerritoryDbAccessor = exports.RewardDbAccessor = exports.ReturnsDbAccessor = exports.RemediationRequiredReasonDbAccessor = exports.RemediationOutcomeFormDbAccessor = exports.RegionDbAccessor = exports.ReferralDbAccessor = exports.PushNotificationDbAccessor = exports.ProductDbAccessor = exports.PriceBookDbAccessor = exports.PgWebhookDbAccessor = exports.PgWebhookAttemptDbAccessor = exports.PgVocalinkDbAccessor = exports.PgTransactionDbAccessor = exports.PgSortCodeSubstitutionDbAccessor = exports.PgReportEventDbAccessor = exports.PgPaymentMethodDbAccessor = exports.PgLogDbAccessor = exports.PgFileAllocationDbAccessor = exports.PgDisputeDbAccessor = exports.PgDirectDebitFileDbAccessor = exports.PgContactDbAccessor = exports.PgAccountValidationDbAccessor = exports.PermissionToFailDbAccessor = exports.PaymentDbAccessor = exports.PaymentMethodRefundDbAccessor = exports.PaymentMethodDbAccessor = exports.PICRequestDbAccessor = exports.OverlayRealA55DbAccessor = exports.OutboundDialSessionDbAccessor = exports.OutboundDialCampaignDbAccessor = exports.OutboundDialCampaignCaseDbAccessor = exports.OutageDbAccessor = exports.OrderDbAccessor = exports.OrderKciDbAccessor = exports.OrderItemDbAccessor = exports.OrderCheckDbAccessor = exports.OntReplacementApprovalDbAccessor = exports.OneTouchSwitchDbAccessor = exports.OhExternalAuditDbAccessor = exports.OfferTemplateDbAccessor = exports.OfferDbAccessor = void 0;
|
|
14
|
-
exports.YfFieldServiceVisitDbAccessor = exports.WorkOrderStatusUpdateDbAccessor = exports.WorkOrderDbAccessor = exports.WayleaveAuditDbAccessor = exports.VoiceConfigurationDbAccessor = exports.VisitDbAccessor = exports.UserDbAccessor = exports.UgExternalAuditDbAccessor = exports.TwilioWorkerDbAccessor = exports.TwilioUserUpdateDbAccessor = exports.TwilioTaskQueueDbAccessor = exports.TwilioCallEventDbAccessor = exports.TwilioActivityDbAccessor = exports.TransactionDbAccessor = void 0;
|
|
14
|
+
exports.YfWifiSurveyDbAccessor = exports.YfFieldServiceVisitDbAccessor = exports.WorkOrderStatusUpdateDbAccessor = exports.WorkOrderDbAccessor = exports.WayleaveAuditDbAccessor = exports.VoiceConfigurationDbAccessor = exports.VisitDbAccessor = exports.UserDbAccessor = exports.UgExternalAuditDbAccessor = exports.TwilioWorkerDbAccessor = exports.TwilioUserUpdateDbAccessor = exports.TwilioTaskQueueDbAccessor = exports.TwilioCallEventDbAccessor = exports.TwilioActivityDbAccessor = exports.TransactionDbAccessor = void 0;
|
|
15
15
|
var AccountCreditDbAccessor_1 = require("./AccountCreditDbAccessor");
|
|
16
16
|
Object.defineProperty(exports, "AccountCreditDbAccessor", { enumerable: true, get: function () { return AccountCreditDbAccessor_1.AccountCreditDbAccessor; } });
|
|
17
17
|
var AccountDbAccessor_1 = require("./AccountDbAccessor");
|
|
@@ -240,3 +240,5 @@ var WorkOrderStatusUpdateDbAccessor_1 = require("./WorkOrderStatusUpdateDbAccess
|
|
|
240
240
|
Object.defineProperty(exports, "WorkOrderStatusUpdateDbAccessor", { enumerable: true, get: function () { return WorkOrderStatusUpdateDbAccessor_1.WorkOrderStatusUpdateDbAccessor; } });
|
|
241
241
|
var YfFieldServiceVisitDbAccessor_1 = require("./YfFieldServiceVisitDbAccessor");
|
|
242
242
|
Object.defineProperty(exports, "YfFieldServiceVisitDbAccessor", { enumerable: true, get: function () { return YfFieldServiceVisitDbAccessor_1.YfFieldServiceVisitDbAccessor; } });
|
|
243
|
+
var YfWifiSurveyDbAccessor_1 = require("./YfWifiSurveyDbAccessor");
|
|
244
|
+
Object.defineProperty(exports, "YfWifiSurveyDbAccessor", { enumerable: true, get: function () { return YfWifiSurveyDbAccessor_1.YfWifiSurveyDbAccessor; } });
|
|
@@ -552,6 +552,8 @@ export declare enum OrderPropertyKeys {
|
|
|
552
552
|
RequestedActivationDate = "RequestedActivationDate",
|
|
553
553
|
/** I have read and confirm receipt of the Contract Summary. I consent to the Privacy Policy and acknowledge receipt of the T&Cs. (Sales - Contact) */
|
|
554
554
|
ContractConsent = "ContractConsent",
|
|
555
|
+
/** The early termination fee quoted for this order (VAT-inclusive, totalGross from the ETF quote calculation). Written by EarlyTerminationService.getQuote on every quote call, for any caller and any atDate — a hypothetical quote overwrites the "as of now" value (deliberate, see CASES-1640). Direct input to the ETF <= £330 eligibility rule in the product-selection flow (WEB-1421 / PORTAPP-2651). */
|
|
556
|
+
EarlyTerminationFee = "EarlyTerminationFee",
|
|
555
557
|
/** AltContactMethod */
|
|
556
558
|
AltContactMethod = "AltContactMethod",
|
|
557
559
|
/** MobileCoverage */
|
|
@@ -1150,6 +1152,12 @@ export interface OrderProperties {
|
|
|
1150
1152
|
* @type {BOOLEAN}
|
|
1151
1153
|
*/
|
|
1152
1154
|
ContractConsent: boolean;
|
|
1155
|
+
/** The early termination fee quoted for this order (VAT-inclusive, totalGross from the ETF quote calculation). Written by EarlyTerminationService.getQuote on every quote call, for any caller and any atDate — a hypothetical quote overwrites the "as of now" value (deliberate, see CASES-1640). Direct input to the ETF <= £330 eligibility rule in the product-selection flow (WEB-1421 / PORTAPP-2651).
|
|
1156
|
+
*
|
|
1157
|
+
* @type {NUMBER}
|
|
1158
|
+
* @default
|
|
1159
|
+
*/
|
|
1160
|
+
EarlyTerminationFee: number;
|
|
1153
1161
|
/** AltContactMethod
|
|
1154
1162
|
*
|
|
1155
1163
|
* @type {ENUM}
|
|
@@ -536,6 +536,8 @@ var OrderPropertyKeys;
|
|
|
536
536
|
OrderPropertyKeys["RequestedActivationDate"] = "RequestedActivationDate";
|
|
537
537
|
/** I have read and confirm receipt of the Contract Summary. I consent to the Privacy Policy and acknowledge receipt of the T&Cs. (Sales - Contact) */
|
|
538
538
|
OrderPropertyKeys["ContractConsent"] = "ContractConsent";
|
|
539
|
+
/** The early termination fee quoted for this order (VAT-inclusive, totalGross from the ETF quote calculation). Written by EarlyTerminationService.getQuote on every quote call, for any caller and any atDate — a hypothetical quote overwrites the "as of now" value (deliberate, see CASES-1640). Direct input to the ETF <= £330 eligibility rule in the product-selection flow (WEB-1421 / PORTAPP-2651). */
|
|
540
|
+
OrderPropertyKeys["EarlyTerminationFee"] = "EarlyTerminationFee";
|
|
539
541
|
/** AltContactMethod */
|
|
540
542
|
OrderPropertyKeys["AltContactMethod"] = "AltContactMethod";
|
|
541
543
|
/** MobileCoverage */
|
|
@@ -257,7 +257,7 @@ export declare class ConversationRecord<TProps = ConversationProperties> {
|
|
|
257
257
|
* const payload = record.createConversation({ ... }).dryRun();
|
|
258
258
|
* ```
|
|
259
259
|
*/
|
|
260
|
-
createConversation(properties
|
|
260
|
+
createConversation(properties: CreateConversationProperties, options?: {
|
|
261
261
|
type?: string;
|
|
262
262
|
journeyId?: string;
|
|
263
263
|
stageKey?: string;
|