@d19n/youfibre-odin-sdk 2.0.382 → 2.0.384

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (53) hide show
  1. package/README.md +24 -1
  2. package/dist/EntityRegistry.d.ts +2 -0
  3. package/dist/EntityRegistry.js +2 -0
  4. package/dist/OdinApiClient.d.ts +4 -0
  5. package/dist/OdinApiClient.js +8 -0
  6. package/dist/OdinDbClient.d.ts +4 -0
  7. package/dist/OdinDbClient.js +8 -0
  8. package/dist/accessors-v2/TaskAccessor.d.ts +112 -0
  9. package/dist/accessors-v2/TaskAccessor.js +191 -0
  10. package/dist/accessors-v2/index.d.ts +1 -0
  11. package/dist/accessors-v2/index.js +3 -1
  12. package/dist/actions-v2/CreateCaseWithDpaDto.d.ts +8 -1
  13. package/dist/actions-v2/CreateOtsGainingMatchRequestConfirmedDto.d.ts +135 -0
  14. package/dist/actions-v2/CreateOtsGainingMatchRequestConfirmedDto.js +59 -0
  15. package/dist/actions-v2/CreateOtsGainingMatchRequestFailedDto.d.ts +135 -0
  16. package/dist/actions-v2/CreateOtsGainingMatchRequestFailedDto.js +59 -0
  17. package/dist/actions-v2/MoveTaskToDoneDto.d.ts +67 -0
  18. package/dist/actions-v2/MoveTaskToDoneDto.js +59 -0
  19. package/dist/actions-v2/MoveTaskToInProgressDto.d.ts +67 -0
  20. package/dist/actions-v2/MoveTaskToInProgressDto.js +59 -0
  21. package/dist/actions-v2/MoveTaskToOnHoldDto.d.ts +67 -0
  22. package/dist/actions-v2/MoveTaskToOnHoldDto.js +59 -0
  23. package/dist/actions-v2/MoveTaskToStopDto.d.ts +67 -0
  24. package/dist/actions-v2/MoveTaskToStopDto.js +59 -0
  25. package/dist/actions-v2/MoveTaskToTodoDto.d.ts +67 -0
  26. package/dist/actions-v2/MoveTaskToTodoDto.js +59 -0
  27. package/dist/actions-v2/UpdateAddressAvailabilityChecksDto.d.ts +79 -0
  28. package/dist/actions-v2/UpdateAddressAvailabilityChecksDto.js +56 -0
  29. package/dist/api-sdk-v2/RouterPingSnapshotApi.d.ts +2 -2
  30. package/dist/api-sdk-v2/RouterPingSnapshotApi.js +4 -4
  31. package/dist/db-accessors-v2/TaskDbAccessor.d.ts +180 -0
  32. package/dist/db-accessors-v2/TaskDbAccessor.js +265 -0
  33. package/dist/db-accessors-v2/index.d.ts +1 -0
  34. package/dist/db-accessors-v2/index.js +3 -1
  35. package/dist/db-sdk-v2/RouterPingSnapshotDb.d.ts +2 -2
  36. package/dist/db-sdk-v2/RouterPingSnapshotDb.js +4 -4
  37. package/dist/entities-v2/Address.d.ts +17 -1
  38. package/dist/entities-v2/Address.js +4 -0
  39. package/dist/entities-v2/Case.d.ts +17 -1
  40. package/dist/entities-v2/Case.js +2 -0
  41. package/dist/entities-v2/OrderItem.d.ts +5 -1
  42. package/dist/entities-v2/OrderItem.js +5 -1
  43. package/dist/records-v2/AddressRecord.d.ts +28 -0
  44. package/dist/records-v2/AddressRecord.js +37 -0
  45. package/dist/records-v2/EmailRecord.d.ts +58 -0
  46. package/dist/records-v2/EmailRecord.js +72 -0
  47. package/dist/records-v2/NoteRecord.d.ts +20 -0
  48. package/dist/records-v2/NoteRecord.js +33 -0
  49. package/dist/records-v2/TaskRecord.d.ts +283 -0
  50. package/dist/records-v2/TaskRecord.js +370 -0
  51. package/dist/records-v2/index.d.ts +1 -0
  52. package/dist/records-v2/index.js +5 -2
  53. package/package.json +1 -1
