tango-app-api-audit 3.4.68-beta.3 → 3.4.68-beta.4
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
CHANGED
|
@@ -1,29 +1,29 @@
|
|
|
1
|
-
# README #
|
|
2
|
-
|
|
3
|
-
This README would normally document whatever steps are necessary to get your application up and running.
|
|
4
|
-
|
|
5
|
-
### What is this repository for? ###
|
|
6
|
-
|
|
7
|
-
* Quick summary
|
|
8
|
-
* Version
|
|
9
|
-
* [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo)
|
|
10
|
-
|
|
11
|
-
### How do I get set up? ###
|
|
12
|
-
|
|
13
|
-
* Summary of set up
|
|
14
|
-
* Configuration
|
|
15
|
-
* Dependencies
|
|
16
|
-
* Database configuration
|
|
17
|
-
* How to run tests
|
|
18
|
-
* Deployment instructions
|
|
19
|
-
|
|
20
|
-
### Contribution guidelines ###
|
|
21
|
-
|
|
22
|
-
* Writing tests
|
|
23
|
-
* Code review
|
|
24
|
-
* Other guidelines
|
|
25
|
-
|
|
26
|
-
### Who do I talk to? ###
|
|
27
|
-
|
|
28
|
-
* Repo owner or admin
|
|
1
|
+
# README #
|
|
2
|
+
|
|
3
|
+
This README would normally document whatever steps are necessary to get your application up and running.
|
|
4
|
+
|
|
5
|
+
### What is this repository for? ###
|
|
6
|
+
|
|
7
|
+
* Quick summary
|
|
8
|
+
* Version
|
|
9
|
+
* [Learn Markdown](https://bitbucket.org/tutorials/markdowndemo)
|
|
10
|
+
|
|
11
|
+
### How do I get set up? ###
|
|
12
|
+
|
|
13
|
+
* Summary of set up
|
|
14
|
+
* Configuration
|
|
15
|
+
* Dependencies
|
|
16
|
+
* Database configuration
|
|
17
|
+
* How to run tests
|
|
18
|
+
* Deployment instructions
|
|
19
|
+
|
|
20
|
+
### Contribution guidelines ###
|
|
21
|
+
|
|
22
|
+
* Writing tests
|
|
23
|
+
* Code review
|
|
24
|
+
* Other guidelines
|
|
25
|
+
|
|
26
|
+
### Who do I talk to? ###
|
|
27
|
+
|
|
28
|
+
* Repo owner or admin
|
|
29
29
|
* Other community or team contact
|
package/package.json
CHANGED
|
@@ -590,6 +590,94 @@ export async function save( req, res ) {
|
|
|
590
590
|
}
|
|
591
591
|
}
|
|
592
592
|
|
|
593
|
+
export async function cancel( req, res ) {
|
|
594
|
+
try {
|
|
595
|
+
const inputData = req.body;
|
|
596
|
+
const openSearch = JSON.parse( process.env.OPENSEARCH );
|
|
597
|
+
|
|
598
|
+
let searchFilter =[
|
|
599
|
+
{
|
|
600
|
+
'term': {
|
|
601
|
+
'queueId.keyword': inputData?.fileId,
|
|
602
|
+
},
|
|
603
|
+
|
|
604
|
+
},
|
|
605
|
+
{
|
|
606
|
+
'term': {
|
|
607
|
+
'type.keyword': inputData?.type,
|
|
608
|
+
},
|
|
609
|
+
|
|
610
|
+
},
|
|
611
|
+
|
|
612
|
+
{
|
|
613
|
+
'term': {
|
|
614
|
+
'auditStatus.keyword': 'In-Progress',
|
|
615
|
+
},
|
|
616
|
+
},
|
|
617
|
+
];
|
|
618
|
+
if ( inputData?.type == 'remote' ) {
|
|
619
|
+
searchFilter =[
|
|
620
|
+
{
|
|
621
|
+
'term': {
|
|
622
|
+
'engagementId.keyword': inputData?.fileId,
|
|
623
|
+
},
|
|
624
|
+
|
|
625
|
+
},
|
|
626
|
+
{
|
|
627
|
+
'term': {
|
|
628
|
+
'type.keyword': inputData?.type,
|
|
629
|
+
},
|
|
630
|
+
|
|
631
|
+
},
|
|
632
|
+
{
|
|
633
|
+
'term': {
|
|
634
|
+
'userId.keyword': req?.user?._id,
|
|
635
|
+
},
|
|
636
|
+
},
|
|
637
|
+
{
|
|
638
|
+
'term': {
|
|
639
|
+
'auditStatus.keyword': 'In-Progress',
|
|
640
|
+
},
|
|
641
|
+
},
|
|
642
|
+
];
|
|
643
|
+
}
|
|
644
|
+
|
|
645
|
+
let searchQuery={
|
|
646
|
+
'size': 1,
|
|
647
|
+
'query': {
|
|
648
|
+
'bool': {
|
|
649
|
+
'must': searchFilter,
|
|
650
|
+
},
|
|
651
|
+
},
|
|
652
|
+
};
|
|
653
|
+
const getOutput = await getOpenSearchData( openSearch.EyeTestOutput, searchQuery );
|
|
654
|
+
logger.info( { getOutput: getOutput } );
|
|
655
|
+
const output = getOutput?.body?.hits?.hits?.length > 0 ? getOutput?.body?.hits?.hits[0] : null;
|
|
656
|
+
if ( !output ) {
|
|
657
|
+
return res.sendError( 'No saved records found', 400 );
|
|
658
|
+
}
|
|
659
|
+
const record1 ={
|
|
660
|
+
|
|
661
|
+
auditStatus: 'Skipped',
|
|
662
|
+
endTime: dayjs().tz( 'Asia/Kolkata' ),
|
|
663
|
+
|
|
664
|
+
};
|
|
665
|
+
const record2 ={
|
|
666
|
+
|
|
667
|
+
auditStatus: 'Yet-to-Audit',
|
|
668
|
+
endTime: dayjs().tz( 'Asia/Kolkata' ),
|
|
669
|
+
|
|
670
|
+
};
|
|
671
|
+
await updateOpenSearchData( openSearch.EyeTestOutput, output?._id, { doc: record1 } );
|
|
672
|
+
await updateOpenSearchData( openSearch.EyeTestInput, inputData.id, { doc: record2 } );
|
|
673
|
+
return res.sendSuccess( 'The file has canceled ' );
|
|
674
|
+
} catch ( error ) {
|
|
675
|
+
const err = error.message || 'Internal Server Error';
|
|
676
|
+
logger.error( { message: error, data: req.params, function: 'eyetestAudit-controller-cancel' } );
|
|
677
|
+
return res.sendError( err, 500 );
|
|
678
|
+
}
|
|
679
|
+
}
|
|
680
|
+
|
|
593
681
|
export async function getFileHistory( req, res ) {
|
|
594
682
|
try {
|
|
595
683
|
const parsedOpenSearch = JSON.parse( process.env.OPENSEARCH );
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import j2s from 'joi-to-swagger';
|
|
2
|
-
import { getListSchema, getFileSchema, getFileHistorySchema, userAuditedDataSchema, viewFileSchema, saveSchema } from '../dtos/eyeTestAudit.dtos.js';
|
|
2
|
+
import { getListSchema, getFileSchema, getFileHistorySchema, userAuditedDataSchema, viewFileSchema, saveSchema, cancelSchema } from '../dtos/eyeTestAudit.dtos.js';
|
|
3
3
|
|
|
4
4
|
export const eyeTestAuditDocs = {
|
|
5
5
|
|
|
@@ -93,6 +93,28 @@ export const eyeTestAuditDocs = {
|
|
|
93
93
|
},
|
|
94
94
|
},
|
|
95
95
|
|
|
96
|
+
'/v3/eye-test-audit/cancel': {
|
|
97
|
+
post: {
|
|
98
|
+
tags: [ 'Eye Test Audit' ],
|
|
99
|
+
description: 'cancel eytest audit',
|
|
100
|
+
operationId: 'cancel',
|
|
101
|
+
requestBody: {
|
|
102
|
+
content: {
|
|
103
|
+
'application/json': {
|
|
104
|
+
schema: j2s( cancelSchema ).swagger,
|
|
105
|
+
},
|
|
106
|
+
},
|
|
107
|
+
},
|
|
108
|
+
responses: {
|
|
109
|
+
200: { description: 'Successful' },
|
|
110
|
+
401: { description: 'Unauthorized User' },
|
|
111
|
+
422: { description: 'Field Error' },
|
|
112
|
+
500: { description: 'Server Error' },
|
|
113
|
+
204: { description: 'Not Found' },
|
|
114
|
+
},
|
|
115
|
+
},
|
|
116
|
+
},
|
|
117
|
+
|
|
96
118
|
'/v3/eye-test-audit/get-file-history/{id}': {
|
|
97
119
|
get: {
|
|
98
120
|
tags: [ 'Eye Test Audit' ],
|
|
@@ -53,6 +53,17 @@ export const saveValid = {
|
|
|
53
53
|
};
|
|
54
54
|
|
|
55
55
|
|
|
56
|
+
export const cancelSchema = joi.object( {
|
|
57
|
+
type: joi.string().required(),
|
|
58
|
+
fileId: joi.string().required(),
|
|
59
|
+
id: joi.string().required(),
|
|
60
|
+
} );
|
|
61
|
+
|
|
62
|
+
export const cancelValid = {
|
|
63
|
+
body: cancelSchema,
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
|
|
56
67
|
export const getFileHistorySchema = joi.object( {
|
|
57
68
|
id: joi.string().required(),
|
|
58
69
|
type: joi.string().required(),
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import { Router } from 'express';
|
|
2
2
|
import { isAllowedSessionHandler, validate } from 'tango-app-api-middleware';
|
|
3
3
|
import { accessVerification } from 'tango-app-api-middleware';
|
|
4
|
-
import { getFileHistoryValid, getFileValid, getListValid, saveValid, userAuditedDataValid, viewFileValid } from '../dtos/eyeTestAudit.dtos.js';
|
|
5
|
-
import { getFile, getFileHistory, getList, save, userAuditedData, viewFile } from '../controllers/eyeTestAudit.controllers.js';
|
|
4
|
+
import { cancelValid, getFileHistoryValid, getFileValid, getListValid, saveValid, userAuditedDataValid, viewFileValid } from '../dtos/eyeTestAudit.dtos.js';
|
|
5
|
+
import { cancel, getFile, getFileHistory, getList, save, userAuditedData, viewFile } from '../controllers/eyeTestAudit.controllers.js';
|
|
6
6
|
|
|
7
7
|
export const eyeTestAuditRouter = Router();
|
|
8
8
|
|
|
@@ -10,6 +10,7 @@ eyeTestAuditRouter.post( '/get-list', isAllowedSessionHandler, accessVerificatio
|
|
|
10
10
|
eyeTestAuditRouter.get( '/view-file/:id', isAllowedSessionHandler, accessVerification( { userType: [ 'tango', 'client' ] } ), validate( viewFileValid ), viewFile );
|
|
11
11
|
eyeTestAuditRouter.get( '/get-file/:id', isAllowedSessionHandler, accessVerification( { userType: [ 'tango', 'client' ] } ), validate( getFileValid ), getFile );
|
|
12
12
|
eyeTestAuditRouter.post( '/save', isAllowedSessionHandler, accessVerification( { userType: [ 'tango', 'client' ] } ), validate( saveValid ), save );
|
|
13
|
+
eyeTestAuditRouter.post( '/cancel', isAllowedSessionHandler, accessVerification( { userType: [ 'tango', 'client' ] } ), validate( cancelValid ), cancel );
|
|
13
14
|
eyeTestAuditRouter.get( '/get-file-history/:id/:type', isAllowedSessionHandler, accessVerification( { userType: [ 'tango', 'client' ] } ), validate( getFileHistoryValid ), getFileHistory );
|
|
14
15
|
eyeTestAuditRouter.get( '/user-audited-data/:id', isAllowedSessionHandler, accessVerification( { userType: [ 'tango', 'client' ] } ), validate( userAuditedDataValid ), userAuditedData );
|
|
15
16
|
|