@d19n/youfibre-odin-sdk 2.0.383 → 2.0.385

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 (54) hide show
  1. package/README.md +23 -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/MoveTaskToDoneDto.d.ts +67 -0
  13. package/dist/actions-v2/MoveTaskToDoneDto.js +59 -0
  14. package/dist/actions-v2/MoveTaskToInProgressDto.d.ts +67 -0
  15. package/dist/actions-v2/MoveTaskToInProgressDto.js +59 -0
  16. package/dist/actions-v2/MoveTaskToOnHoldDto.d.ts +67 -0
  17. package/dist/actions-v2/MoveTaskToOnHoldDto.js +59 -0
  18. package/dist/actions-v2/MoveTaskToStopDto.d.ts +67 -0
  19. package/dist/actions-v2/MoveTaskToStopDto.js +59 -0
  20. package/dist/actions-v2/MoveTaskToTodoDto.d.ts +67 -0
  21. package/dist/actions-v2/MoveTaskToTodoDto.js +59 -0
  22. package/dist/actions-v2/UpdateAddressAvailabilityChecksDto.d.ts +79 -0
  23. package/dist/actions-v2/UpdateAddressAvailabilityChecksDto.js +56 -0
  24. package/dist/actions-v2/UpdateCustomerDeviceTvDeviceDto.d.ts +84 -0
  25. package/dist/actions-v2/UpdateCustomerDeviceTvDeviceDto.js +61 -0
  26. package/dist/api-sdk-v2/RouterPingSnapshotApi.d.ts +2 -2
  27. package/dist/api-sdk-v2/RouterPingSnapshotApi.js +4 -4
  28. package/dist/db-accessors-v2/TaskDbAccessor.d.ts +180 -0
  29. package/dist/db-accessors-v2/TaskDbAccessor.js +265 -0
  30. package/dist/db-accessors-v2/index.d.ts +1 -0
  31. package/dist/db-accessors-v2/index.js +3 -1
  32. package/dist/db-sdk-v2/RouterPingSnapshotDb.d.ts +2 -2
  33. package/dist/db-sdk-v2/RouterPingSnapshotDb.js +4 -4
  34. package/dist/entities-v2/Address.d.ts +17 -1
  35. package/dist/entities-v2/Address.js +4 -0
  36. package/dist/entities-v2/CustomerDevice.d.ts +21 -1
  37. package/dist/entities-v2/CustomerDevice.js +2 -0
  38. package/dist/entities-v2/Order.d.ts +727 -727
  39. package/dist/entities-v2/Order.js +358 -358
  40. package/dist/entities-v2/OrderItem.d.ts +5 -1
  41. package/dist/entities-v2/OrderItem.js +5 -1
  42. package/dist/entities-v2/RouterPingSnapshot.d.ts +0 -6
  43. package/dist/entities-v2/RouterPingSnapshot.js +1 -5
  44. package/dist/records-v2/AddressRecord.d.ts +28 -0
  45. package/dist/records-v2/AddressRecord.js +37 -0
  46. package/dist/records-v2/CustomerDeviceRecord.d.ts +28 -0
  47. package/dist/records-v2/CustomerDeviceRecord.js +37 -0
  48. package/dist/records-v2/NoteRecord.d.ts +20 -0
  49. package/dist/records-v2/NoteRecord.js +33 -0
  50. package/dist/records-v2/TaskRecord.d.ts +283 -0
  51. package/dist/records-v2/TaskRecord.js +370 -0
  52. package/dist/records-v2/index.d.ts +1 -0
  53. package/dist/records-v2/index.js +5 -2
  54. package/package.json +1 -1
