hgs-twilio-class-lib 1.1.85 → 1.1.87
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/lib/controller/RealTimeDashboardController.d.ts +1 -0
- package/lib/controller/RealTimeDashboardController.js +3 -3
- package/lib/controller/twilio/AgentScorecardController.js +4 -4
- package/lib/twilio/impl/sync/SyncMapItem.d.ts +4 -0
- package/lib/twilio/impl/sync/SyncMapItem.js +73 -0
- package/package.json +1 -1
|
@@ -35,6 +35,7 @@ export declare class RealTimeDashboardController {
|
|
|
35
35
|
editItem(reqBody: {
|
|
36
36
|
syncMapName: string;
|
|
37
37
|
data: RealtimeDashboardSummaryModel;
|
|
38
|
+
ifMatch: string | undefined;
|
|
38
39
|
}): Promise<any>;
|
|
39
40
|
deleteItem(query: Pick<RealtimeDashboardSummaryModel, "id"> & {
|
|
40
41
|
syncMapName: string;
|
|
@@ -171,7 +171,7 @@ class RealTimeDashboardController {
|
|
|
171
171
|
query.allowedFields = allowedFields;
|
|
172
172
|
}
|
|
173
173
|
query.category = "QueueDetails";
|
|
174
|
-
let result = yield table.
|
|
174
|
+
let result = yield table.getAllItems(query);
|
|
175
175
|
return { result, meta: query };
|
|
176
176
|
}
|
|
177
177
|
catch (error) {
|
|
@@ -183,7 +183,7 @@ class RealTimeDashboardController {
|
|
|
183
183
|
editItem(reqBody) {
|
|
184
184
|
return __awaiter(this, void 0, void 0, function* () {
|
|
185
185
|
try {
|
|
186
|
-
const { syncMapName, data } = reqBody;
|
|
186
|
+
const { syncMapName, data, ifMatch } = reqBody;
|
|
187
187
|
if (!syncMapName) {
|
|
188
188
|
throw new Error("syncMapName is required.");
|
|
189
189
|
}
|
|
@@ -194,7 +194,7 @@ class RealTimeDashboardController {
|
|
|
194
194
|
const dbTransaction = yield this.getItemTransaction(syncMapName);
|
|
195
195
|
const table = dbTransaction.objectStore(syncMapName);
|
|
196
196
|
const key = queuedetails.id;
|
|
197
|
-
const result = yield table.
|
|
197
|
+
const result = yield table.putItem(queuedetails.serialize, key, ifMatch);
|
|
198
198
|
return result;
|
|
199
199
|
}
|
|
200
200
|
catch (error) {
|
|
@@ -46,7 +46,7 @@ class AgentScorecardController {
|
|
|
46
46
|
throw AgentScorecarddetails.validationMessages; // Throw error if data validation fails
|
|
47
47
|
}
|
|
48
48
|
// Open database connection
|
|
49
|
-
const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.
|
|
49
|
+
const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.databaseName, DatabaseConfig_1.databaseConfig.version);
|
|
50
50
|
const database = databaseConnection.result;
|
|
51
51
|
// Start database transaction
|
|
52
52
|
const dbTransaction = database.transactionItem(DatabaseConfig_1.databaseConfig.tables.agentScorecardTable, "readwrite");
|
|
@@ -81,7 +81,7 @@ class AgentScorecardController {
|
|
|
81
81
|
throw AgentScorecarddetails.validationMessages; // Throw error if data validation fails
|
|
82
82
|
}
|
|
83
83
|
// Open database connection
|
|
84
|
-
const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.
|
|
84
|
+
const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.databaseName, DatabaseConfig_1.databaseConfig.version);
|
|
85
85
|
const database = databaseConnection.result;
|
|
86
86
|
// Start database transaction
|
|
87
87
|
const dbTransaction = database.transactionItem(DatabaseConfig_1.databaseConfig.tables.agentScorecardTable, "readwrite");
|
|
@@ -112,7 +112,7 @@ class AgentScorecardController {
|
|
|
112
112
|
return __awaiter(this, void 0, void 0, function* () {
|
|
113
113
|
try {
|
|
114
114
|
// Open database connection
|
|
115
|
-
const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.
|
|
115
|
+
const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.databaseName, DatabaseConfig_1.databaseConfig.version);
|
|
116
116
|
const database = databaseConnection.result;
|
|
117
117
|
// Start database transaction
|
|
118
118
|
const dbTransaction = database.transactionItem(DatabaseConfig_1.databaseConfig.tables.agentScorecardTable, "readwrite");
|
|
@@ -153,7 +153,7 @@ class AgentScorecardController {
|
|
|
153
153
|
return __awaiter(this, void 0, void 0, function* () {
|
|
154
154
|
try {
|
|
155
155
|
// Open database connection
|
|
156
|
-
const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.
|
|
156
|
+
const databaseConnection = yield this._dbFactory.asyncOpen(DatabaseConfig_1.databaseConfig.databaseName, DatabaseConfig_1.databaseConfig.version);
|
|
157
157
|
const database = databaseConnection.result;
|
|
158
158
|
// Start database transaction
|
|
159
159
|
const dbTransaction = database.transactionItem(DatabaseConfig_1.databaseConfig.tables.agentScorecardTable, "readwrite");
|
|
@@ -15,6 +15,8 @@ export declare class SyncMapItem extends ServiceObjectStore {
|
|
|
15
15
|
get(query: IDBValidKey | IDBKeyRange): IDBRequest<any>;
|
|
16
16
|
getAll(query?: IDBValidKey | IDBKeyRange | null | undefined, count?: number | undefined): IDBRequest<any[]>;
|
|
17
17
|
getAll(query: SearchParameterType, count?: number | undefined): Promise<IDBRequest<any[]>>;
|
|
18
|
+
getAllItems(query?: IDBValidKey | IDBKeyRange | null | undefined, count?: number | undefined): IDBRequest<any[]>;
|
|
19
|
+
getAllItems(query: SearchParameterType, count?: number | undefined): Promise<IDBRequest<any[]>>;
|
|
18
20
|
getAllKeys(query?: IDBValidKey | IDBKeyRange | null | undefined, count?: number | undefined): IDBRequest<IDBValidKey[]>;
|
|
19
21
|
getKey(query: IDBValidKey | IDBKeyRange): IDBRequest<IDBValidKey | undefined>;
|
|
20
22
|
index(name: string): IDBIndex;
|
|
@@ -22,4 +24,6 @@ export declare class SyncMapItem extends ServiceObjectStore {
|
|
|
22
24
|
openKeyCursor(query?: IDBValidKey | IDBKeyRange | null | undefined, direction?: IDBCursorDirection | undefined): IDBRequest<IDBCursor | null>;
|
|
23
25
|
put(value: any, key?: IDBValidKey | undefined): IDBRequest<IDBValidKey>;
|
|
24
26
|
put(value: Object, key: IDBValidKey): Promise<IDBRequest<IDBValidKey>>;
|
|
27
|
+
putItem(value: any, key?: IDBValidKey | undefined, ifMatchValue?: string | undefined): IDBRequest<IDBValidKey>;
|
|
28
|
+
putItem(value: Object, key: IDBValidKey, ifMatchValue?: string | undefined): Promise<IDBRequest<IDBValidKey>>;
|
|
25
29
|
}
|
|
@@ -115,6 +115,74 @@ class SyncMapItem extends ServiceObjectStore_1.ServiceObjectStore {
|
|
|
115
115
|
};
|
|
116
116
|
});
|
|
117
117
|
}
|
|
118
|
+
getAllItems(query, count) {
|
|
119
|
+
return SyncMapItemsTransaction_1.SyncMapItemTransaction.syncMapInstance.syncMapItems.list().then((mapItems) => {
|
|
120
|
+
let items = mapItems.map((item) => (Object.assign(Object.assign({}, item.data), { revision: item.revision })));
|
|
121
|
+
let totalPages = 0;
|
|
122
|
+
if (query && typeof query === 'object' && "sortOptions" in query) {
|
|
123
|
+
let sortBy;
|
|
124
|
+
let direction;
|
|
125
|
+
if (typeof query.sortOptions === "string") {
|
|
126
|
+
query.sortOptions = JSON.parse(query.sortOptions);
|
|
127
|
+
}
|
|
128
|
+
if (Array.isArray(query.sortOptions)) {
|
|
129
|
+
query.sortOptions.forEach(item => {
|
|
130
|
+
if (Object.keys(item)[0] && item[Object.keys(item)[0]]) {
|
|
131
|
+
sortBy = Object.keys(item)[0];
|
|
132
|
+
direction = item[Object.keys(item)[0]].toUpperCase() === 'ASC' ? true : false;
|
|
133
|
+
}
|
|
134
|
+
items = (0, sort_1.sortData)(items, sortBy, direction);
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
else if (query.sortOptions) {
|
|
138
|
+
let sortOptions;
|
|
139
|
+
sortOptions = query.sortOptions;
|
|
140
|
+
Object.keys(query.sortOptions).forEach(item => {
|
|
141
|
+
if (sortOptions[item]) {
|
|
142
|
+
sortBy = item;
|
|
143
|
+
direction = sortOptions[item].toUpperCase() === 'ASC' ? true : false;
|
|
144
|
+
}
|
|
145
|
+
items = (0, sort_1.sortData)(items, sortBy, direction);
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
let filterOptions = null;
|
|
150
|
+
if (query && typeof query === 'object' && "allowedFields" in query) {
|
|
151
|
+
filterOptions = Filter_1.Filter.generateFilterOptions(items, query.allowedFields);
|
|
152
|
+
}
|
|
153
|
+
if (query && typeof query === 'object' && ("timezone" in query || "dateFormat" in query || "timeFormat" in query)) {
|
|
154
|
+
let timezone = "timezone" in query ? query.timezone : "";
|
|
155
|
+
let dateFormat = "dateFormat" in query ? query.dateFormat : "";
|
|
156
|
+
let timeFormat = "timeFormat" in query ? query.timeFormat : "";
|
|
157
|
+
items = (0, dateFormat_1.dateFormatData)(items, dateFormat, timeFormat, timezone);
|
|
158
|
+
}
|
|
159
|
+
if (query && typeof query === "object" && "filters" in query && "category" in query) {
|
|
160
|
+
let filters = query.filters;
|
|
161
|
+
let category = typeof query.category === "string" ? query.category : "";
|
|
162
|
+
items = (0, newFilter_1.filterData)(items, filters, category);
|
|
163
|
+
}
|
|
164
|
+
if (query && typeof query === 'object' && "searchOptions" in query && query.searchOptions) {
|
|
165
|
+
let searchOptions = typeof query === 'object' && "searchOptions" in query ? query.searchOptions : "";
|
|
166
|
+
items = (0, search_1.searchData)(items, searchOptions);
|
|
167
|
+
}
|
|
168
|
+
// if (query && typeof query === 'object' && "filters" in query && query.filters) {
|
|
169
|
+
// let filters: any = typeof query === 'object' && "filters" in query ? query.filters : "";
|
|
170
|
+
// // console.log("filtered data:::", typeof JSON.parse(filters));
|
|
171
|
+
// items = filterData(items, filters)
|
|
172
|
+
// }
|
|
173
|
+
if (query && typeof query === 'object' && "itemsPerPage" in query) {
|
|
174
|
+
let itemsPerPage = typeof query === 'object' && "itemsPerPage" in query ? query.itemsPerPage : 5;
|
|
175
|
+
let pageNo = typeof query === 'object' && "pageNo" in query ? query.pageNo : 1;
|
|
176
|
+
totalPages = (items.length !== 0) && ((itemsPerPage < items.length) || (itemsPerPage > items.length)) ? Math.ceil(items.length / itemsPerPage) : 1;
|
|
177
|
+
items = (0, pagination_1.paginateData)(items, itemsPerPage, pageNo);
|
|
178
|
+
}
|
|
179
|
+
return {
|
|
180
|
+
totalPages,
|
|
181
|
+
items,
|
|
182
|
+
filterOptions
|
|
183
|
+
};
|
|
184
|
+
});
|
|
185
|
+
}
|
|
118
186
|
getAllKeys(query, count) {
|
|
119
187
|
throw new Error("Method not implemented.");
|
|
120
188
|
}
|
|
@@ -135,5 +203,10 @@ class SyncMapItem extends ServiceObjectStore_1.ServiceObjectStore {
|
|
|
135
203
|
return mapItem.key;
|
|
136
204
|
});
|
|
137
205
|
}
|
|
206
|
+
putItem(value, key, ifMatchValue) {
|
|
207
|
+
return SyncMapItemsTransaction_1.SyncMapItemTransaction.syncMapInstance.syncMapItems(key).update(ifMatchValue ? { data: value, ifMatch: ifMatchValue } : { data: value }).then((mapItem) => {
|
|
208
|
+
return mapItem.key;
|
|
209
|
+
});
|
|
210
|
+
}
|
|
138
211
|
}
|
|
139
212
|
exports.SyncMapItem = SyncMapItem;
|