@d19n/youfibre-odin-sdk 2.0.335 → 2.0.337
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 +31 -2
- package/dist/EntityRegistry.d.ts +8 -0
- package/dist/EntityRegistry.js +8 -0
- package/dist/OdinApiClient.d.ts +16 -0
- package/dist/OdinApiClient.js +32 -0
- package/dist/OdinDbClient.d.ts +16 -0
- package/dist/OdinDbClient.js +32 -0
- package/dist/accessors-v2/QaAutoFailAccessor.d.ts +112 -0
- package/dist/accessors-v2/QaAutoFailAccessor.js +191 -0
- package/dist/accessors-v2/QaRubricAccessor.d.ts +112 -0
- package/dist/accessors-v2/QaRubricAccessor.js +191 -0
- package/dist/accessors-v2/QaRubricItemAccessor.d.ts +112 -0
- package/dist/accessors-v2/QaRubricItemAccessor.js +191 -0
- package/dist/accessors-v2/QaRubricSectionAccessor.d.ts +112 -0
- package/dist/accessors-v2/QaRubricSectionAccessor.js +191 -0
- package/dist/accessors-v2/index.d.ts +4 -0
- package/dist/accessors-v2/index.js +10 -2
- package/dist/actions-v2/CreateContactSalesAppDto.d.ts +2 -25
- package/dist/actions-v2/CreateInstallDayBeforeWifiEducationDto.d.ts +63 -0
- package/dist/actions-v2/CreateInstallDayBeforeWifiEducationDto.js +59 -0
- package/dist/actions-v2/CreateLeadSalesAppDto.d.ts +10 -2
- package/dist/actions-v2/CreateTransactionalEmailDto.d.ts +8 -1
- package/dist/actions-v2/UpdateQaAutoFailDto.d.ts +102 -0
- package/dist/actions-v2/UpdateQaAutoFailDto.js +56 -0
- package/dist/actions-v2/UpdateQaRubricDto.d.ts +103 -0
- package/dist/actions-v2/UpdateQaRubricDto.js +56 -0
- package/dist/actions-v2/UpdateQaRubricItemDto.d.ts +157 -0
- package/dist/actions-v2/UpdateQaRubricItemDto.js +56 -0
- package/dist/actions-v2/UpdateQaRubricSectionDto.d.ts +87 -0
- package/dist/actions-v2/UpdateQaRubricSectionDto.js +56 -0
- package/dist/api-sdk-v2/QaAutoFailApi.d.ts +48 -0
- package/dist/api-sdk-v2/QaAutoFailApi.js +155 -0
- package/dist/api-sdk-v2/QaRubricApi.d.ts +50 -0
- package/dist/api-sdk-v2/QaRubricApi.js +161 -0
- package/dist/api-sdk-v2/QaRubricItemApi.d.ts +48 -0
- package/dist/api-sdk-v2/QaRubricItemApi.js +155 -0
- package/dist/api-sdk-v2/QaRubricSectionApi.d.ts +50 -0
- package/dist/api-sdk-v2/QaRubricSectionApi.js +161 -0
- package/dist/db-accessors-v2/QaAutoFailDbAccessor.d.ts +180 -0
- package/dist/db-accessors-v2/QaAutoFailDbAccessor.js +265 -0
- package/dist/db-accessors-v2/QaRubricDbAccessor.d.ts +180 -0
- package/dist/db-accessors-v2/QaRubricDbAccessor.js +265 -0
- package/dist/db-accessors-v2/QaRubricItemDbAccessor.d.ts +180 -0
- package/dist/db-accessors-v2/QaRubricItemDbAccessor.js +265 -0
- package/dist/db-accessors-v2/QaRubricSectionDbAccessor.d.ts +180 -0
- package/dist/db-accessors-v2/QaRubricSectionDbAccessor.js +265 -0
- package/dist/db-accessors-v2/index.d.ts +4 -0
- package/dist/db-accessors-v2/index.js +10 -2
- package/dist/db-sdk-v2/QaAutoFailDb.d.ts +120 -0
- package/dist/db-sdk-v2/QaAutoFailDb.js +204 -0
- package/dist/db-sdk-v2/QaRubricDb.d.ts +122 -0
- package/dist/db-sdk-v2/QaRubricDb.js +210 -0
- package/dist/db-sdk-v2/QaRubricItemDb.d.ts +120 -0
- package/dist/db-sdk-v2/QaRubricItemDb.js +204 -0
- package/dist/db-sdk-v2/QaRubricSectionDb.d.ts +122 -0
- package/dist/db-sdk-v2/QaRubricSectionDb.js +210 -0
- package/dist/entities-v2/QaAutoFail.d.ts +117 -0
- package/dist/entities-v2/QaAutoFail.js +76 -0
- package/dist/entities-v2/QaReport.d.ts +41 -1
- package/dist/entities-v2/QaReport.js +10 -0
- package/dist/entities-v2/QaRubric.d.ts +152 -0
- package/dist/entities-v2/QaRubric.js +114 -0
- package/dist/entities-v2/QaRubricItem.d.ts +199 -0
- package/dist/entities-v2/QaRubricItem.js +110 -0
- package/dist/entities-v2/QaRubricSection.d.ts +108 -0
- package/dist/entities-v2/QaRubricSection.js +76 -0
- package/dist/records-v2/EmailRecord.d.ts +29 -0
- package/dist/records-v2/EmailRecord.js +36 -0
- package/dist/records-v2/QaAutoFailRecord.d.ts +205 -0
- package/dist/records-v2/QaAutoFailRecord.js +275 -0
- package/dist/records-v2/QaRubricItemRecord.d.ts +205 -0
- package/dist/records-v2/QaRubricItemRecord.js +275 -0
- package/dist/records-v2/QaRubricRecord.d.ts +225 -0
- package/dist/records-v2/QaRubricRecord.js +308 -0
- package/dist/records-v2/QaRubricSectionRecord.d.ts +225 -0
- package/dist/records-v2/QaRubricSectionRecord.js +308 -0
- package/dist/records-v2/index.d.ts +4 -0
- package/dist/records-v2/index.js +13 -1
- package/package.json +1 -1
|
@@ -0,0 +1,50 @@
|
|
|
1
|
+
import { OauthParams } from '@d19n/odin-sdk-generator/dist/odin-sdk-types';
|
|
2
|
+
import { ApiProvider } from '@d19n/odin-sdk-generator/dist/api.provider';
|
|
3
|
+
import { OdinSearchV2, OdinRecordCreateDto, OdinRecordUpdateDto } from '@d19n/odin-types/dist/core';
|
|
4
|
+
import { ApiRecordLinkManager } from '@d19n/odin-sdk-generator/dist/api.record.link.manager';
|
|
5
|
+
import { QaRubricSectionProperties } from '../entities-v2/QaRubricSection';
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use OdinApiClient.
|
|
8
|
+
*
|
|
9
|
+
* Migration:
|
|
10
|
+
* - Old: new QaRubricSectionApi(authParams).get(id)
|
|
11
|
+
* - New: new odin.qarubricsection.get(id)
|
|
12
|
+
*
|
|
13
|
+
* The new OdinApiClient returns typed record wrappers with action methods.
|
|
14
|
+
*/
|
|
15
|
+
export declare class QaRubricSectionApi extends ApiProvider {
|
|
16
|
+
protected readonly authToken?: string;
|
|
17
|
+
private readonly moduleName;
|
|
18
|
+
private readonly entityName;
|
|
19
|
+
private sourceRecord;
|
|
20
|
+
private _qarubric?;
|
|
21
|
+
private _qarubricitem?;
|
|
22
|
+
constructor(authParams?: OauthParams, authToken?: string);
|
|
23
|
+
get qarubric(): ApiRecordLinkManager;
|
|
24
|
+
get qarubricitem(): ApiRecordLinkManager;
|
|
25
|
+
setRecord(sourceRecord: any): void;
|
|
26
|
+
schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
|
|
27
|
+
search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<QaRubricSectionProperties>>>;
|
|
28
|
+
searchAndPaginate(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<QaRubricSectionProperties>>>;
|
|
29
|
+
reIndex(body: {
|
|
30
|
+
id: string;
|
|
31
|
+
schemaId: string;
|
|
32
|
+
}[]): Promise<any>;
|
|
33
|
+
get(qaRubricSectionId: string): Promise<import("@d19n/odin-types/dist/core").OdinRecord<QaRubricSectionProperties>>;
|
|
34
|
+
getMany(qaRubricSectionIds: string[]): Promise<import("@d19n/odin-types/dist/core").OdinRecord<QaRubricSectionProperties>[]>;
|
|
35
|
+
upsert(upsertDto: OdinRecordCreateDto): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes>;
|
|
36
|
+
upsertMany(upsertDtos: OdinRecordCreateDto[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes[]>;
|
|
37
|
+
update(updateDto: OdinRecordUpdateDto): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes>;
|
|
38
|
+
updateMany(updateDtos: OdinRecordUpdateDto[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes[]>;
|
|
39
|
+
delete(qaRubricSectionId: string): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinDeleteResponse[]>;
|
|
40
|
+
deleteMany(qaRubricSectionIds: string[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinDeleteResponse[]>;
|
|
41
|
+
restore(qaRubricSectionIds: string[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinRestoreResponse[]>;
|
|
42
|
+
applyAction(dto: any): Promise<any[]>;
|
|
43
|
+
bulkApplyActions(dtos: any[]): Promise<any[]>;
|
|
44
|
+
getVersions(): Promise<{
|
|
45
|
+
[key: string]: Record<string, any>;
|
|
46
|
+
}>;
|
|
47
|
+
getRevisionTimeline(): Promise<{
|
|
48
|
+
[key: string]: Record<string, any>[];
|
|
49
|
+
}>;
|
|
50
|
+
}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
+
exports.QaRubricSectionApi = void 0;
|
|
13
|
+
const api_provider_1 = require("@d19n/odin-sdk-generator/dist/api.provider");
|
|
14
|
+
const api_record_link_manager_1 = require("@d19n/odin-sdk-generator/dist/api.record.link.manager");
|
|
15
|
+
/**
|
|
16
|
+
* @deprecated Use OdinApiClient.
|
|
17
|
+
*
|
|
18
|
+
* Migration:
|
|
19
|
+
* - Old: new QaRubricSectionApi(authParams).get(id)
|
|
20
|
+
* - New: new odin.qarubricsection.get(id)
|
|
21
|
+
*
|
|
22
|
+
* The new OdinApiClient returns typed record wrappers with action methods.
|
|
23
|
+
*/
|
|
24
|
+
class QaRubricSectionApi extends api_provider_1.ApiProvider {
|
|
25
|
+
constructor(authParams, authToken) {
|
|
26
|
+
super(authParams, authToken);
|
|
27
|
+
this.authToken = authToken;
|
|
28
|
+
this.moduleName = 'SupportModule';
|
|
29
|
+
this.entityName = 'QaRubricSection';
|
|
30
|
+
// Link managers are lazy-loaded on first access
|
|
31
|
+
}
|
|
32
|
+
// ============================================
|
|
33
|
+
// LAZY-LOADED LINK MANAGERS (Public Getters)
|
|
34
|
+
// ============================================
|
|
35
|
+
// Usage remains identical: api.address.list(recordId)
|
|
36
|
+
get qarubric() {
|
|
37
|
+
if (!this._qarubric) {
|
|
38
|
+
this._qarubric = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:QaRubricSection', 'SupportModule:QaRubric', 'Rubric__Section');
|
|
39
|
+
}
|
|
40
|
+
return this._qarubric;
|
|
41
|
+
}
|
|
42
|
+
get qarubricitem() {
|
|
43
|
+
if (!this._qarubricitem) {
|
|
44
|
+
this._qarubricitem = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:QaRubricSection', 'SupportModule:QaRubricItem', 'Section__Item');
|
|
45
|
+
}
|
|
46
|
+
return this._qarubricitem;
|
|
47
|
+
}
|
|
48
|
+
// ============================================
|
|
49
|
+
// STANDARD METHODS (Unchanged API)
|
|
50
|
+
// ============================================
|
|
51
|
+
setRecord(sourceRecord) {
|
|
52
|
+
this.sourceRecord = sourceRecord;
|
|
53
|
+
}
|
|
54
|
+
schema() {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
return yield this.getSchema(this.moduleName, this.entityName);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// Use this function when you want to search and handle all pagination on your own
|
|
60
|
+
search(params) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
return yield this._searchRecords(this.moduleName, this.entityName, params);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// Use this function when you want paginating through the results to be handled
|
|
66
|
+
searchAndPaginate(params) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
return yield this._searchAllRecordsAndPaginate(this.moduleName, this.entityName, params);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// Use this function to re-index records in elastic search
|
|
72
|
+
reIndex(body) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
return yield this._reIndexRecords(body);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Use this function when you want to return a single record
|
|
78
|
+
get(qaRubricSectionId) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
const res = yield this._getByPrimaryKey(this.moduleName, this.entityName, qaRubricSectionId);
|
|
81
|
+
if (res)
|
|
82
|
+
this.setRecord(res);
|
|
83
|
+
return res;
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// Use this function when you want to return many records by primaryKeys
|
|
87
|
+
getMany(qaRubricSectionIds) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
return yield this._getManyByPrimaryKey(this.moduleName, this.entityName, qaRubricSectionIds);
|
|
90
|
+
});
|
|
91
|
+
}
|
|
92
|
+
// Use this function when you want to upsert one record
|
|
93
|
+
upsert(upsertDto) {
|
|
94
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
95
|
+
const res = yield this._upsert(this.moduleName, this.entityName, [upsertDto]);
|
|
96
|
+
return res[0];
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
// Use this function when you want to upsert many records
|
|
100
|
+
upsertMany(upsertDtos) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
return yield this._upsert(this.moduleName, this.entityName, upsertDtos);
|
|
103
|
+
});
|
|
104
|
+
}
|
|
105
|
+
// Use this function when you want to update one record
|
|
106
|
+
update(updateDto) {
|
|
107
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
+
const res = yield this._update(this.moduleName, this.entityName, [updateDto]);
|
|
109
|
+
return res[0];
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
// Use this function when you want to update many records
|
|
113
|
+
updateMany(updateDtos) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
return yield this._update(this.moduleName, this.entityName, updateDtos);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
// Use this function when you want to delete one record
|
|
119
|
+
delete(qaRubricSectionId) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
return yield this._delete(this.moduleName, this.entityName, [qaRubricSectionId]);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// Use this function when you want to delete many records
|
|
125
|
+
deleteMany(qaRubricSectionIds) {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
return yield this._delete(this.moduleName, this.entityName, qaRubricSectionIds);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// Use this function when you want to restore one or many records
|
|
131
|
+
restore(qaRubricSectionIds) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
return yield this._restore(this.moduleName, this.entityName, qaRubricSectionIds);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
// Use this function when you want to apply a single action
|
|
137
|
+
applyAction(dto) {
|
|
138
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
+
return yield this._applyAction(this.moduleName, this.entityName, dto);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// Use this function when you want to bulk apply actions
|
|
143
|
+
bulkApplyActions(dtos) {
|
|
144
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
return yield this._bulkApplyActions(this.moduleName, this.entityName, dtos);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
// Use this function when you want to return the versions for a single record
|
|
149
|
+
getVersions() {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
return yield this._getVersions(this.moduleName, this.entityName, this.sourceRecord.id);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
// Use this function when you want to return the change history for a single record
|
|
155
|
+
getRevisionTimeline() {
|
|
156
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
157
|
+
return yield this._getRevisionTimeline(this.moduleName, this.entityName, this.sourceRecord.id);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
exports.QaRubricSectionApi = QaRubricSectionApi;
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* QaAutoFail DB Accessor
|
|
3
|
+
*
|
|
4
|
+
* Provides typed access to QaAutoFail 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 QaAutoFailDbAccessor(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 { QaAutoFailProperties } from '../entities-v2/QaAutoFail';
|
|
32
|
+
import { QaAutoFailRecord } from '../records-v2/QaAutoFailRecord';
|
|
33
|
+
/** Search response with wrapped records */
|
|
34
|
+
export interface QaAutoFailDbSearchResponse {
|
|
35
|
+
records: QaAutoFailRecord[];
|
|
36
|
+
totalRecords: number;
|
|
37
|
+
hasMore: boolean;
|
|
38
|
+
aggregations?: Record<string, any>;
|
|
39
|
+
}
|
|
40
|
+
export declare class QaAutoFailDbAccessor {
|
|
41
|
+
private readonly _provider;
|
|
42
|
+
private readonly _moduleName;
|
|
43
|
+
private readonly _entityName;
|
|
44
|
+
private readonly _defaultOptions?;
|
|
45
|
+
/**
|
|
46
|
+
* Create a new QaAutoFailDbAccessor
|
|
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 QaAutoFail 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): QaAutoFailRecord;
|
|
79
|
+
/**
|
|
80
|
+
* Get a single QaAutoFail 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<QaAutoFailRecord>;
|
|
102
|
+
/**
|
|
103
|
+
* Get multiple QaAutoFail 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<QaAutoFailRecord[]>;
|
|
110
|
+
/**
|
|
111
|
+
* Get QaAutoFail 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<QaAutoFailRecord[]>;
|
|
140
|
+
/**
|
|
141
|
+
* Search QaAutoFail 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<QaAutoFailDbSearchResponse>;
|
|
147
|
+
/**
|
|
148
|
+
* Search all QaAutoFail 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<QaAutoFailRecord[]>;
|
|
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<QaAutoFailRecord[]>;
|
|
162
|
+
/**
|
|
163
|
+
* Create a fluent query builder for QaAutoFail 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<QaAutoFailProperties, QaAutoFailRecord>;
|
|
178
|
+
/** Access the underlying DbProvider */
|
|
179
|
+
get provider(): DbProvider;
|
|
180
|
+
}
|
|
@@ -0,0 +1,265 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* QaAutoFail DB Accessor
|
|
4
|
+
*
|
|
5
|
+
* Provides typed access to QaAutoFail 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 QaAutoFailDbAccessor(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.QaAutoFailDbAccessor = 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 QaAutoFailRecord_1 = require("../records-v2/QaAutoFailRecord");
|
|
55
|
+
class QaAutoFailDbAccessor {
|
|
56
|
+
/**
|
|
57
|
+
* Create a new QaAutoFailDbAccessor
|
|
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 = 'QaAutoFail';
|
|
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 QaAutoFail 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 QaAutoFailRecord_1.QaAutoFailRecord(null, this._provider, id);
|
|
99
|
+
}
|
|
100
|
+
// ============================================
|
|
101
|
+
// RECORD RETRIEVAL
|
|
102
|
+
// ============================================
|
|
103
|
+
/**
|
|
104
|
+
* Get a single QaAutoFail 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 QaAutoFailRecord_1.QaAutoFailRecord(record, this._provider);
|
|
129
|
+
});
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Get multiple QaAutoFail 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 QaAutoFailRecord_1.QaAutoFailRecord(r, this._provider));
|
|
144
|
+
});
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* Get QaAutoFail 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 QaAutoFailRecord_1.QaAutoFailRecord(r, this._provider));
|
|
181
|
+
});
|
|
182
|
+
}
|
|
183
|
+
// ============================================
|
|
184
|
+
// SEARCH OPERATIONS
|
|
185
|
+
// ============================================
|
|
186
|
+
/**
|
|
187
|
+
* Search QaAutoFail 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 QaAutoFailRecord_1.QaAutoFailRecord(r, this._provider)),
|
|
197
|
+
totalRecords: result.totalRecords,
|
|
198
|
+
hasMore: result.hasMore,
|
|
199
|
+
aggregations: result.aggregations,
|
|
200
|
+
};
|
|
201
|
+
});
|
|
202
|
+
}
|
|
203
|
+
/**
|
|
204
|
+
* Search all QaAutoFail 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 QaAutoFailRecord_1.QaAutoFailRecord(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 QaAutoFailRecord_1.QaAutoFailRecord(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 QaAutoFail 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.QaAutoFailDbAccessor = QaAutoFailDbAccessor;
|