tango-app-api-store-builder 1.0.0-beta-116 → 1.0.0-beta-118
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 +2 -2
- package/src/controllers/managePlano.controller.js +30 -16
- package/src/controllers/script.controller.js +26 -22
- package/src/controllers/storeBuilder.controller.js +11 -1
- package/src/controllers/task.controller.js +25 -2
- package/src/dtos/validation.dtos.js +1 -1
- package/src/routes/task.routes.js +2 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tango-app-api-store-builder",
|
|
3
|
-
"version": "1.0.0-beta-
|
|
3
|
+
"version": "1.0.0-beta-118",
|
|
4
4
|
"description": "storeBuilder",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -32,7 +32,7 @@
|
|
|
32
32
|
"path": "^0.12.7",
|
|
33
33
|
"selenium-webdriver": "^4.31.0",
|
|
34
34
|
"sharp": "^0.34.1",
|
|
35
|
-
"tango-api-schema": "2.2.
|
|
35
|
+
"tango-api-schema": "2.2.155",
|
|
36
36
|
"tango-app-api-middleware": "^3.1.48",
|
|
37
37
|
"url": "^0.11.4",
|
|
38
38
|
"winston": "^3.17.0",
|
|
@@ -454,7 +454,7 @@ export async function updateFixtureStatus( req, res ) {
|
|
|
454
454
|
userId: req.user._id,
|
|
455
455
|
userName: req.user.userName,
|
|
456
456
|
role: req.user.role,
|
|
457
|
-
responsetype: req.
|
|
457
|
+
responsetype: req.body.type,
|
|
458
458
|
comment: req.body.comments,
|
|
459
459
|
};
|
|
460
460
|
console.log( comments );
|
|
@@ -462,7 +462,7 @@ export async function updateFixtureStatus( req, res ) {
|
|
|
462
462
|
let updateResponse = await planoTaskService.updateOnefilters(
|
|
463
463
|
{ _id: new mongoose.Types.ObjectId( req.body._id ) },
|
|
464
464
|
{
|
|
465
|
-
$set: { 'answers.$[ans].issues.$[iss].Details.$[det].status':
|
|
465
|
+
$set: { 'answers.$[ans].issues.$[iss].Details.$[det].status': req.body.type },
|
|
466
466
|
},
|
|
467
467
|
[
|
|
468
468
|
{ 'ans._id': new mongoose.Types.ObjectId( req.body.answerId ) },
|
|
@@ -470,18 +470,33 @@ export async function updateFixtureStatus( req, res ) {
|
|
|
470
470
|
{ 'det._id': new mongoose.Types.ObjectId( req.body.DetailsId ) },
|
|
471
471
|
|
|
472
472
|
] );
|
|
473
|
-
|
|
474
|
-
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
479
|
-
|
|
480
|
-
|
|
481
|
-
|
|
473
|
+
if ( req.body.taskType==='layout' ) {
|
|
474
|
+
let updatecomment = await planoTaskService.updateOnefilters(
|
|
475
|
+
{ _id: new mongoose.Types.ObjectId( req.body._id ) },
|
|
476
|
+
{
|
|
477
|
+
$push: { 'answers.$[ans].issues.$[iss].Details.$[det].comments': comments },
|
|
478
|
+
},
|
|
479
|
+
[
|
|
480
|
+
{ 'ans._id': new mongoose.Types.ObjectId( req.body.answerId ) },
|
|
481
|
+
{ 'iss._id': new mongoose.Types.ObjectId( req.body.issueId ) },
|
|
482
|
+
{ 'det._id': new mongoose.Types.ObjectId( req.body.DetailsId ) },
|
|
483
|
+
|
|
484
|
+
] );
|
|
485
|
+
console.log( updatecomment );
|
|
486
|
+
} else {
|
|
487
|
+
let updatecomment = await planoTaskService.updateOnefilters(
|
|
488
|
+
{ _id: new mongoose.Types.ObjectId( req.body._id ) },
|
|
489
|
+
{
|
|
490
|
+
$push: { 'answers.$[ans].issues.$[iss].comments': comments },
|
|
491
|
+
},
|
|
492
|
+
[
|
|
493
|
+
{ 'ans._id': new mongoose.Types.ObjectId( req.body.answerId ) },
|
|
494
|
+
{ 'iss._id': new mongoose.Types.ObjectId( req.body.issueId ) },
|
|
495
|
+
] );
|
|
496
|
+
console.log( updatecomment );
|
|
497
|
+
}
|
|
498
|
+
console.log( updateResponse );
|
|
482
499
|
|
|
483
|
-
] );
|
|
484
|
-
console.log( updateResponse, updatecomment );
|
|
485
500
|
res.sendSuccess( 'updated successfully' );
|
|
486
501
|
} catch ( e ) {
|
|
487
502
|
logger.error( { functionName: 'updateFixtureStatus', error: e } );
|
|
@@ -517,13 +532,12 @@ export async function updateStoreFixture(req, res) {
|
|
|
517
532
|
});
|
|
518
533
|
|
|
519
534
|
|
|
520
|
-
|
|
521
535
|
if (currentFixtureDoc.fixtureConfigId.toString() !== data.fixtureConfigId) {
|
|
522
|
-
const newTemplate = await fixtureConfigService.findOne({_id: data.fixtureConfigId})
|
|
536
|
+
const newTemplate = await fixtureConfigService.findOne({_id: new mongoose.Types.ObjectId(data.fixtureConfigId) })
|
|
523
537
|
currentFixtureDoc = {
|
|
524
538
|
...currentFixtureDoc,
|
|
525
539
|
...newTemplate.toObject(),
|
|
526
|
-
|
|
540
|
+
fixtureConfigId:newTemplate.toObject()._id,
|
|
527
541
|
productBrandName:[...productBrandName],
|
|
528
542
|
productCategory:[...productCategory],
|
|
529
543
|
productSubCategory:[...productSubCategory]
|
|
@@ -7231,20 +7231,20 @@ export async function migrateCrestv1( req, res ) {
|
|
|
7231
7231
|
let storeQuery = {
|
|
7232
7232
|
clientId: '11',
|
|
7233
7233
|
$and: [
|
|
7234
|
-
|
|
7235
|
-
{ storeName: { $in: [
|
|
7236
|
-
|
|
7237
|
-
|
|
7238
|
-
|
|
7239
|
-
|
|
7240
|
-
|
|
7241
|
-
|
|
7242
|
-
|
|
7243
|
-
|
|
7244
|
-
|
|
7245
|
-
|
|
7246
|
-
|
|
7247
|
-
] } },
|
|
7234
|
+
{ storeName: req.body.storeName },
|
|
7235
|
+
// { storeName: { $in: [
|
|
7236
|
+
// 'LKST81',
|
|
7237
|
+
// 'LKST682',
|
|
7238
|
+
// 'LKST351',
|
|
7239
|
+
// 'LKST1193',
|
|
7240
|
+
// 'LKST98',
|
|
7241
|
+
// 'LKST01',
|
|
7242
|
+
// 'LKST266',
|
|
7243
|
+
// 'LKST495',
|
|
7244
|
+
// 'LKST2280',
|
|
7245
|
+
// 'LKST599',
|
|
7246
|
+
// 'LKST267',
|
|
7247
|
+
// ] } },
|
|
7248
7248
|
// { storeName: { $nin: [ 'LKST98', 'LKST1193' ] } },
|
|
7249
7249
|
],
|
|
7250
7250
|
};
|
|
@@ -7267,8 +7267,6 @@ export async function migrateCrestv1( req, res ) {
|
|
|
7267
7267
|
for ( let i = 0; i < storeList.length; i++ ) {
|
|
7268
7268
|
const storeData = await fetchStoreData( storeList[i], staticToken, res );
|
|
7269
7269
|
|
|
7270
|
-
console.log( JSON.stringify( storeData ) );
|
|
7271
|
-
|
|
7272
7270
|
if ( storeData?.data?.message !== 'SUCCESS' ) continue;
|
|
7273
7271
|
|
|
7274
7272
|
|
|
@@ -7526,6 +7524,7 @@ export async function migrateCrestv1( req, res ) {
|
|
|
7526
7524
|
const vmConfig = fixtureConfigDoc.vmConfig.filter( ( vm ) => vm.position === zone.zoneName );
|
|
7527
7525
|
const pids = zone.products.filter( ( vm ) => !vm.isMerchandisingElement );
|
|
7528
7526
|
|
|
7527
|
+
|
|
7529
7528
|
return vms.map( ( vm, k ) => {
|
|
7530
7529
|
let configData = vmConfig[0];
|
|
7531
7530
|
|
|
@@ -7537,6 +7536,7 @@ export async function migrateCrestv1( req, res ) {
|
|
|
7537
7536
|
configData = vmConfig.find( ( config ) => config.vmWidthmm === 230 );
|
|
7538
7537
|
}
|
|
7539
7538
|
|
|
7539
|
+
|
|
7540
7540
|
if ( configData.vmWidthmm === 905 ) {
|
|
7541
7541
|
configData.zone = 'stretch';
|
|
7542
7542
|
}
|
|
@@ -7617,7 +7617,7 @@ export async function migrateCrestv1( req, res ) {
|
|
|
7617
7617
|
|
|
7618
7618
|
const vmDetails = await planoVmService.upsertOne(
|
|
7619
7619
|
{
|
|
7620
|
-
'
|
|
7620
|
+
'vmName': vmInsertData.vmName,
|
|
7621
7621
|
},
|
|
7622
7622
|
vmInsertData,
|
|
7623
7623
|
);
|
|
@@ -7887,7 +7887,7 @@ export async function migrateCrestv1( req, res ) {
|
|
|
7887
7887
|
|
|
7888
7888
|
const vmDetails = await planoVmService.upsertOne(
|
|
7889
7889
|
{
|
|
7890
|
-
'
|
|
7890
|
+
'vmName': vmInsertData.vmName,
|
|
7891
7891
|
},
|
|
7892
7892
|
vmInsertData,
|
|
7893
7893
|
);
|
|
@@ -8157,7 +8157,7 @@ export async function migrateCrestv1( req, res ) {
|
|
|
8157
8157
|
|
|
8158
8158
|
const vmDetails = await planoVmService.upsertOne(
|
|
8159
8159
|
{
|
|
8160
|
-
'
|
|
8160
|
+
'vmName': vmInsertData.vmName,
|
|
8161
8161
|
},
|
|
8162
8162
|
vmInsertData,
|
|
8163
8163
|
);
|
|
@@ -8310,7 +8310,7 @@ export async function migrateCrestv1( req, res ) {
|
|
|
8310
8310
|
if ( !fixtureConfig ) continue;
|
|
8311
8311
|
const fixtureConfigDoc = fixtureConfig.toObject();
|
|
8312
8312
|
|
|
8313
|
-
let mapKey = `${fixtureConfigDoc.fixtureCategory}${fixtureConfigDoc.fixtureWidth.value}${fixtureConfigDoc.fixtureWidth.unit},${fixture.
|
|
8313
|
+
let mapKey = `${fixtureConfigDoc.fixtureCategory}${fixtureConfigDoc.fixtureWidth.value}${fixtureConfigDoc.fixtureWidth.unit},${fixture.centerSubMain}`;
|
|
8314
8314
|
|
|
8315
8315
|
const fixtureProductSubBrandName = new Set();
|
|
8316
8316
|
|
|
@@ -8318,7 +8318,7 @@ export async function migrateCrestv1( req, res ) {
|
|
|
8318
8318
|
const shelfTemplate = fixtureConfigDoc.shelfConfig.map( ( configShelf, j ) => {
|
|
8319
8319
|
const shelfSection = fixture?.centerSuperSubMain?.find( ( product ) => !product.isVisualMerchandiser );
|
|
8320
8320
|
|
|
8321
|
-
const shelfIdentifier = `shelf${j + 1}=${
|
|
8321
|
+
const shelfIdentifier = `shelf${j + 1}=${fixture?.centerSubMain}`;
|
|
8322
8322
|
|
|
8323
8323
|
mapKey += ','+shelfIdentifier;
|
|
8324
8324
|
|
|
@@ -8381,7 +8381,7 @@ export async function migrateCrestv1( req, res ) {
|
|
|
8381
8381
|
];
|
|
8382
8382
|
} );
|
|
8383
8383
|
|
|
8384
|
-
const vmTemplate = await Promise.all( vmConfig.map( async ( vmTemplate ) => {
|
|
8384
|
+
const vmTemplate = await Promise.all( vmConfig.map( async ( vmTemplate, k ) => {
|
|
8385
8385
|
const vmInsertData = {
|
|
8386
8386
|
clientId: '11',
|
|
8387
8387
|
vmName: vmTemplate.vmName,
|
|
@@ -8398,6 +8398,10 @@ export async function migrateCrestv1( req, res ) {
|
|
|
8398
8398
|
vmType: 'LKVM',
|
|
8399
8399
|
};
|
|
8400
8400
|
|
|
8401
|
+
const vmIdentifier = `vm${k+1}=${vmTemplate.vmName}+${vmTemplate.vmHeight}+${vmTemplate.vmWidth}+${vmTemplate.startYPosition}+${vmTemplate.endYPosition}+${vmTemplate.xZone}`;
|
|
8402
|
+
|
|
8403
|
+
mapKey += ','+vmIdentifier;
|
|
8404
|
+
|
|
8401
8405
|
const vmDetails = await planoVmService.upsertOne(
|
|
8402
8406
|
{
|
|
8403
8407
|
'vmName': vmInsertData.vmName,
|
|
@@ -3129,11 +3129,20 @@ export async function storeFixturesTaskv2( req, res ) {
|
|
|
3129
3129
|
};
|
|
3130
3130
|
} ) );
|
|
3131
3131
|
|
|
3132
|
+
let disabled = true;
|
|
3133
|
+
if ( compliance?.status && compliance.status == 'incomplete' ) {
|
|
3134
|
+
let issueDetails = compliance?.answers?.[0]?.issues.find( ( ele ) => ele.status == 'disagree' );
|
|
3135
|
+
if ( issueDetails ) {
|
|
3136
|
+
disabled = false;
|
|
3137
|
+
}
|
|
3138
|
+
}
|
|
3139
|
+
|
|
3132
3140
|
return {
|
|
3133
3141
|
...fixture.toObject(),
|
|
3134
3142
|
status: compliance?.status ? compliance.status : '',
|
|
3135
3143
|
shelfCount: shelves.shelves,
|
|
3136
3144
|
productCount: productCount,
|
|
3145
|
+
disabled: disabled,
|
|
3137
3146
|
vmCount: vmCount,
|
|
3138
3147
|
shelfConfig: shelfDetails,
|
|
3139
3148
|
vms: vmDetails,
|
|
@@ -3247,6 +3256,8 @@ export async function planoList( req, res ) {
|
|
|
3247
3256
|
fixtureCapacity: '$fixtureDetails.fixtureCapacity',
|
|
3248
3257
|
status: 1,
|
|
3249
3258
|
planoProgress: 1,
|
|
3259
|
+
createdAt: 1,
|
|
3260
|
+
lastUpdate: '$updatedAt',
|
|
3250
3261
|
},
|
|
3251
3262
|
},
|
|
3252
3263
|
];
|
|
@@ -3272,7 +3283,6 @@ export async function planoList( req, res ) {
|
|
|
3272
3283
|
],
|
|
3273
3284
|
},
|
|
3274
3285
|
} );
|
|
3275
|
-
|
|
3276
3286
|
let planoDetails = await planoService.aggregate( query );
|
|
3277
3287
|
|
|
3278
3288
|
if ( !planoDetails[0].data.length ) {
|
|
@@ -458,8 +458,14 @@ export async function updateStatus( req, res ) {
|
|
|
458
458
|
} else {
|
|
459
459
|
currentDateTime = requestData?.currentTime ? dayjs( requestData.currentTime, 'HH:mm:ss' ) : dayjs();
|
|
460
460
|
}
|
|
461
|
-
let
|
|
462
|
-
|
|
461
|
+
let timeString = currentDateTime.format( 'hh:mm A, DD MMM YYYY' );
|
|
462
|
+
let comments = {
|
|
463
|
+
userId: req.user._id,
|
|
464
|
+
userName: req.user.Name,
|
|
465
|
+
email: req.user.email,
|
|
466
|
+
comment: req.body.comments,
|
|
467
|
+
};
|
|
468
|
+
await processedService.updateOne( { _id: req.body.taskId }, { checklistStatus: req.body.status, ...( req.body.status == 'inprogress' ) ? { startTime_string: timeString } : { submitTime_string: timeString }, comments: { $push: comments } } );
|
|
463
469
|
if ( req.body.status == 'submit' ) {
|
|
464
470
|
await processedService.deleteMany( { planoId: taskDetails.planoId, userEmail: taskDetails.userEmail, store_id: taskDetails.store_id, ...( taskDetails?.floorId ) ? { floorId: taskDetails.floorId } : {}, date_iso: { $gt: new Date( dayjs().format( 'YYYY-MM-DD' ) ) } } );
|
|
465
471
|
}
|
|
@@ -895,3 +901,20 @@ export async function taskSubmitDetails( req, res ) {
|
|
|
895
901
|
return res.sendError( e, 500 );
|
|
896
902
|
}
|
|
897
903
|
}
|
|
904
|
+
|
|
905
|
+
export async function redoTask( req, res ) {
|
|
906
|
+
try {
|
|
907
|
+
if ( !req.body.taskId ) {
|
|
908
|
+
return res.sendError( 'Task id is required', 400 );
|
|
909
|
+
}
|
|
910
|
+
let getTaskDetails = await processedService.findOne( { _id: req.body.taskId } );
|
|
911
|
+
if ( !getTaskDetails ) {
|
|
912
|
+
return res.sendError( e, 204 );
|
|
913
|
+
}
|
|
914
|
+
await processedService.updateOne( { _id: req.body.taskId }, { checklistStatus: 'open', redoStatus: true } );
|
|
915
|
+
return res.sendSuccess( 'Task is republished successfully' );
|
|
916
|
+
} catch ( e ) {
|
|
917
|
+
logger.error( { functionName: 'redoTask', error: e } );
|
|
918
|
+
return res.sendError( e, 500 );
|
|
919
|
+
}
|
|
920
|
+
}
|
|
@@ -201,7 +201,7 @@ export const updateTaskConfig = {
|
|
|
201
201
|
export const uploadBrandListSchema = joi.object( {
|
|
202
202
|
clientId: joi.string().required(),
|
|
203
203
|
brandData: joi.array().items( joi.any() ).min( 1 ).required(),
|
|
204
|
-
brandUsedList:joi.array().items(joi.any()).min(0)
|
|
204
|
+
brandUsedList: joi.array().items( joi.any() ).min( 0 ),
|
|
205
205
|
} );
|
|
206
206
|
|
|
207
207
|
export const uploadBrandList = {
|
|
@@ -15,4 +15,5 @@ storeBuilderTaskRouter
|
|
|
15
15
|
.get( '/getFixtureDetails', isAllowedSessionHandler, taskController.getFixtureDetails )
|
|
16
16
|
.get( '/getVmDetails', isAllowedSessionHandler, taskController.getVmDetails )
|
|
17
17
|
.post( '/generateTaskExcel', taskController.generatetaskDetails )
|
|
18
|
-
.post( '/getSubmitDetails', taskController.taskSubmitDetails )
|
|
18
|
+
.post( '/getSubmitDetails', taskController.taskSubmitDetails )
|
|
19
|
+
.post( '/redoTask', isAllowedSessionHandler, taskController.redoTask );
|