@d19n/youfibre-odin-sdk 2.0.312 → 2.0.313
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 +7 -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/QaReportAccessor.d.ts +112 -0
- package/dist/accessors-v2/QaReportAccessor.js +191 -0
- package/dist/accessors-v2/index.d.ts +1 -0
- package/dist/accessors-v2/index.js +4 -2
- package/dist/actions-v2/CreateQaReportDto.d.ts +121 -0
- package/dist/actions-v2/CreateQaReportDto.js +57 -0
- package/dist/db-accessors-v2/QaReportDbAccessor.d.ts +180 -0
- package/dist/db-accessors-v2/QaReportDbAccessor.js +265 -0
- package/dist/db-accessors-v2/index.d.ts +1 -0
- package/dist/db-accessors-v2/index.js +4 -2
- package/dist/entities-v2/Config.d.ts +8 -8
- package/dist/entities-v2/Config.js +2 -2
- package/dist/records-v2/CaseRecord.d.ts +20 -0
- package/dist/records-v2/CaseRecord.js +33 -0
- package/dist/records-v2/QaReportRecord.d.ts +207 -0
- package/dist/records-v2/QaReportRecord.js +282 -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,57 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* CreateQaReport Action DTO
|
|
4
|
+
*
|
|
5
|
+
* CreateQaReport
|
|
6
|
+
*
|
|
7
|
+
* @module SupportModule
|
|
8
|
+
* @entity QaReport
|
|
9
|
+
* @entityType DEFAULT
|
|
10
|
+
* @actionKey CreateQaReport
|
|
11
|
+
* @event k1.t-hEOJjsDb.SupportModule.QaReport.Create.CreateQaReport
|
|
12
|
+
*
|
|
13
|
+
* AUTO-GENERATED - DO NOT EDIT DIRECTLY
|
|
14
|
+
*/
|
|
15
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
16
|
+
exports.CreateQaReportDto = void 0;
|
|
17
|
+
const core_1 = require("@d19n/odin-types/dist/core");
|
|
18
|
+
/**
|
|
19
|
+
* CreateQaReport
|
|
20
|
+
*
|
|
21
|
+
* @actionType CREATE - Creates a new QaReport record
|
|
22
|
+
* @module SupportModule
|
|
23
|
+
* @entity QaReport
|
|
24
|
+
* @entityType DEFAULT (Default)
|
|
25
|
+
* @event k1.t-hEOJjsDb.SupportModule.QaReport.Create.CreateQaReport
|
|
26
|
+
* @permission schema.action.createqareport.trigger
|
|
27
|
+
* @benchmark This action is tracked for performance benchmarks
|
|
28
|
+
*/
|
|
29
|
+
class CreateQaReportDto extends core_1.OdinRecordCreateDto {
|
|
30
|
+
constructor(properties, options) {
|
|
31
|
+
super({
|
|
32
|
+
entity: 'SupportModule:QaReport',
|
|
33
|
+
type: 'DEFAULT',
|
|
34
|
+
properties,
|
|
35
|
+
journeyId: options === null || options === void 0 ? void 0 : options.journeyId,
|
|
36
|
+
});
|
|
37
|
+
this.actionName = 'CreateQaReport';
|
|
38
|
+
this.schemaActionId = '9a136420-f6ca-408a-8a25-9942955a761c';
|
|
39
|
+
this.entity = 'SupportModule:QaReport';
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
exports.CreateQaReportDto = CreateQaReportDto;
|
|
43
|
+
/** Used by SDK generators to identify action type */
|
|
44
|
+
CreateQaReportDto.ACTION_TYPE = 'CREATE';
|
|
45
|
+
CreateQaReportDto.ACTION_KEY = 'CreateQaReport';
|
|
46
|
+
CreateQaReportDto.MODULE_NAME = 'SupportModule';
|
|
47
|
+
CreateQaReportDto.ENTITIES = ['QaReport'];
|
|
48
|
+
CreateQaReportDto.ENTITY_TYPE = 'DEFAULT';
|
|
49
|
+
CreateQaReportDto.EVENT_NAME = 'k1.t-hEOJjsDb.SupportModule.QaReport.Create.CreateQaReport';
|
|
50
|
+
CreateQaReportDto.PERMISSION = 'schema.action.createqareport.trigger';
|
|
51
|
+
/** Step metadata - entity this action targets */
|
|
52
|
+
CreateQaReportDto.STEP_ENTITY = 'SupportModule:QaReport';
|
|
53
|
+
CreateQaReportDto.STEP_SCHEMA_ID = '68057e56-74e5-4b9e-b4c2-6c3f46b000ad';
|
|
54
|
+
CreateQaReportDto.STEP_SCHEMA_ACTION_ID = '9a136420-f6ca-408a-8a25-9942955a761c';
|
|
55
|
+
CreateQaReportDto.STEP_SCHEMA_TYPE_ID = 'd056f400-5301-4f7a-8655-4746e507ccd4';
|
|
56
|
+
CreateQaReportDto.STEP_TYPE = 'DEFAULT';
|
|
57
|
+
CreateQaReportDto.AUTO_LINK_PARENT = true;
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QaReport DB Accessor
|
|
3
|
+
*
|
|
4
|
+
* Provides typed access to QaReport 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 QaReportDbAccessor(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 { QaReportProperties } from '../entities-v2/QaReport';
|
|
32
|
+
import { QaReportRecord } from '../records-v2/QaReportRecord';
|
|
33
|
+
/** Search response with wrapped records */
|
|
34
|
+
export interface QaReportDbSearchResponse {
|
|
35
|
+
records: QaReportRecord[];
|
|
36
|
+
totalRecords: number;
|
|
37
|
+
hasMore: boolean;
|
|
38
|
+
aggregations?: Record<string, any>;
|
|
39
|
+
}
|
|
40
|
+
export declare class QaReportDbAccessor {
|
|
41
|
+
private readonly _provider;
|
|
42
|
+
private readonly _moduleName;
|
|
43
|
+
private readonly _entityName;
|
|
44
|
+
private readonly _defaultOptions?;
|
|
45
|
+
/**
|
|
46
|
+
* Create a new QaReportDbAccessor
|
|
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 QaReport 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): QaReportRecord;
|
|
79
|
+
/**
|
|
80
|
+
* Get a single QaReport 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<QaReportRecord>;
|
|
102
|
+
/**
|
|
103
|
+
* Get multiple QaReport 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<QaReportRecord[]>;
|
|
110
|
+
/**
|
|
111
|
+
* Get QaReport 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<QaReportRecord[]>;
|
|
140
|
+
/**
|
|
141
|
+
* Search QaReport 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<QaReportDbSearchResponse>;
|
|
147
|
+
/**
|
|
148
|
+
* Search all QaReport 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<QaReportRecord[]>;
|
|
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<QaReportRecord[]>;
|
|
162
|
+
/**
|
|
163
|
+
* Create a fluent query builder for QaReport 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<QaReportProperties, QaReportRecord>;
|
|
178
|
+
/** Access the underlying DbProvider */
|
|
179
|
+
get provider(): DbProvider;
|
|
180
|
+
}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* QaReport DB Accessor
|
|
4
|
+
*
|
|
5
|
+
* Provides typed access to QaReport 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 QaReportDbAccessor(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.QaReportDbAccessor = 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 QaReportRecord_1 = require("../records-v2/QaReportRecord");
|
|
55
|
+
class QaReportDbAccessor {
|
|
56
|
+
/**
|
|
57
|
+
* Create a new QaReportDbAccessor
|
|
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 = 'SupportModule';
|
|
64
|
+
this._entityName = 'QaReport';
|
|
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 QaReport 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 QaReportRecord_1.QaReportRecord(null, this._provider, id);
|
|
99
|
+
}
|
|
100
|
+
// ============================================
|
|
101
|
+
// RECORD RETRIEVAL
|
|
102
|
+
// ============================================
|
|
103
|
+
/**
|
|
104
|
+
* Get a single QaReport 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 QaReportRecord_1.QaReportRecord(record, this._provider);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get multiple QaReport 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 QaReportRecord_1.QaReportRecord(r, this._provider));
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get QaReport 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 QaReportRecord_1.QaReportRecord(r, this._provider));
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
// ============================================
|
|
184
|
+
// SEARCH OPERATIONS
|
|
185
|
+
// ============================================
|
|
186
|
+
/**
|
|
187
|
+
* Search QaReport 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 QaReportRecord_1.QaReportRecord(r, this._provider)),
|
|
197
|
+
totalRecords: result.totalRecords,
|
|
198
|
+
hasMore: result.hasMore,
|
|
199
|
+
aggregations: result.aggregations,
|
|
200
|
+
};
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Search all QaReport 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 QaReportRecord_1.QaReportRecord(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 QaReportRecord_1.QaReportRecord(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 QaReport 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.QaReportDbAccessor = QaReportDbAccessor;
|
|
@@ -94,6 +94,7 @@ export { PgWebhookDbAccessor, PgWebhookDbSearchResponse } from './PgWebhookDbAcc
|
|
|
94
94
|
export { PriceBookDbAccessor, PriceBookDbSearchResponse } from './PriceBookDbAccessor';
|
|
95
95
|
export { ProductDbAccessor, ProductDbSearchResponse } from './ProductDbAccessor';
|
|
96
96
|
export { PushNotificationDbAccessor, PushNotificationDbSearchResponse } from './PushNotificationDbAccessor';
|
|
97
|
+
export { QaReportDbAccessor, QaReportDbSearchResponse } from './QaReportDbAccessor';
|
|
97
98
|
export { RecontractDbAccessor, RecontractDbSearchResponse } from './RecontractDbAccessor';
|
|
98
99
|
export { ReferralDbAccessor, ReferralDbSearchResponse } from './ReferralDbAccessor';
|
|
99
100
|
export { RegionDbAccessor, RegionDbSearchResponse } from './RegionDbAccessor';
|
|
@@ -10,8 +10,8 @@
|
|
|
10
10
|
*/
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
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.AgentStatusDbAccessor = exports.AffiliateCodeDbAccessor = exports.AddressDbAccessor = exports.AddressInteractionDbAccessor = exports.ActivityDbAccessor = exports.ActivityLogDbAccessor = exports.AccountDbAccessor = exports.AccountCreditDbAccessor = void 0;
|
|
13
|
-
exports.
|
|
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 = void 0;
|
|
13
|
+
exports.ServiceDbAccessor = exports.ServiceAppointmentDbAccessor = exports.ServiceAppointmentConfigDbAccessor = exports.ScheduleSlotDbAccessor = exports.SalesTerritoryDbAccessor = exports.RewardDbAccessor = exports.ReturnsDbAccessor = 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 = 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 = 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");
|
|
@@ -186,6 +186,8 @@ var ProductDbAccessor_1 = require("./ProductDbAccessor");
|
|
|
186
186
|
Object.defineProperty(exports, "ProductDbAccessor", { enumerable: true, get: function () { return ProductDbAccessor_1.ProductDbAccessor; } });
|
|
187
187
|
var PushNotificationDbAccessor_1 = require("./PushNotificationDbAccessor");
|
|
188
188
|
Object.defineProperty(exports, "PushNotificationDbAccessor", { enumerable: true, get: function () { return PushNotificationDbAccessor_1.PushNotificationDbAccessor; } });
|
|
189
|
+
var QaReportDbAccessor_1 = require("./QaReportDbAccessor");
|
|
190
|
+
Object.defineProperty(exports, "QaReportDbAccessor", { enumerable: true, get: function () { return QaReportDbAccessor_1.QaReportDbAccessor; } });
|
|
189
191
|
var RecontractDbAccessor_1 = require("./RecontractDbAccessor");
|
|
190
192
|
Object.defineProperty(exports, "RecontractDbAccessor", { enumerable: true, get: function () { return RecontractDbAccessor_1.RecontractDbAccessor; } });
|
|
191
193
|
var ReferralDbAccessor_1 = require("./ReferralDbAccessor");
|
|
@@ -23,12 +23,12 @@ export declare enum ConfigEntityTypes {
|
|
|
23
23
|
* Use these constants instead of string literals for type safety
|
|
24
24
|
*/
|
|
25
25
|
export declare enum ConfigPropertyKeys {
|
|
26
|
+
/** Data field for Config records. Used by Platform team. */
|
|
27
|
+
Test = "Test",
|
|
26
28
|
/** the name of the app this config relates to (Platform - Config) */
|
|
27
29
|
AppName = "AppName",
|
|
28
30
|
/** object of { key: value } mappings (Platform - Config) */
|
|
29
|
-
Mappings = "Mappings"
|
|
30
|
-
/** Data field for Config records. Used by Platform team. */
|
|
31
|
-
Test = "Test"
|
|
31
|
+
Mappings = "Mappings"
|
|
32
32
|
}
|
|
33
33
|
/**
|
|
34
34
|
* Properties for Config records
|
|
@@ -36,6 +36,11 @@ export declare enum ConfigPropertyKeys {
|
|
|
36
36
|
* @see SchemaModule:Config
|
|
37
37
|
*/
|
|
38
38
|
export interface ConfigProperties {
|
|
39
|
+
/** Data field for Config records. Used by Platform team.
|
|
40
|
+
*
|
|
41
|
+
* @type {TEXT}
|
|
42
|
+
*/
|
|
43
|
+
Test: string;
|
|
39
44
|
/** the name of the app this config relates to (Platform - Config)
|
|
40
45
|
*
|
|
41
46
|
* @type {TEXT}
|
|
@@ -46,11 +51,6 @@ export interface ConfigProperties {
|
|
|
46
51
|
* @type {JSON}
|
|
47
52
|
*/
|
|
48
53
|
Mappings: string;
|
|
49
|
-
/** Data field for Config records. Used by Platform team.
|
|
50
|
-
*
|
|
51
|
-
* @type {TEXT}
|
|
52
|
-
*/
|
|
53
|
-
Test: string;
|
|
54
54
|
}
|
|
55
55
|
/**
|
|
56
56
|
* Config entity from SchemaModule
|
|
@@ -28,12 +28,12 @@ var ConfigEntityTypes;
|
|
|
28
28
|
*/
|
|
29
29
|
var ConfigPropertyKeys;
|
|
30
30
|
(function (ConfigPropertyKeys) {
|
|
31
|
+
/** Data field for Config records. Used by Platform team. */
|
|
32
|
+
ConfigPropertyKeys["Test"] = "Test";
|
|
31
33
|
/** the name of the app this config relates to (Platform - Config) */
|
|
32
34
|
ConfigPropertyKeys["AppName"] = "AppName";
|
|
33
35
|
/** object of { key: value } mappings (Platform - Config) */
|
|
34
36
|
ConfigPropertyKeys["Mappings"] = "Mappings";
|
|
35
|
-
/** Data field for Config records. Used by Platform team. */
|
|
36
|
-
ConfigPropertyKeys["Test"] = "Test";
|
|
37
37
|
})(ConfigPropertyKeys = exports.ConfigPropertyKeys || (exports.ConfigPropertyKeys = {}));
|
|
38
38
|
/**
|
|
39
39
|
* Config entity from SchemaModule
|
|
@@ -81,6 +81,7 @@ import { OneTouchSwitchRecord } from './OneTouchSwitchRecord';
|
|
|
81
81
|
import { OutboundDialCampaignCaseRecord } from './OutboundDialCampaignCaseRecord';
|
|
82
82
|
import { OutboundDialSessionRecord } from './OutboundDialSessionRecord';
|
|
83
83
|
import { CallRecord } from './CallRecord';
|
|
84
|
+
import { QaReportRecord } from './QaReportRecord';
|
|
84
85
|
/** Valid entity types for Case */
|
|
85
86
|
export declare type CaseType = 'DEFAULT' | 'OUTAGE';
|
|
86
87
|
/**
|
|
@@ -1331,6 +1332,7 @@ export declare class CaseRecord<TProps = CaseProperties> {
|
|
|
1331
1332
|
private _outboundDialCampaignCases?;
|
|
1332
1333
|
private _outboundDialSessions?;
|
|
1333
1334
|
private _calls?;
|
|
1335
|
+
private _qaReports?;
|
|
1334
1336
|
/**
|
|
1335
1337
|
* Create a record wrapper.
|
|
1336
1338
|
* @param record - The underlying record, or null for create operations
|
|
@@ -1768,6 +1770,24 @@ export declare class CaseRecord<TProps = CaseProperties> {
|
|
|
1768
1770
|
* ```
|
|
1769
1771
|
*/
|
|
1770
1772
|
get calls(): RecordLinkManager<CallRecord, typeof CaseRecord['callsLabels'][number]>;
|
|
1773
|
+
/** Valid labels for QaReport associations */
|
|
1774
|
+
static readonly qaReportsLabels: readonly ["Case__QaReport"];
|
|
1775
|
+
/**
|
|
1776
|
+
* Access linked QaReport records
|
|
1777
|
+
* @remarks Available labels: Case__QaReport
|
|
1778
|
+
* @throws Error if called on a new (unsaved) record
|
|
1779
|
+
*
|
|
1780
|
+
* @example
|
|
1781
|
+
* ```typescript
|
|
1782
|
+
* // Get all linked QaReport records
|
|
1783
|
+
* const items = await record.qaReports.list();
|
|
1784
|
+
* const first = await record.qaReports.first();
|
|
1785
|
+
*
|
|
1786
|
+
* // Filter by label
|
|
1787
|
+
* const specific = await record.qaReports.first({ label: 'Case__QaReport' });
|
|
1788
|
+
* ```
|
|
1789
|
+
*/
|
|
1790
|
+
get qaReports(): RecordLinkManager<QaReportRecord, typeof CaseRecord['qaReportsLabels'][number]>;
|
|
1771
1791
|
/**
|
|
1772
1792
|
* Queue a link to be created with the next action.
|
|
1773
1793
|
* Works for both create and update actions.
|