tango-app-api-store-builder 1.0.0-beta-55 → 1.0.0-beta-57

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-55",
3
+ "version": "1.0.0-beta-57",
4
4
  "description": "storeBuilder",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -259,8 +259,8 @@ export async function createFloors( req, res ) {
259
259
  const maxYDetailedDistance = Math.max( floorYDetailedDistanceFeet, backYDetailedDistanceFeet );
260
260
 
261
261
 
262
- const finalXDistance = maxXDistance < ( backXDistanceFeet + floorXDistanceFeet )? ( ( backXDistanceFeet + floorXDistanceFeet ) + ( ( 2 * constantFixtureLength )/mmToFeet ) ) : maxXDistance;
263
- const finalXDetailedDistance = maxXDetailedDistance < ( backXDetailedDistanceFeet + floorXDetailedDistanceFeet )? ( ( backXDetailedDistanceFeet + floorXDetailedDistanceFeet ) + ( ( 2 * constantDetailedFixtureLength )/mmToFeet ) ) : maxXDetailedDistance;
262
+ const finalXDistance = maxXDistance < ( backXDistanceFeet + floorXDistanceFeet )? ( ( backXDistanceFeet + floorXDistanceFeet ) + ( ( 2 * constantFixtureLength )/mmToFeet ) ) : ( floorFixtures.length && backFixtures.length ) ? ( maxXDistance + ( ( 2 * constantFixtureLength )/mmToFeet ) ) : maxXDistance;
263
+ const finalXDetailedDistance = maxXDetailedDistance < ( backXDetailedDistanceFeet + floorXDetailedDistanceFeet )? ( ( backXDetailedDistanceFeet + floorXDetailedDistanceFeet ) + ( ( 2 * constantDetailedFixtureLength )/mmToFeet ) ) : ( floorFixtures.length && backFixtures.length ) ? ( maxXDetailedDistance + ( ( 2 * constantDetailedFixtureLength )/mmToFeet ) ) : maxXDetailedDistance;
264
264
 
265
265
  const finalYDistance = maxYDistance < ( leftYDistanceFeet + rightYDistanceFeet + floorYDistanceFeet ) ? ( ( leftYDistanceFeet + rightYDistanceFeet + floorYDistanceFeet ) + ( ( 2 * constantFixtureWidth )/mmToFeet ) ) : ( maxYDistance + ( ( constantFixtureWidth )/mmToFeet ) );
266
266
  const finalYDetailedDistance = maxYDetailedDistance < ( leftYDetailedDistanceFeet + rightYDetailedDistanceFeet + floorYDetailedDistanceFeet ) ? ( ( leftYDetailedDistanceFeet + rightYDetailedDistanceFeet + floorYDetailedDistanceFeet ) + ( ( 2 * constantDetailedFixtureWidth )/mmToFeet ) ) : ( maxYDetailedDistance + ( ( constantDetailedFixtureWidth )/mmToFeet ) );
@@ -337,7 +337,7 @@ export async function createFloors( req, res ) {
337
337
 
338
338
  await storeBuilderService.create( floorInsertData );
339
339
 
340
- // console.log( floorInsertData );
340
+ console.log( floorInsertData );
341
341
  } ) );
342
342
 
343
343
  return res.sendSuccess( { message: 'Floor data inserted successfully' } );