@@ -0,0 +1,180 @@
1
+ /**
2
+ * Task DB Accessor
3
+ *
4
+ * Provides typed access to Task 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 TaskDbAccessor(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, DbExternalIdQueryOptions } from '@d19n/odin-sdk-generator/dist/db.provider';
30
+ import { QueryBuilder } from '@d19n/odin-sdk-generator/dist/query-builder';
31
+ import { TaskProperties } from '../entities-v2/Task';
32
+ import { TaskRecord } from '../records-v2/TaskRecord';
33
+ /** Search response with wrapped records */
34
+ export interface TaskDbSearchResponse {
35
+ records: TaskRecord[];
36
+ totalRecords: number;
37
+ hasMore: boolean;
38
+ aggregations?: Record<string, any>;
39
+ }
40
+ export declare class TaskDbAccessor {
41
+ private readonly _provider;
42
+ private readonly _moduleName;
43
+ private readonly _entityName;
44
+ private readonly _defaultOptions?;
45
+ /**
46
+ * Create a new TaskDbAccessor
47
+ * @param principal - The authenticated principal
48
+ * @param dbService - The database service instance
49
+ * @param defaultOptions - Default provider options applied to all operations
50
+ */
51
+ constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
52
+ get moduleName(): string;
53
+ get entityName(): string;
54
+ /**
55
+ * Create a new empty Task record instance for create operations.
56
+ * Pre-generates an ID that can be referenced before the record is saved.
57
+ *
58
+ * @param id - Optional ID to use (auto-generated UUID if not provided)
59
+ * @returns A new record wrapper with pre-generated ID
60
+ *
61
+ * @example
62
+ * ```typescript
63
+ * // Auto-generated ID
64
+ * const note = odinDb.notes.new();
65
+ * console.log(note.id); // UUID available immediately
66
+ *
67
+ * // Custom ID
68
+ * const order = odinDb.orders.new("custom-id-123");
69
+ *
70
+ * // Reference ID before save
71
+ * const account = odinDb.accounts.new();
72
+ * const contact = odinDb.contacts.new();
73
+ * await contact
74
+ * .link({ id: account.id, entity: "CrmModule:Account" })
75
+ * .createContact({ FirstName: "John" });
76
+ * ```
77
+ */
78
+ new(id?: string): TaskRecord;
79
+ /**
80
+ * Get a single Task record by ID
81
+ *
82
+ * @param id - The record ID
83
+ * @param queryOptions - Query options (WHAT to fetch: entities to include)
84
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
85
+ *
86
+ * @example
87
+ * ```typescript
88
+ * // Simple get
89
+ * const record = await accessor.get(id);
90
+ *
91
+ * // With related entities
92
+ * const record = await accessor.get(id, { entities: ["Contact", "Address"] });
93
+ *
94
+ * // With permissions bypass
95
+ * const record = await accessor.get(id, {}, { omitPermissionsCheck: true });
96
+ *
97
+ * // Both options
98
+ * const record = await accessor.get(id, { entities: ["Invoice"] }, { omitPermissionsCheck: true });
99
+ * ```
100
+ */
101
+ get(id: string, queryOptions?: DbGetQueryOptions, providerOptions?: DbProviderOptions): Promise<TaskRecord>;
102
+ /**
103
+ * Get multiple Task records by IDs
104
+ *
105
+ * @param ids - Array of record IDs
106
+ * @param queryOptions - Query options (WHAT to fetch: entities to include)
107
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
108
+ */
109
+ getMany(ids: string[], queryOptions?: DbGetQueryOptions, providerOptions?: DbProviderOptions): Promise<TaskRecord[]>;
110
+ /**
111
+ * Get Task records by the RECORD-LEVEL external id.
112
+ *
113
+ * Resolved server-side in Postgres against `record.external_id` - not a property
114
+ * search, and not reachable through `query()` (`externalId` is not a queryable
115
+ * column). Use this when an external system hands back its own identifier.
116
+ *
117
+ * Platform limits: max 5000 ids per call, each at most 36 characters. An unknown
118
+ * `type` is rejected with 400 `invalid type`.
119
+ *
120
+ * @param externalIds - The external ids to match (plural - the platform takes an array)
121
+ * @param queryOptions - Query options (WHAT to fetch: narrow by record type)
122
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck, withLinks)
123
+ *
124
+ * @example
125
+ * ```typescript
126
+ * // Correlate a provider webhook back to the record it wrote
127
+ * const [message] = await accessor.getManyByExternalId([body.SmsSid]);
128
+ *
129
+ * // Narrowed by record type
130
+ * const closures = await accessor.getManyByExternalId(refs, { type: 'CLOSURE' });
131
+ *
132
+ * // Background job, no link hydration
133
+ * const records = await accessor.getManyByExternalId(refs, undefined, {
134
+ * omitPermissionsCheck: true,
135
+ * withLinks: false,
136
+ * });
137
+ * ```
138
+ */
139
+ getManyByExternalId(externalIds: string[], queryOptions?: DbExternalIdQueryOptions, providerOptions?: DbProviderOptions): Promise<TaskRecord[]>;
140
+ /**
141
+ * Search Task records
142
+ *
143
+ * @param params - Search parameters
144
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
145
+ */
146
+ search(params: Partial<OdinSearchV2>, providerOptions?: DbProviderOptions): Promise<TaskDbSearchResponse>;
147
+ /**
148
+ * Search all Task records with automatic pagination
149
+ *
150
+ * @param params - Search parameters
151
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
152
+ */
153
+ searchAll(params: Partial<OdinSearchV2>, providerOptions?: DbProviderOptions): Promise<TaskRecord[]>;
154
+ /**
155
+ * Async generator for paginating through all matching records.
156
+ * Yields batches of wrapped records.
157
+ *
158
+ * @param params - Search parameters
159
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
160
+ */
161
+ paginate(params: Partial<OdinSearchV2>, providerOptions?: DbProviderOptions): AsyncGenerator<TaskRecord[]>;
162
+ /**
163
+ * Create a fluent query builder for Task records
164
+ *
165
+ * @example
166
+ * ```typescript
167
+ * const results = await accessor
168
+ * .query()
169
+ * .where('Status', 'in', ['Active', 'Pending'])
170
+ * .where('CreatedAt', 'gte', '2025-01-01')
171
+ * .select('id', 'title', 'properties.*')
172
+ * .sortBy('createdAt', 'desc')
173
+ * .limit(100)
174
+ * .execute();
175
+ * ```
176
+ */
177
+ query(): QueryBuilder<TaskProperties, TaskRecord>;
178
+ /** Access the underlying DbProvider */
179
+ get provider(): DbProvider;
180
+ }
@@ -0,0 +1,265 @@
1
+ "use strict";
2
+ /**
3
+ * Task DB Accessor
4
+ *
5
+ * Provides typed access to Task 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 TaskDbAccessor(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.TaskDbAccessor = 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 TaskRecord_1 = require("../records-v2/TaskRecord");
55
+ class TaskDbAccessor {
56
+ /**
57
+ * Create a new TaskDbAccessor
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 = 'ProjectModule';
64
+ this._entityName = 'Task';
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 Task 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 TaskRecord_1.TaskRecord(null, this._provider, id);
99
+ }
100
+ // ============================================
101
+ // RECORD RETRIEVAL
102
+ // ============================================
103
+ /**
104
+ * Get a single Task 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 TaskRecord_1.TaskRecord(record, this._provider);
129
+ });
130
+ }
131
+ /**
132
+ * Get multiple Task 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 TaskRecord_1.TaskRecord(r, this._provider));
144
+ });
145
+ }
146
+ /**
147
+ * Get Task records by the RECORD-LEVEL external id.
148
+ *
149
+ * Resolved server-side in Postgres against `record.external_id` - not a property
150
+ * search, and not reachable through `query()` (`externalId` is not a queryable
151
+ * column). Use this when an external system hands back its own identifier.
152
+ *
153
+ * Platform limits: max 5000 ids per call, each at most 36 characters. An unknown
154
+ * `type` is rejected with 400 `invalid type`.
155
+ *
156
+ * @param externalIds - The external ids to match (plural - the platform takes an array)
157
+ * @param queryOptions - Query options (WHAT to fetch: narrow by record type)
158
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck, withLinks)
159
+ *
160
+ * @example
161
+ * ```typescript
162
+ * // Correlate a provider webhook back to the record it wrote
163
+ * const [message] = await accessor.getManyByExternalId([body.SmsSid]);
164
+ *
165
+ * // Narrowed by record type
166
+ * const closures = await accessor.getManyByExternalId(refs, { type: 'CLOSURE' });
167
+ *
168
+ * // Background job, no link hydration
169
+ * const records = await accessor.getManyByExternalId(refs, undefined, {
170
+ * omitPermissionsCheck: true,
171
+ * withLinks: false,
172
+ * });
173
+ * ```
174
+ */
175
+ getManyByExternalId(externalIds, queryOptions, providerOptions) {
176
+ return __awaiter(this, void 0, void 0, function* () {
177
+ if (externalIds.length === 0)
178
+ return [];
179
+ const records = yield this._provider._getManyByExternalId(this._moduleName, this._entityName, externalIds, queryOptions, providerOptions);
180
+ return records.map((r) => new TaskRecord_1.TaskRecord(r, this._provider));
181
+ });
182
+ }
183
+ // ============================================
184
+ // SEARCH OPERATIONS
185
+ // ============================================
186
+ /**
187
+ * Search Task records
188
+ *
189
+ * @param params - Search parameters
190
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
191
+ */
192
+ search(params, providerOptions) {
193
+ return __awaiter(this, void 0, void 0, function* () {
194
+ const result = yield this._provider._searchRecords(this._moduleName, this._entityName, params, providerOptions);
195
+ return {
196
+ records: result.records.map((r) => new TaskRecord_1.TaskRecord(r, this._provider)),
197
+ totalRecords: result.totalRecords,
198
+ hasMore: result.hasMore,
199
+ aggregations: result.aggregations,
200
+ };
201
+ });
202
+ }
203
+ /**
204
+ * Search all Task records with automatic pagination
205
+ *
206
+ * @param params - Search parameters
207
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
208
+ */
209
+ searchAll(params, providerOptions) {
210
+ return __awaiter(this, void 0, void 0, function* () {
211
+ const result = yield this._provider._searchAllRecordsAndPaginate(this._moduleName, this._entityName, params, 0, providerOptions);
212
+ return result.records.map((r) => new TaskRecord_1.TaskRecord(r, this._provider));
213
+ });
214
+ }
215
+ /**
216
+ * Async generator for paginating through all matching records.
217
+ * Yields batches of wrapped records.
218
+ *
219
+ * @param params - Search parameters
220
+ * @param providerOptions - Provider options (HOW to fetch: omitPermissionsCheck)
221
+ */
222
+ paginate(params, providerOptions) {
223
+ var _a;
224
+ return __asyncGenerator(this, arguments, function* paginate_1() {
225
+ let hasMore = true;
226
+ let searchAfter;
227
+ const query = Object.assign(Object.assign({}, params.query), { pageSize: ((_a = params.query) === null || _a === void 0 ? void 0 : _a.pageSize) || 500 });
228
+ while (hasMore) {
229
+ const result = yield __await(this._provider._searchRecords(this._moduleName, this._entityName, Object.assign(Object.assign({}, params), { query: Object.assign(Object.assign({}, query), { searchAfter }) }), providerOptions));
230
+ if (result.records.length > 0) {
231
+ yield yield __await(result.records.map((r) => new TaskRecord_1.TaskRecord(r, this._provider)));
232
+ const lastRecord = result.records[result.records.length - 1];
233
+ searchAfter = lastRecord === null || lastRecord === void 0 ? void 0 : lastRecord.sort;
234
+ }
235
+ hasMore = result.hasMore && result.records.length >= query.pageSize;
236
+ }
237
+ });
238
+ }
239
+ // ============================================
240
+ // QUERY BUILDER
241
+ // ============================================
242
+ /**
243
+ * Create a fluent query builder for Task records
244
+ *
245
+ * @example
246
+ * ```typescript
247
+ * const results = await accessor
248
+ * .query()
249
+ * .where('Status', 'in', ['Active', 'Pending'])
250
+ * .where('CreatedAt', 'gte', '2025-01-01')
251
+ * .select('id', 'title', 'properties.*')
252
+ * .sortBy('createdAt', 'desc')
253
+ * .limit(100)
254
+ * .execute();
255
+ * ```
256
+ */
257
+ query() {
258
+ return (0, query_builder_1.createQueryBuilder)(this);
259
+ }
260
+ /** Access the underlying DbProvider */
261
+ get provider() {
262
+ return this._provider;
263
+ }
264
+ }
265
+ exports.TaskDbAccessor = TaskDbAccessor;
@@ -117,6 +117,7 @@ export { ServiceDbAccessor, ServiceDbSearchResponse } from './ServiceDbAccessor'
117
117
  export { SiteSpecificRiskAssessmentOutcomeFormDbAccessor, SiteSpecificRiskAssessmentOutcomeFormDbSearchResponse } from './SiteSpecificRiskAssessmentOutcomeFormDbAccessor';