@@ -0,0 +1,84 @@
1
+ /**
2
+ * UpdateCustomerDeviceTvDevice Action DTO
3
+ *
4
+ * Correct the serial number or MAC address on a TV box.
5
+ *
6
+ * @module ServiceModule
7
+ * @entity CustomerDevice
8
+ * @entityType TV_DEVICE
9
+ * @actionKey UpdateCustomerDeviceTvDevice
10
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
11
+ *
12
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
13
+ */
14
+ import { OdinRecord, OdinRecordUpdateDto, OdinRecordUpdatedEvent } from '@d19n/odin-types/dist/core';
15
+ /**
16
+ * RabbitMQ message payload for UpdateCustomerDeviceTvDevice updated events
17
+ *
18
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
19
+ */
20
+ export interface UpdateCustomerDeviceTvDeviceMessage extends OdinRecordUpdatedEvent<UpdateCustomerDeviceTvDeviceDto, UpdateCustomerDeviceTvDeviceProperties> {
21
+ }
22
+ /**
23
+ * Properties for UpdateCustomerDeviceTvDevice action
24
+ *
25
+ * @property Required fields: 0
26
+ * @property Optional fields: 2
27
+ */
28
+ export interface UpdateCustomerDeviceTvDeviceProperties {
29
+ /**
30
+ * Serial Number
31
+ *
32
+ * Serial Number
33
+ * @type {TEXT}
34
+ */
35
+ SerialNumber?: string | null;
36
+ /**
37
+ * MAC Address
38
+ *
39
+ * Mac Address
40
+ * @type {TEXT}
41
+ */
42
+ MacAddress?: string | null;
43
+ }
44
+ /**
45
+ * UpdateCustomerDeviceTvDevice
46
+ *
47
+ * Correct the serial number or MAC address on a TV box.
48
+ *
49
+ * @actionType UPDATE - Updates an existing CustomerDevice record
50
+ * @module ServiceModule
51
+ * @entity CustomerDevice
52
+ * @entityType TV_DEVICE (TV Device)
53
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
54
+ * @permission schema.action.updatecustomerdevicetvdevice.trigger
55
+ * @benchmark This action is tracked for performance benchmarks
56
+ */
57
+ export declare class UpdateCustomerDeviceTvDeviceDto extends OdinRecordUpdateDto<UpdateCustomerDeviceTvDeviceProperties> {
58
+ /** Used by SDK generators to identify action type */
59
+ static readonly ACTION_TYPE = "UPDATE";
60
+ static readonly ACTION_KEY = "UpdateCustomerDeviceTvDevice";
61
+ static readonly MODULE_NAME = "ServiceModule";
62
+ static readonly ENTITIES: string[];
63
+ static readonly ENTITY_TYPE = "TV_DEVICE";
64
+ static readonly EVENT_NAME = "k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice";
65
+ static readonly PERMISSION = "schema.action.updatecustomerdevicetvdevice.trigger";
66
+ /** Step metadata - entity this action targets */
67
+ static readonly STEP_ENTITY = "ServiceModule:CustomerDevice";
68
+ static readonly STEP_SCHEMA_ID = "a72ffce5-0294-4038-8fb1-45fad5e4e473";
69
+ static readonly STEP_SCHEMA_ACTION_ID = "070ff180-6dc3-46b4-807a-8c61a743306f";
70
+ static readonly STEP_SCHEMA_TYPE_ID = "4245a2ef-9255-49c0-af63-96bf8cde26aa";
71
+ static readonly STEP_TYPE = "TV_DEVICE";
72
+ static readonly AUTO_LINK_PARENT = false;
73
+ readonly actionName: string;
74
+ readonly schemaActionId: string;
75
+ readonly entity: string;
76
+ constructor(record: OdinRecord<any> | {
77
+ id: string;
78
+ entity: string;
79
+ type?: string;
80
+ }, properties: UpdateCustomerDeviceTvDeviceProperties, options?: {
81
+ journeyId?: string;
82
+ stageKey?: string;
83
+ });
84
+ }
@@ -0,0 +1,61 @@
1
+ "use strict";
2
+ /**
3
+ * UpdateCustomerDeviceTvDevice Action DTO
4
+ *
5
+ * Correct the serial number or MAC address on a TV box.
6
+ *
7
+ * @module ServiceModule
8
+ * @entity CustomerDevice
9
+ * @entityType TV_DEVICE
10
+ * @actionKey UpdateCustomerDeviceTvDevice
11
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
12
+ *
13
+ * AUTO-GENERATED - DO NOT EDIT DIRECTLY
14
+ */
15
+ Object.defineProperty(exports, "__esModule", { value: true });
16
+ exports.UpdateCustomerDeviceTvDeviceDto = void 0;
17
+ const core_1 = require("@d19n/odin-types/dist/core");
18
+ /**
19
+ * UpdateCustomerDeviceTvDevice
20
+ *
21
+ * Correct the serial number or MAC address on a TV box.
22
+ *
23
+ * @actionType UPDATE - Updates an existing CustomerDevice record
24
+ * @module ServiceModule
25
+ * @entity CustomerDevice
26
+ * @entityType TV_DEVICE (TV Device)
27
+ * @event k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice
28
+ * @permission schema.action.updatecustomerdevicetvdevice.trigger
29
+ * @benchmark This action is tracked for performance benchmarks
30
+ */
31
+ class UpdateCustomerDeviceTvDeviceDto extends core_1.OdinRecordUpdateDto {
32
+ constructor(record, properties, options) {
33
+ super({
34
+ id: record.id,
35
+ entity: record.entity,
36
+ type: record.type,
37
+ properties,
38
+ journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
39
+ stageKey: options === null || options === void 0 ? void 0 : options.stageKey,
40
+ });
41
+ this.actionName = 'UpdateCustomerDeviceTvDevice';
42
+ this.schemaActionId = '070ff180-6dc3-46b4-807a-8c61a743306f';
43
+ this.entity = 'ServiceModule:CustomerDevice';
44
+ }
45
+ }
46
+ exports.UpdateCustomerDeviceTvDeviceDto = UpdateCustomerDeviceTvDeviceDto;
47
+ /** Used by SDK generators to identify action type */
48
+ UpdateCustomerDeviceTvDeviceDto.ACTION_TYPE = 'UPDATE';
49
+ UpdateCustomerDeviceTvDeviceDto.ACTION_KEY = 'UpdateCustomerDeviceTvDevice';
50
+ UpdateCustomerDeviceTvDeviceDto.MODULE_NAME = 'ServiceModule';
51
+ UpdateCustomerDeviceTvDeviceDto.ENTITIES = ['CustomerDevice'];
52
+ UpdateCustomerDeviceTvDeviceDto.ENTITY_TYPE = 'TV_DEVICE';
53
+ UpdateCustomerDeviceTvDeviceDto.EVENT_NAME = 'k1.t-hEOJjsDb.ServiceModule.CustomerDevice.Update.UpdateCustomerDeviceTvDevice';
54
+ UpdateCustomerDeviceTvDeviceDto.PERMISSION = 'schema.action.updatecustomerdevicetvdevice.trigger';
55
+ /** Step metadata - entity this action targets */
56
+ UpdateCustomerDeviceTvDeviceDto.STEP_ENTITY = 'ServiceModule:CustomerDevice';
57
+ UpdateCustomerDeviceTvDeviceDto.STEP_SCHEMA_ID = 'a72ffce5-0294-4038-8fb1-45fad5e4e473';
58
+ UpdateCustomerDeviceTvDeviceDto.STEP_SCHEMA_ACTION_ID = '070ff180-6dc3-46b4-807a-8c61a743306f';
59
+ UpdateCustomerDeviceTvDeviceDto.STEP_SCHEMA_TYPE_ID = '4245a2ef-9255-49c0-af63-96bf8cde26aa';
60
+ UpdateCustomerDeviceTvDeviceDto.STEP_TYPE = 'TV_DEVICE';
61
+ UpdateCustomerDeviceTvDeviceDto.AUTO_LINK_PARENT = false;
@@ -17,9 +17,9 @@ export declare class RouterPingSnapshotApi extends ApiProvider {
17
17
  private readonly moduleName;
18
18
  private readonly entityName;
19
19
  private sourceRecord;
20
- private _routerpingsnapshot?;
20
+ private _customerdevicerouter?;
21
21
  constructor(authParams?: OauthParams, authToken?: string);
22
- get routerpingsnapshot(): ApiRecordLinkManager;
22
+ get customerdevicerouter(): ApiRecordLinkManager;
23
23
  setRecord(sourceRecord: any): void;
24
24
  schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
25
25
  search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<RouterPingSnapshotProperties>>>;
@@ -33,11 +33,11 @@ class RouterPingSnapshotApi extends api_provider_1.ApiProvider {
33
33
  // LAZY-LOADED LINK MANAGERS (Public Getters)
34
34
  // ============================================
35
35
  // Usage remains identical: api.address.list(recordId)
36
- get routerpingsnapshot() {
37
- if (!this._routerpingsnapshot) {
38
- this._routerpingsnapshot = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'ServiceModule:RouterPingSnapshot', 'ServiceModule:RouterPingSnapshot', 'CustomerDeviceRouter__RouterPingSnapshot');
36
+ get customerdevicerouter() {
37
+ if (!this._customerdevicerouter) {
38
+ this._customerdevicerouter = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'ServiceModule:RouterPingSnapshot', 'ServiceModule:CustomerDeviceRouter', 'CustomerDeviceRouter__RouterPingSnapshot');
39
39
  }
40
- return this._routerpingsnapshot;
40
+ return this._customerdevicerouter;
41
41
  }
42
42
  // ============================================
43
43
  // STANDARD METHODS (Unchanged API)
@@ -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 _customerdevicerouter?;
24
+ private _routerpingsnapshot?;
25
25
  constructor(principal: any, dbService: any, defaultOptions?: DbProviderOptions);
26
- get customerdevicerouter(): DbRecordLinkManager;
26
+ get routerpingsnapshot(): DbRecordLinkManager;
27
27
  setRecord(sourceRecord: any): void;
28
28
  /**
29
29
  * Search records with manual pagination control