@@ -456,8 +456,8 @@ export async function createFixturesShelves( req, res ) {
456
456
  const maxYDistance = Math.max( floorYDistanceFeet, backYDistanceFeet );
457
457
  const maxYDetailedDistance = Math.max( floorYDetailedDistanceFeet, backYDetailedDistanceFeet );
458
458
 
459
- const finalXDistance = maxXDistance < ( backXDistanceFeet + floorXDistanceFeet )? ( ( backXDistanceFeet + floorXDistanceFeet ) + ( ( 2 * constantFixtureLength )/mmToFeet ) ) : maxXDistance;
460
- const finalXDetailedDistance = maxXDetailedDistance < ( backXDetailedDistanceFeet + floorXDetailedDistanceFeet )? ( ( backXDetailedDistanceFeet + floorXDetailedDistanceFeet ) + ( ( 2 * constantDetailedFixtureLength )/mmToFeet ) ) : maxXDistance;
459
+ const finalXDistance = maxXDistance < ( backXDistanceFeet + floorXDistanceFeet )? ( ( backXDistanceFeet + floorXDistanceFeet ) + ( ( 2 * constantFixtureLength )/mmToFeet ) ) : ( floorFixtures.length && backFixtures.length ) ? ( maxXDistance + ( ( 2 * constantFixtureLength )/mmToFeet ) ) : maxXDistance;
460
+ const finalXDetailedDistance = maxXDetailedDistance < ( backXDetailedDistanceFeet + floorXDetailedDistanceFeet )? ( ( backXDetailedDistanceFeet + floorXDetailedDistanceFeet ) + ( ( 2 * constantDetailedFixtureLength )/mmToFeet ) ) : ( floorFixtures.length && backFixtures.length ) ? ( maxXDetailedDistance + ( ( 2 * constantDetailedFixtureLength )/mmToFeet ) ) : maxXDetailedDistance;
461
461
 
462
462
  const finalYDistance = maxYDistance < ( leftYDistanceFeet + rightYDistanceFeet + floorYDistanceFeet ) ? ( ( leftYDistanceFeet + rightYDistanceFeet + floorYDistanceFeet ) + ( ( 2 * constantFixtureWidth )/mmToFeet ) ) : ( maxYDistance + ( ( constantFixtureWidth )/mmToFeet ) );
463
463
  const finalYDetailedDistance = maxYDetailedDistance < ( leftYDetailedDistanceFeet + rightYDetailedDistanceFeet + floorYDetailedDistanceFeet ) ? ( ( leftYDetailedDistanceFeet + rightYDetailedDistanceFeet + floorYDetailedDistanceFeet ) + ( ( 2 * constantDetailedFixtureWidth )/mmToFeet ) ) : ( maxYDetailedDistance + ( ( constantDetailedFixtureWidth )/mmToFeet ) );
@@ -519,7 +519,7 @@ export async function createFixturesShelves( req, res ) {
519
519
 
520
520
  const createdFixture = await storeFixtureService.create( fixtureData );
521
521
 
522
- // console.log( 'Fixture Data', fixtureData );
522
+ console.log( 'Fixture Data', fixtureData );
523
523
 
524
524
 
525
525
  const vms = typeof fixture?.['VM Template ID'] === 'string' ? fixture?.['VM Template ID']?.split( ', ' ).map( ( item ) => item.trim() ) : [];
@@ -573,7 +573,7 @@ export async function createFixturesShelves( req, res ) {
573
573
 
574
574
  await fixtureShelfService.create( shelfData );
575
575
 
576
- // console.log( 'Shelf Data:', createdShelf );
576
+ console.log( 'Shelf Data:', createdShelf );
577
577
 
578
578
  shelfIndex++;
579
579
  }
@@ -635,7 +635,7 @@ export async function createFixturesShelves( req, res ) {
635
635
 
636
636
  const createdFixture = await storeFixtureService.create( fixtureData );
637
637
 
638
- // console.log( 'Fixture Data', fixtureData );
638
+ console.log( 'Fixture Data', fixtureData );
639
639
 
640
640
  const vms = typeof fixture?.['VM Template ID'] === 'string' ? fixture?.['VM Template ID']?.split( ', ' ).map( ( item ) => item.trim() ) : [];
641
641
 
@@ -684,7 +684,7 @@ export async function createFixturesShelves( req, res ) {
684
684
 
685
685
  const createdShelf = await fixtureShelfService.create( shelfData );
686
686
 
687
- // console.log( 'Shelf Data:', createdShelf );
687
+ console.log( 'Shelf Data:', createdShelf );
688
688
 
689
689
  shelfIndex++;
690
690
  }
@@ -746,7 +746,7 @@ export async function createFixturesShelves( req, res ) {
746
746
 
747
747
  const createdFixture = await storeFixtureService.create( fixtureData );
748
748
 
749
- // console.log( 'Fixture Data', fixtureData );
749
+ console.log( 'Fixture Data', fixtureData );
750
750
 
751
751
  const vms = typeof fixture?.['VM Template ID'] === 'string' ? fixture?.['VM Template ID']?.split( ', ' ).map( ( item ) => item.trim() ) : [];
752
752
 
@@ -795,7 +795,7 @@ export async function createFixturesShelves( req, res ) {
795
795
 
796
796
  await fixtureShelfService.create( shelfData );
797
797
 
798
- // console.log( 'Shelf Data:', createdShelf );
798
+ console.log( 'Shelf Data:', createdShelf );
799
799
 
800
800
  shelfIndex++;
801
801
  }
@@ -871,7 +871,7 @@ export async function createFixturesShelves( req, res ) {
871
871
  };
872
872
 
873
873
  const createdFixture = await storeFixtureService.create( fixtureData );
874
- // console.log( 'Fixture Data', fixtureData );
874
+ console.log( 'Fixture Data', fixtureData );
875
875
 
876
876
  const vms = typeof fixture?.['VM Template ID'] === 'string' ? fixture?.['VM Template ID']?.split( ', ' ).map( ( item ) => item.trim() ) : [];
877
877
 
@@ -921,7 +921,7 @@ export async function createFixturesShelves( req, res ) {
921
921
 
922
922
  await fixtureShelfService.create( shelfData );
923
923
 
924
- // console.log( 'Shelf Data:', createdShelf );
924
+ console.log( 'Shelf Data:', createdShelf );
925
925
 
926
926
  shelfIndex++;
927
927
  }
@@ -13,6 +13,7 @@ import * as planoMappingService from '../service/planoMapping.service.js';
13
13
  import * as planoComplianceService from '../service/planoCompliance.service.js';
14
14
  import * as planoTaskComplianceService from '../service/planoTask.service.js';
15
15
  import * as planoQrConversionRequestService from '../service/planoQrConversionRequest.service.js';
16
+ import * as fixtureConfigService from '../service/fixtureConfig.service.js';
16
17
 
17
18
  import path from 'path';
18
19
 
@@ -2521,8 +2522,171 @@ export const getShelfSections = async ( req, res ) => {
2521
2522
 
2522
2523
  return res.sendSuccess( data?.sectionNames );
2523
2524
  } catch ( error ) {
2524
- logger.error( 'upsertFixtures =>', error );
2525
+ logger.error( 'getShelfSections =>', error );
2525
2526
  return res.sendError( 'Internal Server Error', 500 );
2526
2527
  }
2527
2528
  };
2528
2529
 
2530
+ export const getFixtureTypes = async ( req, res ) => {
2531
+ try {
2532
+ const pipeline = [
2533
+ {
2534
+ '$match': {
2535
+ 'clientId': req.body.clientId,
2536
+ },
2537
+ },
2538
+ {
2539
+ $project:
2540
+ {
2541
+ fixtureCategory: 1,
2542
+ },
2543
+ },
2544
+ {
2545
+ '$match': {
2546
+ 'fixtureCategory': { '$ne': null },
2547
+ },
2548
+ },
2549
+ {
2550
+ $group: {
2551
+ _id: '$fixtureCategory',
2552
+ },
2553
+ },
2554
+ {
2555
+ $group: {
2556
+ '_id': null,
2557
+ 'fixtureCategory': { '$push': '$_id' },
2558
+ },
2559
+ },
2560
+ {
2561
+ $project: {
2562
+ _id: 0,
2563
+ fixtureCategory: 1,
2564
+ },
2565
+ },
2566
+ ];
2567
+
2568
+ const sections = await fixtureConfigService.aggregate( pipeline );
2569
+
2570
+ if ( !sections.length ) {
2571
+ return res.sendError( 'No data found', 204 );
2572
+ }
2573
+
2574
+ const [ data ] = sections;
2575
+
2576
+ return res.sendSuccess( data?.fixtureCategory );
2577
+ } catch ( error ) {
2578
+ logger.error( 'getFixtureTypes =>', error );
2579
+ return res.sendError( 'Internal Server Error', 500 );
2580
+ }
2581
+ };
2582
+
2583
+ export const getFixtureLengths = async ( req, res ) => {
2584
+ try {
2585
+ const pipeline = [
2586
+ {
2587
+ '$match': {
2588
+ 'clientId': req.body.clientId,
2589
+ },
2590
+ },
2591
+ {
2592
+ $project:
2593
+ {
2594
+ fixtureLength: 1,
2595
+ },
2596
+ },
2597
+ {
2598
+ '$match': {
2599
+ '$and': [
2600
+ { 'fixtureLength': { '$ne': null } },
2601
+ { 'fixtureLength.value': { '$ne': 0 } },
2602
+ ]
2603
+ ,
2604
+ },
2605
+ },
2606
+ {
2607
+ $group: {
2608
+ _id: '$fixtureLength',
2609
+ },
2610
+ },
2611
+ {
2612
+ $group: {
2613
+ '_id': null,
2614
+ 'fixtureLength': { '$push': '$_id' },
2615
+ },
2616
+ },
2617
+ {
2618
+ $project: {
2619
+ _id: 0,
2620
+ fixtureLength: 1,
2621
+ },
2622
+ },
2623
+ ];
2624
+
2625
+ const sections = await fixtureConfigService.aggregate( pipeline );
2626
+
2627
+ if ( !sections.length ) {
2628
+ return res.sendError( 'No data found', 204 );
2629
+ }
2630
+
2631
+ const [ data ] = sections;
2632
+
2633
+ return res.sendSuccess( data?.fixtureLength );
2634
+ } catch ( error ) {
2635
+ logger.error( 'getFixtureLengths =>', error );
2636
+ return res.sendError( 'Internal Server Error', 500 );
2637
+ }
2638
+ };
2639
+
2640
+
2641
+ export const getFixtureBrands = async ( req, res ) => {
2642
+ try {
2643
+ const pipeline = [
2644
+ {
2645
+ '$match': {
2646
+ 'clientId': req.body.clientId,
2647
+ },
2648
+ },
2649
+ {
2650
+ $project:
2651
+ {
2652
+ fixtureBrandCategory: 1,
2653
+ },
2654
+ },
2655
+ {
2656
+ '$match': {
2657
+ 'fixtureBrandCategory': { '$ne': null },
2658
+ },
2659
+ },
2660
+ {
2661
+ $group: {
2662
+ _id: '$fixtureBrandCategory',
2663
+ },
2664
+ },
2665
+ {
2666
+ $group: {
2667
+ '_id': null,
2668
+ 'fixtureBrandCategory': { '$push': '$_id' },
2669
+ },
2670
+ },
2671
+ {
2672
+ $project: {
2673
+ _id: 0,
2674
+ fixtureBrandCategory: 1,
2675
+ },
2676
+ },
2677
+ ];
2678
+
2679
+ const sections = await storeFixtureService.aggregate( pipeline );
2680
+
2681
+ if ( !sections.length ) {
2682
+ return res.sendError( 'No data found', 204 );
2683
+ }
2684
+
2685
+ const [ data ] = sections;
2686
+
2687
+ return res.sendSuccess( data?.fixtureBrandCategory );
2688
+ } catch ( error ) {
2689
+ logger.error( 'getFixtureBrands =>', error );
2690
+ return res.sendError( 'Internal Server Error', 500 );
2691
+ }
2692
+ };
@@ -350,7 +350,7 @@ export async function getTaskDetails( req, res ) {
350
350
  return res.sendError( 'Store id is required', 400 );
351
351
  }
352
352
  let date = req.query?.date || dayjs().format( 'YYYY-MM-DD' );
353
- let getDetails = await processedService.find( { store_id: req.query.storeId, date_string: date, isPlano: true, checklistStatus: { $ne: 'submit' }, userId: req.user._id }, { checkListName: 1, taskType: '$planoType' } );
353
+ let getDetails = await processedService.find( { store_id: req.query.storeId, date_string: date, isPlano: true, checklistStatus: { $ne: 'submit' }, userId: req.user._id }, { checkListName: 1, taskType: '$planoType', checklistStatus: 1 } );
354
354
  return res.sendSuccess( getDetails );
355
355
  } catch ( e ) {
356
356
  logger.error( { functionName: 'getTaskDetails', error: e } );
@@ -1,5 +1,5 @@
1
1
  import express from 'express';
2
- import { validate } from 'tango-app-api-middleware';
2
+ import { validate, isAllowedSessionHandler } from 'tango-app-api-middleware';
3
3
  import * as storeBuilderController from '../controllers/storeBuilder.controller.js';
4
4
  // import * as scriptController from '../controllers/script.controller.js';
5
5
  import * as validateDtos from '../dtos/validation.dtos.js';
@@ -8,32 +8,35 @@ import * as validateDtos from '../dtos/validation.dtos.js';
8
8
  export const storeBuilderRouter = express.Router();
9
9
 
10
10
  storeBuilderRouter
11
- .post( '/createStoreLayout', validate( validateDtos.createBuilder ), storeBuilderController.createStoreBuilder )
12
- .post( '/updateStoreLayout', validate( validateDtos.updateStoreLayout ), storeBuilderController.updateStoreLayout )
13
- .post( '/storeLayoutList', validate( validateDtos.storeLayoutList ), storeBuilderController.getLayoutList )
14
- .post( '/updateFloor', validate( validateDtos.updateFloor ), storeBuilderController.updateFloor )
15
- .post( '/uploadBulkStore', storeBuilderController.uploadBulkStore )
16
- .post( '/uploadFile', storeBuilderController.uploadFile )
11
+ .post( '/createStoreLayout', isAllowedSessionHandler, validate( validateDtos.createBuilder ), storeBuilderController.createStoreBuilder )
12
+ .post( '/updateStoreLayout', isAllowedSessionHandler, validate( validateDtos.updateStoreLayout ), storeBuilderController.updateStoreLayout )
13
+ .post( '/storeLayoutList', isAllowedSessionHandler, validate( validateDtos.storeLayoutList ), storeBuilderController.getLayoutList )
14
+ .post( '/updateFloor', isAllowedSessionHandler, validate( validateDtos.updateFloor ), storeBuilderController.updateFloor )
15
+ .post( '/uploadBulkStore', isAllowedSessionHandler, storeBuilderController.uploadBulkStore )
16
+ .post( '/uploadFile', isAllowedSessionHandler, storeBuilderController.uploadFile )
17
17
  // .post( '/storeLayout', validate( validateDtos.storeList ), storeBuilderController.storeFixtures )
18
- .post( '/storeDetails', validate( validateDtos.storeDetails ), storeBuilderController.getStoreDetails )
19
- .delete( '/deleteStoreLayout/:id', validate( validateDtos.deleteStoreLayout ), storeBuilderController.deleteStoreLayout )
20
- .post( '/removeFile', storeBuilderController.deleteFile )
21
- .post( '/deleteFloor', storeBuilderController.deleteFloor )
22
- .post( '/updateStatus', validate( validateDtos.updateStatus ), storeBuilderController.updateStatus )
18
+ .post( '/storeDetails', isAllowedSessionHandler, validate( validateDtos.storeDetails ), storeBuilderController.getStoreDetails )
19
+ .delete( '/deleteStoreLayout/:id', isAllowedSessionHandler, validate( validateDtos.deleteStoreLayout ), storeBuilderController.deleteStoreLayout )
20
+ .post( '/removeFile', isAllowedSessionHandler, storeBuilderController.deleteFile )
21
+ .post( '/deleteFloor', isAllowedSessionHandler, storeBuilderController.deleteFloor )
22
+ .post( '/updateStatus', isAllowedSessionHandler, validate( validateDtos.updateStatus ), storeBuilderController.updateStatus )
23
23
  // .post( '/FixtureShelfDetails', storeBuilderController.fixtureShelfProduct )
24
24
  // .post( '/scan', storeBuilderController.scan )
25
- .post( '/storeLayout', validate( validateDtos.storeList ), storeBuilderController.storeLayout )
26
- .post( '/storeFixtures', validate( validateDtos.storeList ), storeBuilderController.storeFixturesv1 )
27
- .post( '/FixtureShelfDetails', validate( validateDtos.fixtureShelfProduct ), storeBuilderController.fixtureShelfProductv1 )
28
- .post( '/scan', storeBuilderController.scanv1 )
29
- .post( '/updateMissing', storeBuilderController.updateMissing )
30
- .post( '/bulkFixtureUpload', storeBuilderController.bulkFixtureUpload )
31
- .post( '/uploadImage', storeBuilderController.uploadImage )
32
- .post( '/storeFixturesTask', storeBuilderController.storeFixturesTask )
33
- .post( '/qrFileUpload', storeBuilderController.qrFileUpload )
34
- .post( '/updateQrCvProcessRequest', storeBuilderController.updateQrCvProcessRequest )
35
- .post( '/getQrCvProcessRequest', storeBuilderController.getQrCvProcessRequest )
36
- .post( '/fixtureQrUpdate', storeBuilderController.fixtureQrUpdate )
37
- .post( '/updateDeatailedDistance', storeBuilderController.updateDetailedDistance )
38
- .post( '/upsertFixture', storeBuilderController.upsertFixtures )
39
- .post( '/getshelfSections', storeBuilderController.getShelfSections );
25
+ .post( '/storeLayout', isAllowedSessionHandler, validate( validateDtos.storeList ), storeBuilderController.storeLayout )
26
+ .post( '/storeFixtures', isAllowedSessionHandler, validate( validateDtos.storeList ), storeBuilderController.storeFixturesv1 )
27
+ .post( '/FixtureShelfDetails', isAllowedSessionHandler, validate( validateDtos.fixtureShelfProduct ), storeBuilderController.fixtureShelfProductv1 )
28
+ .post( '/scan', isAllowedSessionHandler, storeBuilderController.scanv1 )
29
+ .post( '/updateMissing', isAllowedSessionHandler, storeBuilderController.updateMissing )
30
+ .post( '/bulkFixtureUpload', isAllowedSessionHandler, storeBuilderController.bulkFixtureUpload )
31
+ .post( '/uploadImage', isAllowedSessionHandler, storeBuilderController.uploadImage )
32
+ .post( '/storeFixturesTask', isAllowedSessionHandler, storeBuilderController.storeFixturesTask )
33
+ .post( '/qrFileUpload', isAllowedSessionHandler, storeBuilderController.qrFileUpload )
34
+ .post( '/updateQrCvProcessRequest', isAllowedSessionHandler, storeBuilderController.updateQrCvProcessRequest )
35
+ .post( '/getQrCvProcessRequest', isAllowedSessionHandler, storeBuilderController.getQrCvProcessRequest )
36
+ .post( '/fixtureQrUpdate', isAllowedSessionHandler, storeBuilderController.fixtureQrUpdate )
37
+ .post( '/updateDeatailedDistance', isAllowedSessionHandler, storeBuilderController.updateDetailedDistance )
38
+ .post( '/upsertFixture', isAllowedSessionHandler, storeBuilderController.upsertFixtures )
39
+ .post( '/getshelfSections', isAllowedSessionHandler, storeBuilderController.getShelfSections )
40
+ .post( '/getFixtureTypes', isAllowedSessionHandler, storeBuilderController.getFixtureTypes )
41
+ .post( '/getFixtureLengths', isAllowedSessionHandler, storeBuilderController.getFixtureLengths )
42
+ .post( '/getFixtureBrands', isAllowedSessionHandler, storeBuilderController.getFixtureBrands );
@@ -5,10 +5,10 @@ import * as taskController from '../controllers/task.controller.js';
5
5
  export const storeBuilderTaskRouter = express.Router();
6
6
 
7
7
  storeBuilderTaskRouter
8
- .post( '/createTask', taskController.createTask )
9
- .post( '/createPlano', taskController.createPlano )
8
+ .post( '/createTask', isAllowedSessionHandler, taskController.createTask )
9
+ .post( '/createPlano', isAllowedSessionHandler, taskController.createPlano )
10
10
  .get( '/taskDetails', isAllowedSessionHandler, taskController.getTaskDetails )
11
- .post( '/uploadImage', taskController.uploadImage )
12
- .post( '/updateStatus', taskController.updateStatus )
13
- .post( '/updateAnswers', taskController.updateAnswers )
14
- .get( '/getFixtureDetails', taskController.getFixtureDetails );
11
+ .post( '/uploadImage', isAllowedSessionHandler, taskController.uploadImage )
12
+ .post( '/updateStatus', isAllowedSessionHandler, taskController.updateStatus )
13
+ .post( '/updateAnswers', isAllowedSessionHandler, taskController.updateAnswers )
14
+ .get( '/getFixtureDetails', isAllowedSessionHandler, taskController.getFixtureDetails );