118
118
  export { SmsMessageDbAccessor, SmsMessageDbSearchResponse } from './SmsMessageDbAccessor';
119
119
  export { SmsTemplateDbAccessor, SmsTemplateDbSearchResponse } from './SmsTemplateDbAccessor';
120
+ export { TaskDbAccessor, TaskDbSearchResponse } from './TaskDbAccessor';
120
121
  export { TeamDbAccessor, TeamDbSearchResponse } from './TeamDbAccessor';
121
122
  export { TimeSlotDbAccessor, TimeSlotDbSearchResponse } from './TimeSlotDbAccessor';
122
123
  export { TransactionDbAccessor, TransactionDbSearchResponse } from './TransactionDbAccessor';
@@ -11,7 +11,7 @@
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.ImpersonationTrackerDbAccessor = exports.HomeMoveDbAccessor = exports.FileDbAccessor = exports.FieldServiceProductDbAccessor = exports.FieldServiceDispatchedProductDbAccessor = exports.ExchangeDbAccessor = exports.EquipmentReturnDbAccessor = exports.EquipmentReturnItemDbAccessor = exports.EmailTemplateDbAccessor = exports.EmailSenderDbAccessor = exports.EmailDbAccessor = exports.EdgarPICFeedbackDbAccessor = exports.EdgarFeedbackDbAccessor = exports.DocumentDbAccessor = exports.DocumentProcessingDbAccessor = 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.AgentStatusDbAccessor = exports.AffiliateCodeDbAccessor = exports.AddressDbAccessor = exports.AddressInteractionDbAccessor = exports.ActivityDbAccessor = exports.ActivityLogDbAccessor = exports.AccountDbAccessor = exports.AccountCreditDbAccessor = void 0;
13
13
  exports.RemediationRequiredReasonDbAccessor = exports.RemediationOutcomeFormDbAccessor = exports.RegionDbAccessor = exports.ReferralDbAccessor = exports.RecontractDbAccessor = exports.QaReportDbAccessor = 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 = exports.NotificationTemplateDbAccessor = exports.NoteDbAccessor = exports.NetworkDeviceDbAccessor = exports.ModifyServiceRequestDbAccessor = exports.MessageDbAccessor = exports.LeadDbAccessor = exports.KnowledgeArticleDbAccessor = exports.InvoiceDbAccessor = exports.InvoiceItemDbAccessor = void 0;
