tango-app-api-audit 3.3.0-beta.3 → 3.3.1
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
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tango-app-api-audit",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.1",
|
|
4
4
|
"description": "audit & audit metrics apis",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
"nodemon": "^3.1.3",
|
|
26
26
|
"swagger-ui-express": "^5.0.1",
|
|
27
27
|
"tango-api-schema": "^2.0.159",
|
|
28
|
-
"tango-app-api-middleware": "^3.1.
|
|
28
|
+
"tango-app-api-middleware": "^3.1.33",
|
|
29
29
|
"winston": "^3.13.0",
|
|
30
30
|
"winston-daily-rotate-file": "^5.0.0"
|
|
31
31
|
},
|
|
@@ -3,11 +3,12 @@ import {
|
|
|
3
3
|
download,
|
|
4
4
|
fileUpload,
|
|
5
5
|
getJsonFileData,
|
|
6
|
-
getUTC,
|
|
7
6
|
insertOpenSearchData,
|
|
8
7
|
listFileByPath,
|
|
9
8
|
listFileWithoutLimit,
|
|
10
9
|
signedUrl,
|
|
10
|
+
getDate, getDateWithCustomizeTime,
|
|
11
|
+
getUTC,
|
|
11
12
|
} from 'tango-app-api-middleware';
|
|
12
13
|
import {
|
|
13
14
|
aggregateUserAudit,
|
|
@@ -194,7 +195,9 @@ export async function getAuditFile( req, res ) {
|
|
|
194
195
|
const bucket = JSON.parse( process.env.BUCKET );
|
|
195
196
|
const openSearch = JSON.parse( process.env.OPENSEARCH );
|
|
196
197
|
const inputData = req.query;
|
|
197
|
-
const data = await
|
|
198
|
+
const data = await getDate( new Date(), new Date() );
|
|
199
|
+
logger.info( { data: data, function: 'data', newDate: new Date() } );
|
|
200
|
+
logger.info( { userId: req.user._id, queueName: inputData.queueName, moduleType: inputData.moduleType } );
|
|
198
201
|
const start = data.start;
|
|
199
202
|
const end = data.end;
|
|
200
203
|
const fetchData = {};
|
|
@@ -221,6 +224,7 @@ export async function getAuditFile( req, res ) {
|
|
|
221
224
|
];
|
|
222
225
|
|
|
223
226
|
const userDetails = await aggregateUserAudit( userQuery );
|
|
227
|
+
logger.info( { userDetails: userDetails, function: 'userDetails' } );
|
|
224
228
|
const auditStatus =
|
|
225
229
|
userDetails && userDetails.length > 0 ? userDetails[0].auditStatus : null;
|
|
226
230
|
switch ( auditStatus ) {
|
|
@@ -240,7 +244,7 @@ export async function getAuditFile( req, res ) {
|
|
|
240
244
|
const userAssign = await aggregateAssignAudit( query );
|
|
241
245
|
if ( userAssign.length > 0 ) {
|
|
242
246
|
logger.info( 'Hit in user assign', { inputData } );
|
|
243
|
-
userAssign[0].
|
|
247
|
+
userAssign[0].auditType == 'Audit' ?
|
|
244
248
|
( msg = {
|
|
245
249
|
store_id: userAssign[0].storeId,
|
|
246
250
|
curr_date: userAssign[0].fileDate,
|
|
@@ -250,7 +254,7 @@ export async function getAuditFile( req, res ) {
|
|
|
250
254
|
( msg = {
|
|
251
255
|
store_id: userAssign[0].storeId,
|
|
252
256
|
curr_date: userAssign[0].fileDate,
|
|
253
|
-
audit_type: userAssign[0].
|
|
257
|
+
audit_type: userAssign[0].auditType,
|
|
254
258
|
total_count: userAssign[0].fileCount,
|
|
255
259
|
zone_id: userAssign[0].zoneName,
|
|
256
260
|
} );
|
|
@@ -1143,6 +1147,7 @@ export async function saveDraft( req, res ) {
|
|
|
1143
1147
|
const storeQuery = {
|
|
1144
1148
|
storeId: inputData.storeId,
|
|
1145
1149
|
fileDate: inputData.fileDate,
|
|
1150
|
+
zoneName: inputData.zoneName,
|
|
1146
1151
|
};
|
|
1147
1152
|
|
|
1148
1153
|
let storeRecord = {
|
|
@@ -1442,7 +1447,7 @@ export async function userAuditHistory( req, res ) {
|
|
|
1442
1447
|
const limit = inputData.limit || 10;
|
|
1443
1448
|
const offset = inputData.offset ? ( inputData.offset - 1 ) * limit : 0;
|
|
1444
1449
|
const dateRange = await getUTC( new Date( inputData.fromDate ), new Date( inputData.toDate ) );
|
|
1445
|
-
|
|
1450
|
+
const dateRangeCreatedAt = await getDateWithCustomizeTime( new Date( inputData.fromDate ), new Date( inputData.toDate ) );
|
|
1446
1451
|
let filter = [
|
|
1447
1452
|
{ userId: { $eq: userId } },
|
|
1448
1453
|
];
|
|
@@ -1454,8 +1459,8 @@ export async function userAuditHistory( req, res ) {
|
|
|
1454
1459
|
);
|
|
1455
1460
|
} else {
|
|
1456
1461
|
filter.push(
|
|
1457
|
-
{ createdAt: { $gte:
|
|
1458
|
-
{ createdAt: { $lte:
|
|
1462
|
+
{ createdAt: { $gte: dateRangeCreatedAt.start } },
|
|
1463
|
+
{ createdAt: { $lte: dateRangeCreatedAt.end } },
|
|
1459
1464
|
);
|
|
1460
1465
|
}
|
|
1461
1466
|
|
|
@@ -1646,46 +1651,25 @@ export async function userAuditHistory( req, res ) {
|
|
|
1646
1651
|
const promises = chunkedMappingData.map( async ( chunk ) => {
|
|
1647
1652
|
const exportData = [];
|
|
1648
1653
|
chunk.forEach( ( element ) => {
|
|
1649
|
-
|
|
1650
|
-
|
|
1651
|
-
|
|
1652
|
-
|
|
1653
|
-
|
|
1654
|
-
|
|
1655
|
-
|
|
1656
|
-
|
|
1657
|
-
|
|
1658
|
-
|
|
1659
|
-
|
|
1660
|
-
|
|
1661
|
-
|
|
1662
|
-
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
'Audited Date': dayjs( element.createdAt ).format( 'YYYY,MMM D' ),
|
|
1667
|
-
|
|
1668
|
-
} );
|
|
1669
|
-
} else {
|
|
1670
|
-
exportData.push( {
|
|
1671
|
-
'File Date': element.fileDate,
|
|
1672
|
-
'Brand ID': element.clientId,
|
|
1673
|
-
'Brand Name': element.clientName,
|
|
1674
|
-
'Store ID': element.storeId,
|
|
1675
|
-
'Store Name': element.storeName,
|
|
1676
|
-
'Audit Type': element.auditType,
|
|
1677
|
-
'Product Type': element.moduleType,
|
|
1678
|
-
'Before Count': element.beforeCount,
|
|
1679
|
-
'After Count': element.afterCount || '',
|
|
1680
|
-
'Accuracy': element.accuracy || '',
|
|
1681
|
-
'Start Time': element.startTime,
|
|
1682
|
-
'End Time': element.endTime || '',
|
|
1683
|
-
'Time Spent': element.timeSpent,
|
|
1684
|
-
'Audit Status': element.auditStatus,
|
|
1685
|
-
'Audited Date': dayjs( element.createdAt ).format( 'YYYY,MMM D' ),
|
|
1654
|
+
exportData.push( {
|
|
1655
|
+
'File Date': element.fileDate,
|
|
1656
|
+
'Brand ID': element.clientId,
|
|
1657
|
+
'Brand Name': element.clientName,
|
|
1658
|
+
'Store ID': element.storeId,
|
|
1659
|
+
'Store Name': element.storeName,
|
|
1660
|
+
'Zone Name': element.moduleType == 'zone'? element.zoneName : '',
|
|
1661
|
+
'Audit Type': element.auditType,
|
|
1662
|
+
'Product Type': element.moduleType,
|
|
1663
|
+
'Before Count': element.beforeCount,
|
|
1664
|
+
'After Count': element.afterCount || '',
|
|
1665
|
+
'Accuracy': element.accuracy || '',
|
|
1666
|
+
'Start Time': element.startTime,
|
|
1667
|
+
'End Time': element.endTime || '',
|
|
1668
|
+
'Time Spent': element.timeSpent,
|
|
1669
|
+
'Audit Status': element.auditStatus,
|
|
1670
|
+
'Audited Date': dayjs( element.createdAt ).format( 'YYYY,MMM D' ),
|
|
1686
1671
|
|
|
1687
|
-
|
|
1688
|
-
}
|
|
1672
|
+
} );
|
|
1689
1673
|
} );
|
|
1690
1674
|
return exportData;
|
|
1691
1675
|
} );
|
|
@@ -2229,11 +2213,12 @@ export async function userMetrics( req, res ) {
|
|
|
2229
2213
|
const limit = inputData.limit || 10;
|
|
2230
2214
|
const offset = inputData.offset ? ( inputData.offset - 1 ) * limit : 0;
|
|
2231
2215
|
const dateRange = await getUTC( new Date( inputData.fromDate ), new Date( inputData.toDate ) );
|
|
2216
|
+
const dateRangeUpdatedAt = await getDateWithCustomizeTime( new Date( inputData.fromDate ), new Date( inputData.toDate ) );
|
|
2232
2217
|
let filter = [];
|
|
2233
2218
|
if ( inputData.dateType == 'auditedDate' ) {
|
|
2234
2219
|
filter.push(
|
|
2235
|
-
{ updatedAt: { $gte:
|
|
2236
|
-
{ updatedAt: { $lte:
|
|
2220
|
+
{ updatedAt: { $gte: dateRangeUpdatedAt.start } },
|
|
2221
|
+
{ updatedAt: { $lte: dateRangeUpdatedAt.end } },
|
|
2237
2222
|
|
|
2238
2223
|
);
|
|
2239
2224
|
} else {
|
|
@@ -2936,7 +2921,7 @@ export async function reTrigger( req, res ) {
|
|
|
2936
2921
|
await insertOpenSearchData( openSearch.auditLog, logData );
|
|
2937
2922
|
}
|
|
2938
2923
|
|
|
2939
|
-
return res.sendSuccess( { result: 'The File has been Re-
|
|
2924
|
+
return res.sendSuccess( { result: 'The File has been Re-Triggered Succesfully' } );
|
|
2940
2925
|
} catch ( error ) {
|
|
2941
2926
|
const err = error.message;
|
|
2942
2927
|
logger.error( { error: error, message: req.body, function: 'reTrigger' } );
|
|
@@ -12,7 +12,7 @@ auditRouter.get( '/clients', isAllowedSessionHandler, validate( clientValid ), c
|
|
|
12
12
|
auditRouter.post( '/audit-stores', isAllowedSessionHandler, validate( auditStoreValid ), auditStoreList );
|
|
13
13
|
auditRouter.get( '/tango-users', isAllowedSessionHandler, auditUserList );
|
|
14
14
|
|
|
15
|
-
//
|
|
15
|
+
// Audit Mapping
|
|
16
16
|
auditRouter.get( '/get-file', isAllowedSessionHandler, validate( getFileValid ), isExistsQueue, getAuditFile );
|
|
17
17
|
auditRouter.post( '/save-draft', isAllowedSessionHandler, validate( saveDraftValid ), saveDraft );
|
|
18
18
|
auditRouter.get( '/get-drafted-data', isAllowedSessionHandler, validate( getDraftedDataValid ), getDraftedData );
|