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 CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tango-app-api-store-builder",
3
- "version": "1.0.0-beta-116",
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.154",
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.user.type,
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': 'completed' },
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
- let updatecomment = await planoTaskService.updateOnefilters(
474
- { _id: new mongoose.Types.ObjectId( req.body._id ) },
475
- {
476
- $push: { 'answers.$[ans].issues.$[iss].Details.$[det].comments': comments },
477
- },
478
- [
479
- { 'ans._id': new mongoose.Types.ObjectId( req.body.answerId ) },
480
- { 'iss._id': new mongoose.Types.ObjectId( req.body.issueId ) },
481
- { 'det._id': new mongoose.Types.ObjectId( req.body.DetailsId ) },
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
- fixtureConfigDoc:newTemplate.toObject()._id,
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
- // { 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
- ] } },
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
- 'productName': vmInsertData.vmName,
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
- 'productName': vmInsertData.vmName,
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
- 'productName': vmInsertData.vmName,
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.header}`;
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}=${shelfSection?.productName}`;
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 submitTimeString = currentDateTime.format( 'hh:mm A, DD MMM YYYY' );
462
- await processedService.updateOne( { _id: req.body.taskId }, { checklistStatus: req.body.status, ...( req.body.status == 'inprogress' ) ? { startTime_string: submitTimeString } : { submitTime_string: submitTimeString } } );
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 );