14
- exports.YfWifiSurveyDbAccessor = exports.YfFieldVisitOutcomeFormDbAccessor = exports.YfAgentLocationDbAccessor = 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 = exports.TimeSlotDbAccessor = exports.TeamDbAccessor = exports.SmsTemplateDbAccessor = exports.SmsMessageDbAccessor = exports.SiteSpecificRiskAssessmentOutcomeFormDbAccessor = exports.ServiceDbAccessor = exports.ServiceAppointmentDbAccessor = exports.ServiceAppointmentConfigDbAccessor = exports.ScheduleSlotDbAccessor = exports.SalesTerritoryDbAccessor = exports.RewardDbAccessor = exports.ReturnsDbAccessor = void 0;
14
+ exports.YfWifiSurveyDbAccessor = exports.YfFieldVisitOutcomeFormDbAccessor = exports.YfAgentLocationDbAccessor = 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 = exports.TimeSlotDbAccessor = exports.TeamDbAccessor = exports.TaskDbAccessor = exports.SmsTemplateDbAccessor = exports.SmsMessageDbAccessor = exports.SiteSpecificRiskAssessmentOutcomeFormDbAccessor = exports.ServiceDbAccessor = exports.ServiceAppointmentDbAccessor = exports.ServiceAppointmentConfigDbAccessor = exports.ScheduleSlotDbAccessor = exports.SalesTerritoryDbAccessor = exports.RewardDbAccessor = exports.ReturnsDbAccessor = 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");
@@ -232,6 +232,8 @@ var SmsMessageDbAccessor_1 = require("./SmsMessageDbAccessor");
232
232
  Object.defineProperty(exports, "SmsMessageDbAccessor", { enumerable: true, get: function () { return SmsMessageDbAccessor_1.SmsMessageDbAccessor; } });
