tango-app-api-audit 1.0.52 → 1.0.54
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 +1 -1
- package/src/controllers/audit.controllers.js +764 -4
- package/src/controllers/auditMetrics.controllers.js +0 -709
- package/src/docs/audit.docs.js +68 -1
- package/src/docs/auditMetrics.docs.js +2 -67
- package/src/dtos/audit.dtos.js +64 -0
- package/src/dtos/auditMetrics.dtos.js +0 -61
- package/src/routes/audit.routes.js +5 -2
- package/src/routes/auditMetrics.routes.js +2 -5
package/src/docs/audit.docs.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { auditStoreSchema, clientSchema, getDraftedDataSchema, getFileSchema, saveDraftSchema, saveSchema, userAuditHistorySchema, userSchema, workSpaceSchema } from '../dtos/audit.dtos.js';
|
|
1
|
+
import { auditStoreSchema, clientMetricsSchema, clientSchema, getDraftedDataSchema, getFileSchema, saveDraftSchema, saveSchema, storeMetricsSchema, userAuditHistorySchema, userMetricsSchema, userSchema, workSpaceSchema } from '../dtos/audit.dtos.js';
|
|
2
2
|
import j2s from 'joi-to-swagger';
|
|
3
3
|
|
|
4
4
|
export const auditDocs = {
|
|
@@ -286,5 +286,72 @@ export const auditDocs = {
|
|
|
286
286
|
},
|
|
287
287
|
},
|
|
288
288
|
},
|
|
289
|
+
'/v3/audit/metrics/client-metrics': {
|
|
290
|
+
post: {
|
|
291
|
+
tags: [ 'Audit Metrics' ],
|
|
292
|
+
description: `Get list of client wise details with date range`,
|
|
293
|
+
operationId: 'client-metrics',
|
|
294
|
+
parameters: {},
|
|
295
|
+
requestBody: {
|
|
296
|
+
content: {
|
|
297
|
+
'application/json': {
|
|
298
|
+
schema: j2s( clientMetricsSchema ).swagger,
|
|
299
|
+
},
|
|
300
|
+
},
|
|
301
|
+
},
|
|
302
|
+
responses: {
|
|
303
|
+
200: { description: 'Successful' },
|
|
304
|
+
401: { description: 'Unauthorized User' },
|
|
305
|
+
422: { description: 'Field Error' },
|
|
306
|
+
500: { description: 'Server Error' },
|
|
307
|
+
204: { description: 'Not Found' },
|
|
308
|
+
},
|
|
309
|
+
},
|
|
310
|
+
},
|
|
311
|
+
'/v3/audit/metrics/store-metrics': {
|
|
312
|
+
post: {
|
|
313
|
+
tags: [ 'Audit Metrics' ],
|
|
314
|
+
description: `Get list of store wise details with date range and client Id`,
|
|
315
|
+
operationId: 'store-metrics',
|
|
316
|
+
parameters: {},
|
|
317
|
+
requestBody: {
|
|
318
|
+
content: {
|
|
319
|
+
'application/json': {
|
|
320
|
+
schema: j2s( storeMetricsSchema ).swagger,
|
|
321
|
+
},
|
|
322
|
+
},
|
|
323
|
+
},
|
|
324
|
+
responses: {
|
|
325
|
+
200: { description: 'Successful' },
|
|
326
|
+
401: { description: 'Unauthorized User' },
|
|
327
|
+
422: { description: 'Field Error' },
|
|
328
|
+
500: { description: 'Server Error' },
|
|
329
|
+
204: { description: 'Not Found' },
|
|
330
|
+
},
|
|
331
|
+
},
|
|
332
|
+
},
|
|
333
|
+
|
|
334
|
+
'/v3/audit/metrics/user-metrics': {
|
|
335
|
+
post: {
|
|
336
|
+
tags: [ 'Audit Metrics' ],
|
|
337
|
+
description: `Get list of file wise details with date range and users`,
|
|
338
|
+
operationId: 'user-metrics',
|
|
339
|
+
parameters: {},
|
|
340
|
+
requestBody: {
|
|
341
|
+
content: {
|
|
342
|
+
'application/json': {
|
|
343
|
+
schema: j2s( userMetricsSchema ).swagger,
|
|
344
|
+
},
|
|
345
|
+
},
|
|
346
|
+
},
|
|
347
|
+
responses: {
|
|
348
|
+
200: { description: 'Successful' },
|
|
349
|
+
401: { description: 'Unauthorized User' },
|
|
350
|
+
422: { description: 'Field Error' },
|
|
351
|
+
500: { description: 'Server Error' },
|
|
352
|
+
204: { description: 'Not Found' },
|
|
353
|
+
},
|
|
354
|
+
},
|
|
355
|
+
},
|
|
289
356
|
|
|
290
357
|
};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import j2s from 'joi-to-swagger';
|
|
2
|
-
import { auditImageValidSchema,
|
|
2
|
+
import { auditImageValidSchema, getAuditImagesSchema, overAllAuditSummarySchema, overViewCardSchema, overViewTableSchema, reTriggerValidSchema, summarySplitSchema } from '../dtos/auditMetrics.dtos.js';
|
|
3
3
|
|
|
4
4
|
export const auditMetricsDocs = {
|
|
5
5
|
|
|
@@ -25,73 +25,8 @@ export const auditMetricsDocs = {
|
|
|
25
25
|
},
|
|
26
26
|
},
|
|
27
27
|
},
|
|
28
|
-
'/v3/audit-metrics/client-metrics': {
|
|
29
|
-
post: {
|
|
30
|
-
tags: [ 'Audit Metrics' ],
|
|
31
|
-
description: `Get list of client wise details with date range`,
|
|
32
|
-
operationId: 'client-metrics',
|
|
33
|
-
parameters: {},
|
|
34
|
-
requestBody: {
|
|
35
|
-
content: {
|
|
36
|
-
'application/json': {
|
|
37
|
-
schema: j2s( clientMetricsSchema ).swagger,
|
|
38
|
-
},
|
|
39
|
-
},
|
|
40
|
-
},
|
|
41
|
-
responses: {
|
|
42
|
-
200: { description: 'Successful' },
|
|
43
|
-
401: { description: 'Unauthorized User' },
|
|
44
|
-
422: { description: 'Field Error' },
|
|
45
|
-
500: { description: 'Server Error' },
|
|
46
|
-
204: { description: 'Not Found' },
|
|
47
|
-
},
|
|
48
|
-
},
|
|
49
|
-
},
|
|
50
28
|
|
|
51
|
-
|
|
52
|
-
post: {
|
|
53
|
-
tags: [ 'Audit Metrics' ],
|
|
54
|
-
description: `Get list of store wise details with date range and client Id`,
|
|
55
|
-
operationId: 'store-metrics',
|
|
56
|
-
parameters: {},
|
|
57
|
-
requestBody: {
|
|
58
|
-
content: {
|
|
59
|
-
'application/json': {
|
|
60
|
-
schema: j2s( storeMetricsSchema ).swagger,
|
|
61
|
-
},
|
|
62
|
-
},
|
|
63
|
-
},
|
|
64
|
-
responses: {
|
|
65
|
-
200: { description: 'Successful' },
|
|
66
|
-
401: { description: 'Unauthorized User' },
|
|
67
|
-
422: { description: 'Field Error' },
|
|
68
|
-
500: { description: 'Server Error' },
|
|
69
|
-
204: { description: 'Not Found' },
|
|
70
|
-
},
|
|
71
|
-
},
|
|
72
|
-
},
|
|
73
|
-
'/v3/audit-metrics/user-metrics': {
|
|
74
|
-
post: {
|
|
75
|
-
tags: [ 'Audit Metrics' ],
|
|
76
|
-
description: `Get list of file wise details with date range and users`,
|
|
77
|
-
operationId: 'user-metrics',
|
|
78
|
-
parameters: {},
|
|
79
|
-
requestBody: {
|
|
80
|
-
content: {
|
|
81
|
-
'application/json': {
|
|
82
|
-
schema: j2s( userMetricsSchema ).swagger,
|
|
83
|
-
},
|
|
84
|
-
},
|
|
85
|
-
},
|
|
86
|
-
responses: {
|
|
87
|
-
200: { description: 'Successful' },
|
|
88
|
-
401: { description: 'Unauthorized User' },
|
|
89
|
-
422: { description: 'Field Error' },
|
|
90
|
-
500: { description: 'Server Error' },
|
|
91
|
-
204: { description: 'Not Found' },
|
|
92
|
-
},
|
|
93
|
-
},
|
|
94
|
-
},
|
|
29
|
+
|
|
95
30
|
'/v3/audit-metrics/overview-card': {
|
|
96
31
|
post: {
|
|
97
32
|
tags: [ 'Audit Metrics' ],
|
package/src/dtos/audit.dtos.js
CHANGED
|
@@ -162,3 +162,67 @@ export const userAuditHistorySchema = joi.object(
|
|
|
162
162
|
export const userAuditHistoryValid = {
|
|
163
163
|
body: userAuditHistorySchema,
|
|
164
164
|
};
|
|
165
|
+
|
|
166
|
+
export const clientMetricsSchema = joi.object(
|
|
167
|
+
{
|
|
168
|
+
fromDate: joi.string().required(),
|
|
169
|
+
toDate: joi.string().required(),
|
|
170
|
+
searchValue: joi.string().optional().allow( '' ),
|
|
171
|
+
filterByModuleType: joi.array().optional(),
|
|
172
|
+
filterByClient: joi.array().required(),
|
|
173
|
+
filterByStatus: joi.array().optional(),
|
|
174
|
+
sortColumnName: joi.string().optional(),
|
|
175
|
+
sortBy: joi.number().optional(),
|
|
176
|
+
limit: joi.number().optional(),
|
|
177
|
+
offset: joi.number().optional(),
|
|
178
|
+
isExport: joi.boolean().optional(),
|
|
179
|
+
},
|
|
180
|
+
);
|
|
181
|
+
|
|
182
|
+
export const clientMetricsValid = {
|
|
183
|
+
body: clientMetricsSchema,
|
|
184
|
+
};
|
|
185
|
+
|
|
186
|
+
|
|
187
|
+
export const storeMetricsSchema = joi.object(
|
|
188
|
+
{
|
|
189
|
+
fromDate: joi.string().required(),
|
|
190
|
+
toDate: joi.string().required(),
|
|
191
|
+
searchValue: joi.string().optional().allow( '' ),
|
|
192
|
+
filterByClientId: joi.array().required(),
|
|
193
|
+
filterByStoreId: joi.array().optional(),
|
|
194
|
+
filterByStatus: joi.array().optional(),
|
|
195
|
+
filterByAuditType: joi.array().optional(),
|
|
196
|
+
filterByModuleType: joi.array().optional(),
|
|
197
|
+
sortColumnName: joi.string().optional(),
|
|
198
|
+
sortBy: joi.number().optional(),
|
|
199
|
+
limit: joi.number().optional(),
|
|
200
|
+
offset: joi.number().optional(),
|
|
201
|
+
isExport: joi.boolean().optional(),
|
|
202
|
+
},
|
|
203
|
+
);
|
|
204
|
+
|
|
205
|
+
export const storeMetricsValid = {
|
|
206
|
+
body: storeMetricsSchema,
|
|
207
|
+
};
|
|
208
|
+
|
|
209
|
+
export const userMetricsSchema = joi.object(
|
|
210
|
+
{
|
|
211
|
+
fromDate: joi.string().required(),
|
|
212
|
+
toDate: joi.string().required(),
|
|
213
|
+
dateType: joi.string().required(),
|
|
214
|
+
searchValue: joi.string().optional().allow( '' ),
|
|
215
|
+
filterByUser: joi.array().optional(),
|
|
216
|
+
filterByModuleType: joi.array().optional(),
|
|
217
|
+
filterByStatus: joi.array().optional(),
|
|
218
|
+
sortColumnName: joi.string().optional(),
|
|
219
|
+
sortBy: joi.number().optional(),
|
|
220
|
+
limit: joi.number().optional(),
|
|
221
|
+
offset: joi.number().optional(),
|
|
222
|
+
isExport: joi.boolean().optional(),
|
|
223
|
+
},
|
|
224
|
+
);
|
|
225
|
+
|
|
226
|
+
export const userMetricsValid = {
|
|
227
|
+
body: userMetricsSchema,
|
|
228
|
+
};
|
|
@@ -14,67 +14,6 @@ export const getAuditImagesValid = {
|
|
|
14
14
|
};
|
|
15
15
|
|
|
16
16
|
|
|
17
|
-
export const storeMetricsSchema = joi.object(
|
|
18
|
-
{
|
|
19
|
-
fromDate: joi.string().required(),
|
|
20
|
-
toDate: joi.string().required(),
|
|
21
|
-
searchValue: joi.string().optional().allow( '' ),
|
|
22
|
-
filterByClientId: joi.array().required(),
|
|
23
|
-
filterByStoreId: joi.array().optional(),
|
|
24
|
-
filterByStatus: joi.array().optional(),
|
|
25
|
-
filterByType: joi.array().optional(),
|
|
26
|
-
sortColumnName: joi.string().optional(),
|
|
27
|
-
sortBy: joi.number().optional(),
|
|
28
|
-
limit: joi.number().optional(),
|
|
29
|
-
offset: joi.number().optional(),
|
|
30
|
-
isExport: joi.boolean().optional(),
|
|
31
|
-
},
|
|
32
|
-
);
|
|
33
|
-
|
|
34
|
-
export const storeMetricsValid = {
|
|
35
|
-
body: storeMetricsSchema,
|
|
36
|
-
};
|
|
37
|
-
|
|
38
|
-
export const clientMetricsSchema = joi.object(
|
|
39
|
-
{
|
|
40
|
-
fromDate: joi.string().required(),
|
|
41
|
-
toDate: joi.string().required(),
|
|
42
|
-
searchValue: joi.string().optional().allow( '' ),
|
|
43
|
-
filterByClient: joi.array().required(),
|
|
44
|
-
filterByStatus: joi.array().optional(),
|
|
45
|
-
sortColumnName: joi.string().optional(),
|
|
46
|
-
sortBy: joi.number().optional(),
|
|
47
|
-
limit: joi.number().optional(),
|
|
48
|
-
offset: joi.number().optional(),
|
|
49
|
-
isExport: joi.boolean().optional(),
|
|
50
|
-
},
|
|
51
|
-
);
|
|
52
|
-
|
|
53
|
-
export const clientMetricsValid = {
|
|
54
|
-
body: clientMetricsSchema,
|
|
55
|
-
};
|
|
56
|
-
|
|
57
|
-
export const userMetricsSchema = joi.object(
|
|
58
|
-
{
|
|
59
|
-
fromDate: joi.string().required(),
|
|
60
|
-
toDate: joi.string().required(),
|
|
61
|
-
fileType: joi.string().required(),
|
|
62
|
-
searchValue: joi.string().optional().allow( '' ),
|
|
63
|
-
filterByUser: joi.array().optional(),
|
|
64
|
-
filterByAuditType: joi.array().optional(),
|
|
65
|
-
filterByStatus: joi.array().optional(),
|
|
66
|
-
sortColumnName: joi.string().optional(),
|
|
67
|
-
sortBy: joi.number().optional(),
|
|
68
|
-
limit: joi.number().optional(),
|
|
69
|
-
offset: joi.number().optional(),
|
|
70
|
-
isExport: joi.boolean().optional(),
|
|
71
|
-
},
|
|
72
|
-
);
|
|
73
|
-
|
|
74
|
-
export const userMetricsValid = {
|
|
75
|
-
body: userMetricsSchema,
|
|
76
|
-
};
|
|
77
|
-
|
|
78
17
|
export const overViewCardSchema = joi.object(
|
|
79
18
|
{
|
|
80
19
|
fromDate: joi.string().required(),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import express from 'express';
|
|
2
2
|
import { isExistsQueue, validateUserAudit } from '../validation/audit.validation.js';
|
|
3
3
|
import { isAllowedSessionHandler, validate } from 'tango-app-api-middleware';
|
|
4
|
-
import { auditStoreList, auditUserList, clients, getAuditFile, getDraftedData, save, saveDraft, userAuditHistory, workSpace } from '../controllers/audit.controllers.js';
|
|
5
|
-
import { auditStoreValid, clientValid, getDraftedDataValid, getFileValid, saveDraftValid, saveValid, userAuditHistoryValid, workSpaceValid } from '../dtos/audit.dtos.js';
|
|
4
|
+
import { auditStoreList, auditUserList, clientMetrics, clients, getAuditFile, getDraftedData, save, saveDraft, storeMetrics, userAuditHistory, userMetrics, workSpace } from '../controllers/audit.controllers.js';
|
|
5
|
+
import { auditStoreValid, clientMetricsValid, clientValid, getDraftedDataValid, getFileValid, saveDraftValid, saveValid, storeMetricsValid, userAuditHistoryValid, userMetricsValid, workSpaceValid } from '../dtos/audit.dtos.js';
|
|
6
6
|
|
|
7
7
|
export const auditRouter = express.Router();
|
|
8
8
|
|
|
@@ -21,6 +21,9 @@ auditRouter.get( '/work-space', isAllowedSessionHandler, validate( workSpaceVali
|
|
|
21
21
|
|
|
22
22
|
// Audit Metrics
|
|
23
23
|
auditRouter.post( '/metrics/user-audit-history', isAllowedSessionHandler, validate( userAuditHistoryValid ), userAuditHistory );
|
|
24
|
+
auditRouter.post( '/metrics/client-metrics', isAllowedSessionHandler, validate( clientMetricsValid ), clientMetrics );
|
|
25
|
+
auditRouter.post( '/metrics/store-metrics', isAllowedSessionHandler, validate( storeMetricsValid ), storeMetrics );
|
|
26
|
+
auditRouter.post( '/metrics/user-metrics', isAllowedSessionHandler, validate( userMetricsValid ), userMetrics );
|
|
24
27
|
|
|
25
28
|
|
|
26
29
|
export default auditRouter;
|
|
@@ -1,16 +1,13 @@
|
|
|
1
1
|
|
|
2
2
|
import express from 'express';
|
|
3
3
|
import { isAllowedSessionHandler, validate } from 'tango-app-api-middleware';
|
|
4
|
-
import { auditImages,
|
|
5
|
-
import { auditImageValid,
|
|
4
|
+
import { auditImages, overAllAuditSummary, overViewCard, overViewTable, reTrigger, summarySplit } from '../controllers/auditMetrics.controllers.js';
|
|
5
|
+
import { auditImageValid, overAllAuditSummaryValid, overViewCardValid, overViewTableValid, reTriggerValid, summarySplitValid, viewLogValid } from '../dtos/auditMetrics.dtos.js';
|
|
6
6
|
import { isAuditDocumentExist, isAuditInputFolderExist } from '../validation/audit.validation.js';
|
|
7
7
|
|
|
8
8
|
export const auditMetricsRouter = express.Router();
|
|
9
9
|
|
|
10
10
|
|
|
11
|
-
auditMetricsRouter.post( '/store-metrics', isAllowedSessionHandler, validate( storeMetricsValid ), storeMetrics );
|
|
12
|
-
auditMetricsRouter.post( '/client-metrics', isAllowedSessionHandler, validate( clientMetricsValid ), clientMetrics );
|
|
13
|
-
auditMetricsRouter.post( '/user-metrics', isAllowedSessionHandler, validate( userMetricsValid ), userMetrics );
|
|
14
11
|
auditMetricsRouter.post( '/overview-card', isAllowedSessionHandler, validate( overViewCardValid ), overViewCard );
|
|
15
12
|
auditMetricsRouter.post( '/summary-split-up', isAllowedSessionHandler, validate( summarySplitValid ), summarySplit );
|
|
16
13
|
auditMetricsRouter.post( '/overview-table', isAllowedSessionHandler, validate( overViewTableValid ), overViewTable );
|