tango-app-api-infra 3.9.5-vms.74 → 3.9.5-vms.75
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/package.json
CHANGED
|
@@ -265,25 +265,10 @@ export async function tangoReviewTicket( req, res ) {
|
|
|
265
265
|
record.mappingInfo = record.mappingInfo.map( ( item ) => {
|
|
266
266
|
return {
|
|
267
267
|
...item,
|
|
268
|
-
status: 'Closed',
|
|
268
|
+
status: item.type === 'approve'? 'Tango Review Done':'Closed',
|
|
269
269
|
};
|
|
270
270
|
} );
|
|
271
271
|
}
|
|
272
|
-
// If no review mapping existed, push a new one
|
|
273
|
-
// if ( record.mappingInfo.length === 0 ) {
|
|
274
|
-
// record.mappingInfo.push( {
|
|
275
|
-
// type: 'tangoreview',
|
|
276
|
-
// mode: inputData.mappingInfo?.mode,
|
|
277
|
-
// revicedFootfall: inputData.mappingInfo?.revicedFootfall,
|
|
278
|
-
// revicedPerc: inputData.mappingInfo?.revicedPerc,
|
|
279
|
-
// count: inputData.mappingInfo?.count,
|
|
280
|
-
// revisedDetail: inputData.mappingInfo?.revisedDetail,
|
|
281
|
-
// status: 'Closed',
|
|
282
|
-
// createdByEmail: req?.user?.email,
|
|
283
|
-
// createdByUserName: req?.user?.userName,
|
|
284
|
-
// createdByRole: req?.user?.role,
|
|
285
|
-
// } );
|
|
286
|
-
// }
|
|
287
272
|
}
|
|
288
273
|
record.mappingInfo.push(
|
|
289
274
|
{
|
|
@@ -323,29 +308,6 @@ export async function tangoReviewTicket( req, res ) {
|
|
|
323
308
|
|
|
324
309
|
record.mappingInfo = [ ...ticketData?.[0]?._source?.mappingInfo.slice( 0, -1 ),
|
|
325
310
|
...temp ];
|
|
326
|
-
// if ( Array.isArray( record.mappingInfo ) ) {
|
|
327
|
-
// record.mappingInfo = record.mappingInfo.map( ( item ) => {
|
|
328
|
-
// return {
|
|
329
|
-
// ...item,
|
|
330
|
-
// status: 'Closed',
|
|
331
|
-
// };
|
|
332
|
-
// } );
|
|
333
|
-
// }
|
|
334
|
-
// If no review mapping existed, push a new one
|
|
335
|
-
// if ( record.mappingInfo.length === 0 ) {
|
|
336
|
-
// record.mappingInfo.push( {
|
|
337
|
-
// type: 'tangoreview',
|
|
338
|
-
// mode: inputData.mappingInfo?.mode,
|
|
339
|
-
// revicedFootfall: inputData.mappingInfo?.revicedFootfall,
|
|
340
|
-
// revicedPerc: inputData.mappingInfo?.revicedPerc,
|
|
341
|
-
// count: inputData.mappingInfo?.count,
|
|
342
|
-
// revisedDetail: inputData.mappingInfo?.revisedDetail,
|
|
343
|
-
// status: 'Closed',
|
|
344
|
-
// createdByEmail: req?.user?.email,
|
|
345
|
-
// createdByUserName: req?.user?.userName,
|
|
346
|
-
// createdByRole: req?.user?.role,
|
|
347
|
-
// } );
|
|
348
|
-
// }
|
|
349
311
|
}
|
|
350
312
|
} else {
|
|
351
313
|
if ( Array.isArray( record.mappingInfo ) ) {
|
|
@@ -370,25 +332,10 @@ export async function tangoReviewTicket( req, res ) {
|
|
|
370
332
|
record.mappingInfo = record.mappingInfo.map( ( item ) => {
|
|
371
333
|
return {
|
|
372
334
|
...item,
|
|
373
|
-
status: 'Closed',
|
|
335
|
+
status: item.type === 'approve'?'Tango Review Done': 'Closed',
|
|
374
336
|
};
|
|
375
337
|
} );
|
|
376
338
|
}
|
|
377
|
-
// If no review mapping existed, push a new one
|
|
378
|
-
// if ( record.mappingInfo.length === 0 ) {
|
|
379
|
-
// record.mappingInfo.push( {
|
|
380
|
-
// type: 'tangoreview',
|
|
381
|
-
// mode: inputData.mappingInfo?.mode,
|
|
382
|
-
// revicedFootfall: inputData.mappingInfo?.revicedFootfall,
|
|
383
|
-
// revicedPerc: inputData.mappingInfo?.revicedPerc,
|
|
384
|
-
// count: inputData.mappingInfo?.count,
|
|
385
|
-
// revisedDetail: inputData.mappingInfo?.revisedDetail,
|
|
386
|
-
// status: 'Closed',
|
|
387
|
-
// createdByEmail: req?.user?.email,
|
|
388
|
-
// createdByUserName: req?.user?.userName,
|
|
389
|
-
// createdByRole: req?.user?.role,
|
|
390
|
-
// } );
|
|
391
|
-
// }
|
|
392
339
|
}
|
|
393
340
|
record.mappingInfo.push(
|
|
394
341
|
{
|
|
@@ -1090,10 +1037,7 @@ export async function ticketList( req, res ) {
|
|
|
1090
1037
|
if ( inputData.sortBy ) {
|
|
1091
1038
|
let sortOrder = inputData.sortOrder === 1 ? 'asc' : 'desc';
|
|
1092
1039
|
|
|
1093
|
-
|
|
1094
|
-
// INSERT_YOUR_CODE
|
|
1095
|
-
// If sortBy is present, check if the field needs ".keyword" (for string fields like storeName, storeId, ticketId)
|
|
1096
|
-
// This avoids OpenSearch errors about sorting on text fields.
|
|
1040
|
+
|
|
1097
1041
|
const stringKeywordFields = [ 'storeName', 'storeId', 'ticketId', 'status', 'type', 'clientId' ];
|
|
1098
1042
|
let sortField = inputData.sortBy == 'footfall' ? 'footfallCount' : inputData.sortBy == 'issueDate' ? 'dateString' : inputData.sortBy;
|
|
1099
1043
|
if ( stringKeywordFields.includes( sortField ) ) {
|
|
@@ -1217,6 +1161,160 @@ export async function ticketList( req, res ) {
|
|
|
1217
1161
|
}
|
|
1218
1162
|
}
|
|
1219
1163
|
|
|
1164
|
+
if ( inputData.filterByStatus && inputData.filterByStatus!=='' ) {
|
|
1165
|
+
if ( req?.user?.userType == 'tango' ) {
|
|
1166
|
+
{
|
|
1167
|
+
switch ( inputData?.tangoType ) {
|
|
1168
|
+
case 'store':
|
|
1169
|
+
searchQuery.query.bool.must.push( {
|
|
1170
|
+
nested: {
|
|
1171
|
+
path: 'mappingInfo',
|
|
1172
|
+
query: {
|
|
1173
|
+
bool: {
|
|
1174
|
+
must: [
|
|
1175
|
+
{
|
|
1176
|
+
term: {
|
|
1177
|
+
'mappingInfo.type': 'tangoreview',
|
|
1178
|
+
},
|
|
1179
|
+
},
|
|
1180
|
+
{
|
|
1181
|
+
terms: {
|
|
1182
|
+
'mappingInfo.status': inputData?.filterByStatus,
|
|
1183
|
+
},
|
|
1184
|
+
},
|
|
1185
|
+
],
|
|
1186
|
+
},
|
|
1187
|
+
},
|
|
1188
|
+
},
|
|
1189
|
+
} );
|
|
1190
|
+
break;
|
|
1191
|
+
case 'internal':
|
|
1192
|
+
searchQuery.query.bool.must.push( {
|
|
1193
|
+
'terms': {
|
|
1194
|
+
'status': Array.isArray( inputData?.filterByStatus ) ?
|
|
1195
|
+
inputData?.filterByStatus :
|
|
1196
|
+
[ inputData?.filterByStatus ],
|
|
1197
|
+
},
|
|
1198
|
+
} );
|
|
1199
|
+
break;
|
|
1200
|
+
defaut:
|
|
1201
|
+
searchQuery.query.bool.must.push( {
|
|
1202
|
+
nested: {
|
|
1203
|
+
path: 'mappingInfo',
|
|
1204
|
+
query: {
|
|
1205
|
+
bool: {
|
|
1206
|
+
must: [
|
|
1207
|
+
{
|
|
1208
|
+
term: {
|
|
1209
|
+
'mappingInfo.type': 'tangoreview',
|
|
1210
|
+
},
|
|
1211
|
+
},
|
|
1212
|
+
{
|
|
1213
|
+
terms: {
|
|
1214
|
+
'mappingInfo.status': inputData?.filterByStatus,
|
|
1215
|
+
},
|
|
1216
|
+
},
|
|
1217
|
+
],
|
|
1218
|
+
},
|
|
1219
|
+
},
|
|
1220
|
+
},
|
|
1221
|
+
} );
|
|
1222
|
+
}
|
|
1223
|
+
}
|
|
1224
|
+
} else if ( ticketsFeature && !ticketsApproveFeature ) {
|
|
1225
|
+
searchQuery.query.bool.must.push( {
|
|
1226
|
+
nested: {
|
|
1227
|
+
path: 'mappingInfo',
|
|
1228
|
+
query: {
|
|
1229
|
+
bool: {
|
|
1230
|
+
must: [
|
|
1231
|
+
{
|
|
1232
|
+
term: {
|
|
1233
|
+
'mappingInfo.type': 'review',
|
|
1234
|
+
},
|
|
1235
|
+
},
|
|
1236
|
+
{
|
|
1237
|
+
terms: {
|
|
1238
|
+
'mappingInfo.status': inputData?.filterByStatus,
|
|
1239
|
+
},
|
|
1240
|
+
},
|
|
1241
|
+
],
|
|
1242
|
+
},
|
|
1243
|
+
},
|
|
1244
|
+
},
|
|
1245
|
+
} );
|
|
1246
|
+
} else if ( ticketsFeature && ticketsApproveFeature ) {
|
|
1247
|
+
switch ( inputData.permisisionType ) {
|
|
1248
|
+
case 'review':
|
|
1249
|
+
searchQuery.query.bool.must.push( {
|
|
1250
|
+
nested: {
|
|
1251
|
+
path: 'mappingInfo',
|
|
1252
|
+
query: {
|
|
1253
|
+
bool: {
|
|
1254
|
+
must: [
|
|
1255
|
+
{
|
|
1256
|
+
term: {
|
|
1257
|
+
'mappingInfo.type': 'review',
|
|
1258
|
+
},
|
|
1259
|
+
},
|
|
1260
|
+
{
|
|
1261
|
+
terms: {
|
|
1262
|
+
'mappingInfo.status': inputData?.filterByStatus,
|
|
1263
|
+
},
|
|
1264
|
+
},
|
|
1265
|
+
],
|
|
1266
|
+
},
|
|
1267
|
+
},
|
|
1268
|
+
},
|
|
1269
|
+
} );
|
|
1270
|
+
break;
|
|
1271
|
+
case 'approve':
|
|
1272
|
+
searchQuery.query.bool.must.push( {
|
|
1273
|
+
nested: {
|
|
1274
|
+
path: 'mappingInfo',
|
|
1275
|
+
query: {
|
|
1276
|
+
bool: {
|
|
1277
|
+
must: [
|
|
1278
|
+
{
|
|
1279
|
+
term: {
|
|
1280
|
+
'mappingInfo.type': 'approve',
|
|
1281
|
+
},
|
|
1282
|
+
},
|
|
1283
|
+
{
|
|
1284
|
+
terms: {
|
|
1285
|
+
'mappingInfo.status': inputData?.filterByStatus,
|
|
1286
|
+
},
|
|
1287
|
+
},
|
|
1288
|
+
],
|
|
1289
|
+
},
|
|
1290
|
+
},
|
|
1291
|
+
},
|
|
1292
|
+
} );
|
|
1293
|
+
default: searchQuery.query.bool.must.push( {
|
|
1294
|
+
nested: {
|
|
1295
|
+
path: 'mappingInfo',
|
|
1296
|
+
query: {
|
|
1297
|
+
bool: {
|
|
1298
|
+
must: [
|
|
1299
|
+
{
|
|
1300
|
+
term: {
|
|
1301
|
+
'mappingInfo.type': 'approve',
|
|
1302
|
+
},
|
|
1303
|
+
},
|
|
1304
|
+
{
|
|
1305
|
+
terms: {
|
|
1306
|
+
'mappingInfo.status': inputData?.filterByStatus,
|
|
1307
|
+
},
|
|
1308
|
+
},
|
|
1309
|
+
],
|
|
1310
|
+
},
|
|
1311
|
+
},
|
|
1312
|
+
},
|
|
1313
|
+
} );
|
|
1314
|
+
}
|
|
1315
|
+
}
|
|
1316
|
+
}
|
|
1317
|
+
|
|
1220
1318
|
if ( req?.user?.userType === 'tango' && inputData.tangoType !== 'internal' ) {
|
|
1221
1319
|
searchQuery.query.bool.must.push(
|
|
1222
1320
|
{
|
|
@@ -16,7 +16,6 @@ footfallDirectoryRouter.post( '/tango-review-accuracy-ticket', isAllowedSessionH
|
|
|
16
16
|
footfallDirectoryRouter.get( '/ticket-summary', isAllowedSessionHandler, bulkValidate( ticketSummaryValid ), ticketSummary );
|
|
17
17
|
|
|
18
18
|
footfallDirectoryRouter.get( '/ticket-list', isAllowedSessionHandler, bulkValidate( ticketListValid ), ticketList );
|
|
19
|
-
// footfallDirectoryRouter.get( '/ticket-list', isAllowedSessionHandler, bulkValidate( ticketListValid ), ticketList );
|
|
20
19
|
footfallDirectoryRouter.get( '/get-tickets', isAllowedSessionHandler, bulkValidate( getTicketsValid ), getTickets );
|
|
21
20
|
footfallDirectoryRouter.get( '/get-tagged-stores', isAllowedSessionHandler, bulkValidate( getTaggedStoresValid ), getAssinedStore, getClusters, getTaggedStores );
|
|
22
21
|
footfallDirectoryRouter.put( '/update-status', isAllowedSessionHandler, bulkValidate( updateStatusValid ), updateStatus );
|
|
@@ -1639,7 +1639,7 @@ export async function ticketApprove( req, res, next ) {
|
|
|
1639
1639
|
revicedPerc: Math.round( ( revisedFootfall / footfallCount ) * 100 || 0 ) + '%',
|
|
1640
1640
|
count: tempAcc,
|
|
1641
1641
|
revisedDetail: formattedTaggingData,
|
|
1642
|
-
status: '
|
|
1642
|
+
status: 'Under Tango Review',
|
|
1643
1643
|
createdByEmail: req?.user?.email,
|
|
1644
1644
|
createdByUserName: req?.user?.userName,
|
|
1645
1645
|
createdByRole: req?.user?.role,
|