233
233
  var SmsTemplateDbAccessor_1 = require("./SmsTemplateDbAccessor");
234
234
  Object.defineProperty(exports, "SmsTemplateDbAccessor", { enumerable: true, get: function () { return SmsTemplateDbAccessor_1.SmsTemplateDbAccessor; } });
235
+ var TaskDbAccessor_1 = require("./TaskDbAccessor");
236
+ Object.defineProperty(exports, "TaskDbAccessor", { enumerable: true, get: function () { return TaskDbAccessor_1.TaskDbAccessor; } });
235
237
  var TeamDbAccessor_1 = require("./TeamDbAccessor");
236
238
  Object.defineProperty(exports, "TeamDbAccessor", { enumerable: true, get: function () { return TeamDbAccessor_1.TeamDbAccessor; } });
237
239
  var TimeSlotDbAccessor_1 = require("./TimeSlotDbAccessor");
@@ -21,9 +21,9 @@ export declare class RouterPingSnapshotDb extends DbProvider {
21
21
  private readonly moduleName;
22
22
  private readonly entityName;
23
23
  private sourceRecord;
24
- private _routerpingsnapshot?;
24
+ private _customerdevicerouter?;
25
25
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
26
- get routerpingsnapshot(): DbRecordLinkManager;
26
+ get customerdevicerouter(): DbRecordLinkManager;
27
27
  setRecord(sourceRecord: any): void;
28
28
  /**
29
29
  * Search records with manual pagination control
@@ -38,11 +38,11 @@ class RouterPingSnapshotDb extends db_provider_1.DbProvider {
38
38
  // LAZY-LOADED LINK MANAGERS (Public Getters)
39
39
  // ============================================
40
40
  // Usage remains identical: db.address.list(recordId)
41
- get routerpingsnapshot() {
42
- if (!this._routerpingsnapshot) {
43
- this._routerpingsnapshot = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ServiceModule:RouterPingSnapshot', 'ServiceModule:RouterPingSnapshot', 'CustomerDeviceRouter__RouterPingSnapshot');
41
+ get customerdevicerouter() {
42
+ if (!this._customerdevicerouter) {
43
+ this._customerdevicerouter = new db_record_link_manager_1.DbRecordLinkManager(this.principal, this.dbService, 'ServiceModule:RouterPingSnapshot', 'ServiceModule:CustomerDeviceRouter', 'CustomerDeviceRouter__RouterPingSnapshot');
44
44
  }
45
- return this._routerpingsnapshot;
45
+ return this._customerdevicerouter;
46
46
  }
47
47
  // ============================================
48
48
  // STANDARD METHODS
@@ -209,7 +209,11 @@ export declare enum AddressPropertyKeys {
209
209
  /** Type of address (Shipping, Billing) (Sales - Address) */
210
210
  Type = "Type",
211
211
  /** the latitude of the property (replaces the misspelled Latititude, CORE-1402) */
212
- Latitude = "Latitude"
212
+ Latitude = "Latitude",
213
+ /** Availability checks on this address from the website, Uswitch and PowerAltNet in the last 90 days: [{ at, source, route }]. Older entries are dropped on the next check (ORD-666). */
214
+ AvailabilityChecks = "AvailabilityChecks",
215
+ /** When this address was last checked for availability by the website, Uswitch or PowerAltNet (ORD-666). */
216
+ LastAvailabilityCheckAt = "LastAvailabilityCheckAt"
213
217
  }
