@d19n/youfibre-odin-sdk 2.0.321 → 2.0.322
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 -2
- package/dist/actions-v2/CompleteServiceWorkOrderFlowDto.d.ts +14 -14
- package/dist/actions-v2/CompleteServiceWorkOrderFlowDto.js +22 -22
- package/dist/actions-v2/DefaultServiceWorkOrderEditFormDto.d.ts +8 -1
- package/dist/actions-v2/UpdateCustomerDeviceBatteryDto.d.ts +3 -1
- package/dist/actions-v2/UpdateCustomerDeviceBatteryDto.js +3 -1
- package/dist/api-sdk-v2/CaseApi.d.ts +4 -0
- package/dist/api-sdk-v2/CaseApi.js +12 -0
- package/dist/api-sdk-v2/CoachingSessionApi.d.ts +50 -0
- package/dist/api-sdk-v2/CoachingSessionApi.js +161 -0
- package/dist/api-sdk-v2/QaEvaluationAnswerApi.d.ts +48 -0
- package/dist/api-sdk-v2/QaEvaluationAnswerApi.js +155 -0
- package/dist/api-sdk-v2/QaEvaluationApi.d.ts +54 -0
- package/dist/api-sdk-v2/QaEvaluationApi.js +173 -0
- package/dist/api-sdk-v2/QaScorecardQuestionApi.d.ts +48 -0
- package/dist/api-sdk-v2/QaScorecardQuestionApi.js +155 -0
- package/dist/api-sdk-v2/QaScorecardTemplateApi.d.ts +50 -0
- package/dist/api-sdk-v2/QaScorecardTemplateApi.js +161 -0
- package/dist/db-sdk-v2/CaseDb.d.ts +4 -0
- package/dist/db-sdk-v2/CaseDb.js +12 -0
- package/dist/db-sdk-v2/CoachingSessionDb.d.ts +122 -0
- package/dist/db-sdk-v2/CoachingSessionDb.js +210 -0
- package/dist/db-sdk-v2/QaEvaluationAnswerDb.d.ts +120 -0
- package/dist/db-sdk-v2/QaEvaluationAnswerDb.js +204 -0
- package/dist/db-sdk-v2/QaEvaluationDb.d.ts +126 -0
- package/dist/db-sdk-v2/QaEvaluationDb.js +222 -0
- package/dist/db-sdk-v2/QaScorecardQuestionDb.d.ts +120 -0
- package/dist/db-sdk-v2/QaScorecardQuestionDb.js +204 -0
- package/dist/db-sdk-v2/QaScorecardTemplateDb.d.ts +122 -0
- package/dist/db-sdk-v2/QaScorecardTemplateDb.js +210 -0
- package/dist/entities-v2/Case.d.ts +14 -0
- package/dist/entities-v2/Case.js +9 -1
- package/dist/entities-v2/CoachingSession.d.ts +247 -0
- package/dist/entities-v2/CoachingSession.js +145 -0
- package/dist/entities-v2/CustomerDeviceRouter.d.ts +258 -8
- package/dist/entities-v2/CustomerDeviceRouter.js +17 -9
- package/dist/entities-v2/QaEvaluation.d.ts +361 -0
- package/dist/entities-v2/QaEvaluation.js +217 -0
- package/dist/entities-v2/QaEvaluationAnswer.d.ts +127 -0
- package/dist/entities-v2/QaEvaluationAnswer.js +92 -0
- package/dist/entities-v2/QaScorecardQuestion.d.ts +155 -0
- package/dist/entities-v2/QaScorecardQuestion.js +96 -0
- package/dist/entities-v2/QaScorecardTemplate.d.ts +152 -0
- package/dist/entities-v2/QaScorecardTemplate.js +114 -0
- package/dist/entities-v2/WorkOrder.d.ts +210 -1
- package/dist/entities-v2/WorkOrder.js +22 -4
- package/dist/entities-v2/YfFieldVisitOutcomeForm.d.ts +4 -3
- package/dist/entities-v2/YfFieldVisitOutcomeForm.js +2 -1
- package/dist/records-v2/CustomerDeviceRouterRecord.d.ts +38 -2
- package/dist/records-v2/CustomerDeviceRouterRecord.js +37 -0
- package/dist/records-v2/WorkOrderRecord.d.ts +4 -4
- package/dist/records-v2/WorkOrderRecord.js +4 -4
- package/dist/records-v2/YfFieldVisitOutcomeFormRecord.d.ts +5 -4
- package/dist/records-v2/YfFieldVisitOutcomeFormRecord.js +5 -5
- package/package.json +1 -1
|
@@ -0,0 +1,155 @@
|
|
|
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.QaEvaluationAnswerApi = 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 QaEvaluationAnswerApi(authParams).get(id)
|
|
20
|
+
* - New: new odin.qaevaluationanswer.get(id)
|
|
21
|
+
*
|
|
22
|
+
* The new OdinApiClient returns typed record wrappers with action methods.
|
|
23
|
+
*/
|
|
24
|
+
class QaEvaluationAnswerApi extends api_provider_1.ApiProvider {
|
|
25
|
+
constructor(authParams, authToken) {
|
|
26
|
+
super(authParams, authToken);
|
|
27
|
+
this.authToken = authToken;
|
|
28
|
+
this.moduleName = 'SupportModule';
|
|
29
|
+
this.entityName = 'QaEvaluationAnswer';
|
|
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 qaevaluation() {
|
|
37
|
+
if (!this._qaevaluation) {
|
|
38
|
+
this._qaevaluation = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:QaEvaluationAnswer', 'SupportModule:QaEvaluation', 'QaEvaluation__QaEvaluationAnswer');
|
|
39
|
+
}
|
|
40
|
+
return this._qaevaluation;
|
|
41
|
+
}
|
|
42
|
+
// ============================================
|
|
43
|
+
// STANDARD METHODS (Unchanged API)
|
|
44
|
+
// ============================================
|
|
45
|
+
setRecord(sourceRecord) {
|
|
46
|
+
this.sourceRecord = sourceRecord;
|
|
47
|
+
}
|
|
48
|
+
schema() {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
return yield this.getSchema(this.moduleName, this.entityName);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
// Use this function when you want to search and handle all pagination on your own
|
|
54
|
+
search(params) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
return yield this._searchRecords(this.moduleName, this.entityName, params);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// Use this function when you want paginating through the results to be handled
|
|
60
|
+
searchAndPaginate(params) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
return yield this._searchAllRecordsAndPaginate(this.moduleName, this.entityName, params);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// Use this function to re-index records in elastic search
|
|
66
|
+
reIndex(body) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
return yield this._reIndexRecords(body);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// Use this function when you want to return a single record
|
|
72
|
+
get(qaEvaluationAnswerId) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const res = yield this._getByPrimaryKey(this.moduleName, this.entityName, qaEvaluationAnswerId);
|
|
75
|
+
if (res)
|
|
76
|
+
this.setRecord(res);
|
|
77
|
+
return res;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// Use this function when you want to return many records by primaryKeys
|
|
81
|
+
getMany(qaEvaluationAnswerIds) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
return yield this._getManyByPrimaryKey(this.moduleName, this.entityName, qaEvaluationAnswerIds);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// Use this function when you want to upsert one record
|
|
87
|
+
upsert(upsertDto) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
const res = yield this._upsert(this.moduleName, this.entityName, [upsertDto]);
|
|
90
|
+
return res[0];
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// Use this function when you want to upsert many records
|
|
94
|
+
upsertMany(upsertDtos) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
return yield this._upsert(this.moduleName, this.entityName, upsertDtos);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
// Use this function when you want to update one record
|
|
100
|
+
update(updateDto) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
const res = yield this._update(this.moduleName, this.entityName, [updateDto]);
|
|
103
|
+
return res[0];
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
// Use this function when you want to update many records
|
|
107
|
+
updateMany(updateDtos) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
return yield this._update(this.moduleName, this.entityName, updateDtos);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
// Use this function when you want to delete one record
|
|
113
|
+
delete(qaEvaluationAnswerId) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
return yield this._delete(this.moduleName, this.entityName, [qaEvaluationAnswerId]);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
// Use this function when you want to delete many records
|
|
119
|
+
deleteMany(qaEvaluationAnswerIds) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
return yield this._delete(this.moduleName, this.entityName, qaEvaluationAnswerIds);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// Use this function when you want to restore one or many records
|
|
125
|
+
restore(qaEvaluationAnswerIds) {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
return yield this._restore(this.moduleName, this.entityName, qaEvaluationAnswerIds);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// Use this function when you want to apply a single action
|
|
131
|
+
applyAction(dto) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
return yield this._applyAction(this.moduleName, this.entityName, dto);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
// Use this function when you want to bulk apply actions
|
|
137
|
+
bulkApplyActions(dtos) {
|
|
138
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
+
return yield this._bulkApplyActions(this.moduleName, this.entityName, dtos);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// Use this function when you want to return the versions for a single record
|
|
143
|
+
getVersions() {
|
|
144
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
return yield this._getVersions(this.moduleName, this.entityName, this.sourceRecord.id);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
// Use this function when you want to return the change history for a single record
|
|
149
|
+
getRevisionTimeline() {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
return yield this._getRevisionTimeline(this.moduleName, this.entityName, this.sourceRecord.id);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.QaEvaluationAnswerApi = QaEvaluationAnswerApi;
|
|
@@ -0,0 +1,54 @@
|
|
|
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 { QaEvaluationProperties } from '../entities-v2/QaEvaluation';
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use OdinApiClient.
|
|
8
|
+
*
|
|
9
|
+
* Migration:
|
|
10
|
+
* - Old: new QaEvaluationApi(authParams).get(id)
|
|
11
|
+
* - New: new odin.qaevaluation.get(id)
|
|
12
|
+
*
|
|
13
|
+
* The new OdinApiClient returns typed record wrappers with action methods.
|
|
14
|
+
*/
|
|
15
|
+
export declare class QaEvaluationApi extends ApiProvider {
|
|
16
|
+
protected readonly authToken?: string;
|
|
17
|
+
private readonly moduleName;
|
|
18
|
+
private readonly entityName;
|
|
19
|
+
private sourceRecord;
|
|
20
|
+
private _case?;
|
|
21
|
+
private _qascorecardtemplate?;
|
|
22
|
+
private _coachingsession?;
|
|
23
|
+
private _qaevaluationanswer?;
|
|
24
|
+
constructor(authParams?: OauthParams, authToken?: string);
|
|
25
|
+
get case(): ApiRecordLinkManager;
|
|
26
|
+
get qascorecardtemplate(): ApiRecordLinkManager;
|
|
27
|
+
get coachingsession(): ApiRecordLinkManager;
|
|
28
|
+
get qaevaluationanswer(): ApiRecordLinkManager;
|
|
29
|
+
setRecord(sourceRecord: any): void;
|
|
30
|
+
schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
|
|
31
|
+
search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<QaEvaluationProperties>>>;
|
|
32
|
+
searchAndPaginate(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<QaEvaluationProperties>>>;
|
|
33
|
+
reIndex(body: {
|
|
34
|
+
id: string;
|
|
35
|
+
schemaId: string;
|
|
36
|
+
}[]): Promise<any>;
|
|
37
|
+
get(qaEvaluationId: string): Promise<import("@d19n/odin-types/dist/core").OdinRecord<QaEvaluationProperties>>;
|
|
38
|
+
getMany(qaEvaluationIds: string[]): Promise<import("@d19n/odin-types/dist/core").OdinRecord<QaEvaluationProperties>[]>;
|
|
39
|
+
upsert(upsertDto: OdinRecordCreateDto): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes>;
|
|
40
|
+
upsertMany(upsertDtos: OdinRecordCreateDto[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes[]>;
|
|
41
|
+
update(updateDto: OdinRecordUpdateDto): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes>;
|
|
42
|
+
updateMany(updateDtos: OdinRecordUpdateDto[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes[]>;
|
|
43
|
+
delete(qaEvaluationId: string): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinDeleteResponse[]>;
|
|
44
|
+
deleteMany(qaEvaluationIds: string[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinDeleteResponse[]>;
|
|
45
|
+
restore(qaEvaluationIds: string[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinRestoreResponse[]>;
|
|
46
|
+
applyAction(dto: any): Promise<any[]>;
|
|
47
|
+
bulkApplyActions(dtos: any[]): Promise<any[]>;
|
|
48
|
+
getVersions(): Promise<{
|
|
49
|
+
[key: string]: Record<string, any>;
|
|
50
|
+
}>;
|
|
51
|
+
getRevisionTimeline(): Promise<{
|
|
52
|
+
[key: string]: Record<string, any>[];
|
|
53
|
+
}>;
|
|
54
|
+
}
|
|
@@ -0,0 +1,173 @@
|
|
|
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.QaEvaluationApi = 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 QaEvaluationApi(authParams).get(id)
|
|
20
|
+
* - New: new odin.qaevaluation.get(id)
|
|
21
|
+
*
|
|
22
|
+
* The new OdinApiClient returns typed record wrappers with action methods.
|
|
23
|
+
*/
|
|
24
|
+
class QaEvaluationApi extends api_provider_1.ApiProvider {
|
|
25
|
+
constructor(authParams, authToken) {
|
|
26
|
+
super(authParams, authToken);
|
|
27
|
+
this.authToken = authToken;
|
|
28
|
+
this.moduleName = 'SupportModule';
|
|
29
|
+
this.entityName = 'QaEvaluation';
|
|
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 case() {
|
|
37
|
+
if (!this._case) {
|
|
38
|
+
this._case = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:QaEvaluation', 'SupportModule:Case', 'Case__QaEvaluation');
|
|
39
|
+
}
|
|
40
|
+
return this._case;
|
|
41
|
+
}
|
|
42
|
+
get qascorecardtemplate() {
|
|
43
|
+
if (!this._qascorecardtemplate) {
|
|
44
|
+
this._qascorecardtemplate = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:QaEvaluation', 'SupportModule:QaScorecardTemplate', 'QaScorecardTemplate__QaEvaluation');
|
|
45
|
+
}
|
|
46
|
+
return this._qascorecardtemplate;
|
|
47
|
+
}
|
|
48
|
+
get coachingsession() {
|
|
49
|
+
if (!this._coachingsession) {
|
|
50
|
+
this._coachingsession = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:QaEvaluation', 'SupportModule:CoachingSession', 'QaEvaluation__CoachingSession');
|
|
51
|
+
}
|
|
52
|
+
return this._coachingsession;
|
|
53
|
+
}
|
|
54
|
+
get qaevaluationanswer() {
|
|
55
|
+
if (!this._qaevaluationanswer) {
|
|
56
|
+
this._qaevaluationanswer = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:QaEvaluation', 'SupportModule:QaEvaluationAnswer', 'QaEvaluation__QaEvaluationAnswer');
|
|
57
|
+
}
|
|
58
|
+
return this._qaevaluationanswer;
|
|
59
|
+
}
|
|
60
|
+
// ============================================
|
|
61
|
+
// STANDARD METHODS (Unchanged API)
|
|
62
|
+
// ============================================
|
|
63
|
+
setRecord(sourceRecord) {
|
|
64
|
+
this.sourceRecord = sourceRecord;
|
|
65
|
+
}
|
|
66
|
+
schema() {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
return yield this.getSchema(this.moduleName, this.entityName);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// Use this function when you want to search and handle all pagination on your own
|
|
72
|
+
search(params) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
return yield this._searchRecords(this.moduleName, this.entityName, params);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
// Use this function when you want paginating through the results to be handled
|
|
78
|
+
searchAndPaginate(params) {
|
|
79
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
80
|
+
return yield this._searchAllRecordsAndPaginate(this.moduleName, this.entityName, params);
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
// Use this function to re-index records in elastic search
|
|
84
|
+
reIndex(body) {
|
|
85
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
86
|
+
return yield this._reIndexRecords(body);
|
|
87
|
+
});
|
|
88
|
+
}
|
|
89
|
+
// Use this function when you want to return a single record
|
|
90
|
+
get(qaEvaluationId) {
|
|
91
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
92
|
+
const res = yield this._getByPrimaryKey(this.moduleName, this.entityName, qaEvaluationId);
|
|
93
|
+
if (res)
|
|
94
|
+
this.setRecord(res);
|
|
95
|
+
return res;
|
|
96
|
+
});
|
|
97
|
+
}
|
|
98
|
+
// Use this function when you want to return many records by primaryKeys
|
|
99
|
+
getMany(qaEvaluationIds) {
|
|
100
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
101
|
+
return yield this._getManyByPrimaryKey(this.moduleName, this.entityName, qaEvaluationIds);
|
|
102
|
+
});
|
|
103
|
+
}
|
|
104
|
+
// Use this function when you want to upsert one record
|
|
105
|
+
upsert(upsertDto) {
|
|
106
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
107
|
+
const res = yield this._upsert(this.moduleName, this.entityName, [upsertDto]);
|
|
108
|
+
return res[0];
|
|
109
|
+
});
|
|
110
|
+
}
|
|
111
|
+
// Use this function when you want to upsert many records
|
|
112
|
+
upsertMany(upsertDtos) {
|
|
113
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
114
|
+
return yield this._upsert(this.moduleName, this.entityName, upsertDtos);
|
|
115
|
+
});
|
|
116
|
+
}
|
|
117
|
+
// Use this function when you want to update one record
|
|
118
|
+
update(updateDto) {
|
|
119
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
120
|
+
const res = yield this._update(this.moduleName, this.entityName, [updateDto]);
|
|
121
|
+
return res[0];
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// Use this function when you want to update many records
|
|
125
|
+
updateMany(updateDtos) {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
return yield this._update(this.moduleName, this.entityName, updateDtos);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// Use this function when you want to delete one record
|
|
131
|
+
delete(qaEvaluationId) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
return yield this._delete(this.moduleName, this.entityName, [qaEvaluationId]);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
// Use this function when you want to delete many records
|
|
137
|
+
deleteMany(qaEvaluationIds) {
|
|
138
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
+
return yield this._delete(this.moduleName, this.entityName, qaEvaluationIds);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// Use this function when you want to restore one or many records
|
|
143
|
+
restore(qaEvaluationIds) {
|
|
144
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
return yield this._restore(this.moduleName, this.entityName, qaEvaluationIds);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
// Use this function when you want to apply a single action
|
|
149
|
+
applyAction(dto) {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
return yield this._applyAction(this.moduleName, this.entityName, dto);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
// Use this function when you want to bulk apply actions
|
|
155
|
+
bulkApplyActions(dtos) {
|
|
156
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
157
|
+
return yield this._bulkApplyActions(this.moduleName, this.entityName, dtos);
|
|
158
|
+
});
|
|
159
|
+
}
|
|
160
|
+
// Use this function when you want to return the versions for a single record
|
|
161
|
+
getVersions() {
|
|
162
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
163
|
+
return yield this._getVersions(this.moduleName, this.entityName, this.sourceRecord.id);
|
|
164
|
+
});
|
|
165
|
+
}
|
|
166
|
+
// Use this function when you want to return the change history for a single record
|
|
167
|
+
getRevisionTimeline() {
|
|
168
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
169
|
+
return yield this._getRevisionTimeline(this.moduleName, this.entityName, this.sourceRecord.id);
|
|
170
|
+
});
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
exports.QaEvaluationApi = QaEvaluationApi;
|
|
@@ -0,0 +1,48 @@
|
|
|
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 { QaScorecardQuestionProperties } from '../entities-v2/QaScorecardQuestion';
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use OdinApiClient.
|
|
8
|
+
*
|
|
9
|
+
* Migration:
|
|
10
|
+
* - Old: new QaScorecardQuestionApi(authParams).get(id)
|
|
11
|
+
* - New: new odin.qascorecardquestion.get(id)
|
|
12
|
+
*
|
|
13
|
+
* The new OdinApiClient returns typed record wrappers with action methods.
|
|
14
|
+
*/
|
|
15
|
+
export declare class QaScorecardQuestionApi extends ApiProvider {
|
|
16
|
+
protected readonly authToken?: string;
|
|
17
|
+
private readonly moduleName;
|
|
18
|
+
private readonly entityName;
|
|
19
|
+
private sourceRecord;
|
|
20
|
+
private _qascorecardtemplate?;
|
|
21
|
+
constructor(authParams?: OauthParams, authToken?: string);
|
|
22
|
+
get qascorecardtemplate(): ApiRecordLinkManager;
|
|
23
|
+
setRecord(sourceRecord: any): void;
|
|
24
|
+
schema(): Promise<import("@d19n/odin-types/dist/core").OdinSchema>;
|
|
25
|
+
search(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<QaScorecardQuestionProperties>>>;
|
|
26
|
+
searchAndPaginate(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<QaScorecardQuestionProperties>>>;
|
|
27
|
+
reIndex(body: {
|
|
28
|
+
id: string;
|
|
29
|
+
schemaId: string;
|
|
30
|
+
}[]): Promise<any>;
|
|
31
|
+
get(qaScorecardQuestionId: string): Promise<import("@d19n/odin-types/dist/core").OdinRecord<QaScorecardQuestionProperties>>;
|
|
32
|
+
getMany(qaScorecardQuestionIds: string[]): Promise<import("@d19n/odin-types/dist/core").OdinRecord<QaScorecardQuestionProperties>[]>;
|
|
33
|
+
upsert(upsertDto: OdinRecordCreateDto): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes>;
|
|
34
|
+
upsertMany(upsertDtos: OdinRecordCreateDto[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes[]>;
|
|
35
|
+
update(updateDto: OdinRecordUpdateDto): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes>;
|
|
36
|
+
updateMany(updateDtos: OdinRecordUpdateDto[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").IDbRecordCreateUpdateRes[]>;
|
|
37
|
+
delete(qaScorecardQuestionId: string): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinDeleteResponse[]>;
|
|
38
|
+
deleteMany(qaScorecardQuestionIds: string[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinDeleteResponse[]>;
|
|
39
|
+
restore(qaScorecardQuestionIds: string[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinRestoreResponse[]>;
|
|
40
|
+
applyAction(dto: any): Promise<any[]>;
|
|
41
|
+
bulkApplyActions(dtos: any[]): Promise<any[]>;
|
|
42
|
+
getVersions(): Promise<{
|
|
43
|
+
[key: string]: Record<string, any>;
|
|
44
|
+
}>;
|
|
45
|
+
getRevisionTimeline(): Promise<{
|
|
46
|
+
[key: string]: Record<string, any>[];
|
|
47
|
+
}>;
|
|
48
|
+
}
|
|
@@ -0,0 +1,155 @@
|
|
|
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.QaScorecardQuestionApi = 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 QaScorecardQuestionApi(authParams).get(id)
|
|
20
|
+
* - New: new odin.qascorecardquestion.get(id)
|
|
21
|
+
*
|
|
22
|
+
* The new OdinApiClient returns typed record wrappers with action methods.
|
|
23
|
+
*/
|
|
24
|
+
class QaScorecardQuestionApi extends api_provider_1.ApiProvider {
|
|
25
|
+
constructor(authParams, authToken) {
|
|
26
|
+
super(authParams, authToken);
|
|
27
|
+
this.authToken = authToken;
|
|
28
|
+
this.moduleName = 'SupportModule';
|
|
29
|
+
this.entityName = 'QaScorecardQuestion';
|
|
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 qascorecardtemplate() {
|
|
37
|
+
if (!this._qascorecardtemplate) {
|
|
38
|
+
this._qascorecardtemplate = new api_record_link_manager_1.ApiRecordLinkManager(this.authParams, 'SupportModule:QaScorecardQuestion', 'SupportModule:QaScorecardTemplate', 'QaScorecardTemplate__QaScorecardQuestion');
|
|
39
|
+
}
|
|
40
|
+
return this._qascorecardtemplate;
|
|
41
|
+
}
|
|
42
|
+
// ============================================
|
|
43
|
+
// STANDARD METHODS (Unchanged API)
|
|
44
|
+
// ============================================
|
|
45
|
+
setRecord(sourceRecord) {
|
|
46
|
+
this.sourceRecord = sourceRecord;
|
|
47
|
+
}
|
|
48
|
+
schema() {
|
|
49
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
50
|
+
return yield this.getSchema(this.moduleName, this.entityName);
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
// Use this function when you want to search and handle all pagination on your own
|
|
54
|
+
search(params) {
|
|
55
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
56
|
+
return yield this._searchRecords(this.moduleName, this.entityName, params);
|
|
57
|
+
});
|
|
58
|
+
}
|
|
59
|
+
// Use this function when you want paginating through the results to be handled
|
|
60
|
+
searchAndPaginate(params) {
|
|
61
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
62
|
+
return yield this._searchAllRecordsAndPaginate(this.moduleName, this.entityName, params);
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
// Use this function to re-index records in elastic search
|
|
66
|
+
reIndex(body) {
|
|
67
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
+
return yield this._reIndexRecords(body);
|
|
69
|
+
});
|
|
70
|
+
}
|
|
71
|
+
// Use this function when you want to return a single record
|
|
72
|
+
get(qaScorecardQuestionId) {
|
|
73
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
74
|
+
const res = yield this._getByPrimaryKey(this.moduleName, this.entityName, qaScorecardQuestionId);
|
|
75
|
+
if (res)
|
|
76
|
+
this.setRecord(res);
|
|
77
|
+
return res;
|
|
78
|
+
});
|
|
79
|
+
}
|
|
80
|
+
// Use this function when you want to return many records by primaryKeys
|
|
81
|
+
getMany(qaScorecardQuestionIds) {
|
|
82
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
83
|
+
return yield this._getManyByPrimaryKey(this.moduleName, this.entityName, qaScorecardQuestionIds);
|
|
84
|
+
});
|
|
85
|
+
}
|
|
86
|
+
// Use this function when you want to upsert one record
|
|
87
|
+
upsert(upsertDto) {
|
|
88
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
89
|
+
const res = yield this._upsert(this.moduleName, this.entityName, [upsertDto]);
|
|
90
|
+
return res[0];
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
// Use this function when you want to upsert many records
|
|
94
|
+
upsertMany(upsertDtos) {
|
|
95
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
96
|
+
return yield this._upsert(this.moduleName, this.entityName, upsertDtos);
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
// Use this function when you want to update one record
|
|
100
|
+
update(updateDto) {
|
|
101
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
102
|
+
const res = yield this._update(this.moduleName, this.entityName, [updateDto]);
|
|
103
|
+
return res[0];
|
|
104
|
+
});
|
|
105
|
+
}
|
|
106
|
+
// Use this function when you want to update many records
|
|
107
|
+
updateMany(updateDtos) {
|
|
108
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
109
|
+
return yield this._update(this.moduleName, this.entityName, updateDtos);
|
|
110
|
+
});
|
|
111
|
+
}
|
|
112
|
+
// Use this function when you want to delete one record
|
|
113
|
+
delete(qaScorecardQuestionId) {
|
|
114
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
115
|
+
return yield this._delete(this.moduleName, this.entityName, [qaScorecardQuestionId]);
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
// Use this function when you want to delete many records
|
|
119
|
+
deleteMany(qaScorecardQuestionIds) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
return yield this._delete(this.moduleName, this.entityName, qaScorecardQuestionIds);
|
|
122
|
+
});
|
|
123
|
+
}
|
|
124
|
+
// Use this function when you want to restore one or many records
|
|
125
|
+
restore(qaScorecardQuestionIds) {
|
|
126
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
127
|
+
return yield this._restore(this.moduleName, this.entityName, qaScorecardQuestionIds);
|
|
128
|
+
});
|
|
129
|
+
}
|
|
130
|
+
// Use this function when you want to apply a single action
|
|
131
|
+
applyAction(dto) {
|
|
132
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
133
|
+
return yield this._applyAction(this.moduleName, this.entityName, dto);
|
|
134
|
+
});
|
|
135
|
+
}
|
|
136
|
+
// Use this function when you want to bulk apply actions
|
|
137
|
+
bulkApplyActions(dtos) {
|
|
138
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
139
|
+
return yield this._bulkApplyActions(this.moduleName, this.entityName, dtos);
|
|
140
|
+
});
|
|
141
|
+
}
|
|
142
|
+
// Use this function when you want to return the versions for a single record
|
|
143
|
+
getVersions() {
|
|
144
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
145
|
+
return yield this._getVersions(this.moduleName, this.entityName, this.sourceRecord.id);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
// Use this function when you want to return the change history for a single record
|
|
149
|
+
getRevisionTimeline() {
|
|
150
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
151
|
+
return yield this._getRevisionTimeline(this.moduleName, this.entityName, this.sourceRecord.id);
|
|
152
|
+
});
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
exports.QaScorecardQuestionApi = QaScorecardQuestionApi;
|
|
@@ -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 { QaScorecardTemplateProperties } from '../entities-v2/QaScorecardTemplate';
|
|
6
|
+
/**
|
|
7
|
+
* @deprecated Use OdinApiClient.
|
|
8
|
+
*
|
|
9
|
+
* Migration:
|
|
10
|
+
* - Old: new QaScorecardTemplateApi(authParams).get(id)
|
|
11
|
+
* - New: new odin.qascorecardtemplate.get(id)
|
|
12
|
+
*
|
|
13
|
+
* The new OdinApiClient returns typed record wrappers with action methods.
|
|
14
|
+
*/
|
|
15
|
+
export declare class QaScorecardTemplateApi extends ApiProvider {
|
|
16
|
+
protected readonly authToken?: string;
|
|
17
|
+
private readonly moduleName;
|
|
18
|
+
private readonly entityName;
|
|
19
|
+
private sourceRecord;
|
|
20
|
+
private _qaevaluation?;
|
|
21
|
+
private _qascorecardquestion?;
|
|
22
|
+
constructor(authParams?: OauthParams, authToken?: string);
|
|
23
|
+
get qaevaluation(): ApiRecordLinkManager;
|
|
24
|
+
get qascorecardquestion(): 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<QaScorecardTemplateProperties>>>;
|
|
28
|
+
searchAndPaginate(params: Partial<OdinSearchV2>): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinSearchResponse<import("@d19n/odin-types/dist/core").OdinRecord<QaScorecardTemplateProperties>>>;
|
|
29
|
+
reIndex(body: {
|
|
30
|
+
id: string;
|
|
31
|
+
schemaId: string;
|
|
32
|
+
}[]): Promise<any>;
|
|
33
|
+
get(qaScorecardTemplateId: string): Promise<import("@d19n/odin-types/dist/core").OdinRecord<QaScorecardTemplateProperties>>;
|
|
34
|
+
getMany(qaScorecardTemplateIds: string[]): Promise<import("@d19n/odin-types/dist/core").OdinRecord<QaScorecardTemplateProperties>[]>;
|
|
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(qaScorecardTemplateId: string): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinDeleteResponse[]>;
|
|
40
|
+
deleteMany(qaScorecardTemplateIds: string[]): Promise<import("@d19n/odin-sdk-generator/dist/odin-sdk-types").OdinDeleteResponse[]>;
|
|
41
|
+
restore(qaScorecardTemplateIds: 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
|
+
}
|