214
218
  /**
215
219
  * Properties for Address records
@@ -610,6 +614,18 @@ export interface AddressProperties {
610
614
  * @hidden This field is hidden in the UI
611
615
  */
612
616
  Latitude: string;
617
+ /** Availability checks on this address from the website, Uswitch and PowerAltNet in the last 90 days: [{ at, source, route }]. Older entries are dropped on the next check (ORD-666).
618
+ *
619
+ * @type {JSON}
620
+ * @default
621
+ */
622
+ AvailabilityChecks: string;
623
+ /** When this address was last checked for availability by the website, Uswitch or PowerAltNet (ORD-666).
624
+ *
625
+ * @type {DATE_TIME}
626
+ * @default
627
+ */
628
+ LastAvailabilityCheckAt: string;
613
629
  }
614
630
  /**
615
631
  * Address entity from CrmModule
@@ -192,6 +192,10 @@ var AddressPropertyKeys;
192
192
  AddressPropertyKeys["Type"] = "Type";
193
193
  /** the latitude of the property (replaces the misspelled Latititude, CORE-1402) */
194
194
  AddressPropertyKeys["Latitude"] = "Latitude";
195
+ /** Availability checks on this address from the website, Uswitch and PowerAltNet in the last 90 days: [{ at, source, route }]. Older entries are dropped on the next check (ORD-666). */
196
+ AddressPropertyKeys["AvailabilityChecks"] = "AvailabilityChecks";
197
+ /** When this address was last checked for availability by the website, Uswitch or PowerAltNet (ORD-666). */
198
+ AddressPropertyKeys["LastAvailabilityCheckAt"] = "LastAvailabilityCheckAt";
195
199
  })(AddressPropertyKeys = exports.AddressPropertyKeys || (exports.AddressPropertyKeys = {}));
196
200
  /**
197
201
  * Address entity from CrmModule
@@ -1314,7 +1314,9 @@ export declare enum CasePropertyKeys {
1314
1314
  /** A copy of the Account's FrustrationScore stage when the Case was created or last refreshed. Written only by the frustration engine. */
1315
1315
  FrustrationBand = "FrustrationBand",
1316
1316
  /** How an OTS/recontract retention save was made — call or email. Set only when RetentionOutcome is SAVED. */
1317
- SaveContactMethod = "SaveContactMethod"
1317
+ SaveContactMethod = "SaveContactMethod",
1318
+ /** Star rating (1-5) of the review this case was raised from. Set when a Trustpilot review creates the case; empty on every other case. */
1319
+ ReviewStars = "ReviewStars"
1318
1320
  }
1319
1321
  /**
1320
1322
  * Properties for Case records
@@ -1913,6 +1915,13 @@ export interface CaseProperties {
1913
1915
  * @enum {CaseSaveContactMethod}
1914
1916
  */
1915
1917
  SaveContactMethod: CaseSaveContactMethod;
1918
+ /** Star rating (1-5) of the review this case was raised from. Set when a Trustpilot review creates the case; empty on every other case.
1919
+ *
1920
+ * @type {NUMBER}
1921
+ * @default
1922
+ * @hidden This field is hidden in the UI
1923
+ */
1924
+ ReviewStars: number;
1916
1925
  }
1917
1926
  /**
1918
1927
  * Properties for OUTAGE Case records
@@ -2511,6 +2520,13 @@ export interface OutageCaseProperties {
2511
2520
  * @enum {CaseSaveContactMethod}
2512
2521
  */
2513
2522
  SaveContactMethod: CaseSaveContactMethod;
2523
+ /** Star rating (1-5) of the review this case was raised from. Set when a Trustpilot review creates the case; empty on every other case.
2524
+ *
2525
+ * @type {NUMBER}
2526
+ * @default
2527
+ * @hidden This field is hidden in the UI
2528
+ */
2529
+ ReviewStars: number;
2514
2530
  }
2515
2531
  /**
2516
2532
  * Case entity from SupportModule
@@ -1331,6 +1331,8 @@ var CasePropertyKeys;
1331
1331
  CasePropertyKeys["FrustrationBand"] = "FrustrationBand";
1332
1332
  /** How an OTS/recontract retention save was made — call or email. Set only when RetentionOutcome is SAVED. */
1333
1333
  CasePropertyKeys["SaveContactMethod"] = "SaveContactMethod";
1334
+ /** Star rating (1-5) of the review this case was raised from. Set when a Trustpilot review creates the case; empty on every other case. */
1335
+ CasePropertyKeys["ReviewStars"] = "ReviewStars";
1334
1336
  })(CasePropertyKeys = exports.CasePropertyKeys || (exports.CasePropertyKeys = {}));
1335
1337
  /**
1336
1338
  * Case entity from SupportModule
@@ -48,13 +48,15 @@ export declare enum OrderItemEntityTypes {
48
48
  * - `HOME_MOVE` - Home Move
49
49
  * - `LIGHTSPEED` - LightSpeed
50
50
  * - `OTHER` - Other
51
+ * - `OOC_RENEWAL` - Out-of-contract renewal
52
+ * - `OOC_REPRICE` - Out-of-contract reprice
51
53
  * - `POP_TELECOM` - POP Telecom
52
54
  * - `SKY` - Sky
53
55
  * - `TALKTALK` - TalkTalk
54
56
  * - `THREE` - Three
55
57
  * - `UNKNOWN` - Unknown
56
58
  * - `VIRGIN_MEDIA` - Virgin Media
57
- * - `VODAFONE` - Vodafone
59
+ * - ... and 1 more
58
60
  */
59
61
  export declare enum OrderItemPriceMatchedTo {
60
62
  BRSK_REWARD = "BRSK",
@@ -64,6 +66,8 @@ export declare enum OrderItemPriceMatchedTo {
64
66
  HOME_MOVE = "HOME_MOVE",
65
67
  LIGHT_SPEED = "LIGHTSPEED",
66
68
  OTHER = "OTHER",
69
+ OUT_OF_CONTRACT_RENEWAL = "OOC_RENEWAL",
70
+ OUT_OF_CONTRACT_REPRICE = "OOC_REPRICE",
67
71
  POP_TELECOM = "POP_TELECOM",
68
72
  SKY = "SKY",
69
73
  TALK_TALK = "TALKTALK",
@@ -35,13 +35,15 @@ var OrderItemEntityTypes;
35
35
  * - `HOME_MOVE` - Home Move
36
36
  * - `LIGHTSPEED` - LightSpeed
37
37
  * - `OTHER` - Other
38
+ * - `OOC_RENEWAL` - Out-of-contract renewal
39
+ * - `OOC_REPRICE` - Out-of-contract reprice
38
40
  * - `POP_TELECOM` - POP Telecom
39
41
  * - `SKY` - Sky
40
42
  * - `TALKTALK` - TalkTalk
41
43
  * - `THREE` - Three
42
44
  * - `UNKNOWN` - Unknown
43
45
  * - `VIRGIN_MEDIA` - Virgin Media
44
- * - `VODAFONE` - Vodafone
46
+ * - ... and 1 more
45
47
  */
46
48
  var OrderItemPriceMatchedTo;
47
49
  (function (OrderItemPriceMatchedTo) {
@@ -52,6 +54,8 @@ var OrderItemPriceMatchedTo;
52
54
  OrderItemPriceMatchedTo["HOME_MOVE"] = "HOME_MOVE";
53
55
  OrderItemPriceMatchedTo["LIGHT_SPEED"] = "LIGHTSPEED";
54
56
  OrderItemPriceMatchedTo["OTHER"] = "OTHER";
57
+ OrderItemPriceMatchedTo["OUT_OF_CONTRACT_RENEWAL"] = "OOC_RENEWAL";
58
+ OrderItemPriceMatchedTo["OUT_OF_CONTRACT_REPRICE"] = "OOC_REPRICE";
55
59
  OrderItemPriceMatchedTo["POP_TELECOM"] = "POP_TELECOM";
56
60
  OrderItemPriceMatchedTo["SKY"] = "SKY";
57
61
  OrderItemPriceMatchedTo["TALK_TALK"] = "TALKTALK";