tango-app-api-store-builder 1.0.2-alpha → 1.0.2

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.
Files changed (62) hide show
  1. package/data/Bitz_Final_Store_List_28.08.25.xlsx +0 -0
  2. package/data/Coastline 3.0 Tango.xlsx +0 -0
  3. package/data/Fixture capacity.xlsx +0 -0
  4. package/data/JJ_OD New Launch_Tango.xlsx +0 -0
  5. package/data/LKST 98 - Inventory Analysis.xlsx +0 -0
  6. package/data/OE_Vs_NON_OE_UPDATED.xlsx +0 -0
  7. package/data/Sale, Non sale stores.xlsx +0 -0
  8. package/data/Updated IVM New Fixture Flow-v8.xlsx +0 -0
  9. package/data/VM_logic.xlsx +0 -0
  10. package/data/euro_center_stores_tentpole.xls +0 -0
  11. package/data/ivmLogic.json +6058 -0
  12. package/data/logs.json +3 -0
  13. package/data/missing_stores.json +3 -0
  14. package/data/response.json +2119 -0
  15. package/index.js +7 -1
  16. package/package.json +15 -4
  17. package/src/controllers/fixtureTemplate.controller.js +1767 -0
  18. package/src/controllers/managePlano.controller.js +1986 -0
  19. package/src/controllers/planoLibrary.controller.js +1487 -0
  20. package/src/controllers/script.controller.js +14680 -0
  21. package/src/controllers/storeBuilder.controller.js +7361 -23
  22. package/src/controllers/task.controller.js +1149 -0
  23. package/src/dtos/validation.dtos.js +277 -1
  24. package/src/routes/fixtureTemplate.routes.js +30 -0
  25. package/src/routes/managePlano.routes.js +29 -0
  26. package/src/routes/planoLibrary.routes.js +42 -0
  27. package/src/routes/script.routes.js +44 -0
  28. package/src/routes/storeBuilder.routes.js +55 -5
  29. package/src/routes/task.routes.js +20 -0
  30. package/src/service/assignService.service.js +11 -0
  31. package/src/service/checklist.service.js +7 -0
  32. package/src/service/fixtureConfig.service.js +52 -0
  33. package/src/service/fixtureConfigDuplicate.service.js +52 -0
  34. package/src/service/fixtureShelf.service.js +53 -0
  35. package/src/service/fixtureShelfDuplicate.service.js +53 -0
  36. package/src/service/planoCompliance.service.js +33 -0
  37. package/src/service/planoDuplicateModel.service.js +41 -0
  38. package/src/service/planoGlobalComment.service.js +25 -0
  39. package/src/service/planoLibrary.service.js +45 -0
  40. package/src/service/planoLibraryDuplicate.service.js +45 -0
  41. package/src/service/planoMapping.service.js +44 -0
  42. package/src/service/planoMappingDuplicate.service.js +44 -0
  43. package/src/service/planoProduct.service.js +42 -0
  44. package/src/service/planoProductDuplicate.service.js +42 -0
  45. package/src/service/planoQrConversionRequest.service.js +32 -0
  46. package/src/service/planoRevision.service.js +15 -0
  47. package/src/service/planoStaticData.service.js +11 -0
  48. package/src/service/planoTask.service.js +39 -0
  49. package/src/service/planoVm.service.js +49 -0
  50. package/src/service/planoVmDuplicate.service.js +49 -0
  51. package/src/service/planogram.service.js +8 -0
  52. package/src/service/planoproductCategory.service.js +47 -0
  53. package/src/service/processedTaskservice.js +29 -0
  54. package/src/service/processedchecklist.service.js +17 -0
  55. package/src/service/storeBuilder.service.js +20 -0
  56. package/src/service/storeBuilderDuplicate.service.js +53 -0
  57. package/src/service/storeFixture.service.js +83 -0
  58. package/src/service/storeFixtureDuplicate.service.js +69 -0
  59. package/src/service/task.service.js +6 -0
  60. package/src/service/templateLog.service.js +10 -0
  61. package/src/service/user.service.js +14 -0
  62. package/src/service/vmType.service.js +33 -0
@@ -0,0 +1,49 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function find( query={}, field={} ) {
4
+ return model.planoVmDetailDuplicateModel.find( query, field );
5
+ }
6
+
7
+ export async function findOne( query={}, field={} ) {
8
+ return model.planoVmDetailDuplicateModel.findOne( query, field );
9
+ }
10
+ export async function findAndSort( query={}, field={}, sort={} ) {
11
+ return model.planoVmDetailDuplicateModel.find( query, field ).sort( sort ).collation( { locale: 'en_US', numericOrdering: true } );
12
+ }
13
+
14
+ export async function insertMany( data ) {
15
+ return model.planoVmDetailDuplicateModel.insertMany( data );
16
+ }
17
+
18
+ export async function deleteMany( data ) {
19
+ return model.planoVmDetailDuplicateModel.deleteMany( data );
20
+ }
21
+
22
+
23
+ export async function aggregate( query ) {
24
+ return model.planoVmDetailDuplicateModel.aggregate( query );
25
+ }
26
+
27
+
28
+ export async function deleteOne( query ) {
29
+ return model.planoVmDetailDuplicateModel.deleteOne( query );
30
+ }
31
+
32
+ export async function create( data ) {
33
+ return model.planoVmDetailDuplicateModel.create( data );
34
+ }
35
+
36
+ export async function upsertOne( query, record ) {
37
+ return model.planoVmDetailDuplicateModel.findOneAndUpdate(
38
+ query,
39
+ record,
40
+ { upsert: true, new: true },
41
+ );
42
+ }
43
+ export async function updateOne( query, record ) {
44
+ return model.planoVmDetailDuplicateModel.updateOne( query, { $set: record }, { upsert: true } );
45
+ }
46
+
47
+ export async function count( query ) {
48
+ return model.planoVmDetailDuplicateModel.countDocuments( query );
49
+ }
@@ -28,6 +28,14 @@ export async function deleteOne( query ) {
28
28
  return model.planogramModel.deleteOne( query );
29
29
  }
30
30
 
31
+ export async function upsertOne( query, record ) {
32
+ return model.planogramModel.findOneAndUpdate(
33
+ query,
34
+ record,
35
+ { upsert: true, new: true },
36
+ );
37
+ }
38
+
31
39
  export async function create( data ) {
32
40
  return model.planogramModel.create( data );
33
41
  }
@@ -0,0 +1,47 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export const findOne = async ( query={}, field={} ) => {
4
+ return await model.planoProductCategoryModel.findOne( query, field );
5
+ };
6
+
7
+ export const findAndSort = async ( query={}, field={}, sort={} ) => {
8
+ return await model.planoProductCategoryModel.find( query, field ).sort( sort ).collation( { locale: 'en_US', numericOrdering: true } );
9
+ };
10
+
11
+ export const find = async ( query={}, field={} ) => {
12
+ return await model.planoProductCategoryModel.find( query, field );
13
+ };
14
+
15
+ export const updateOne = async ( query={}, record={} ) => {
16
+ return await model.planoProductCategoryModel.updateOne( query, { $set: record }, { upsert: true } );
17
+ };
18
+
19
+ export const deleteOne = async ( query={} ) => {
20
+ return await model.planoProductCategoryModel.deleteOne( query );
21
+ };
22
+
23
+ export const insertMany = async ( data = [] ) => {
24
+ return await model.planoProductCategoryModel.insertMany( data );
25
+ };
26
+
27
+ export const deleteMany = async ( data = [] ) => {
28
+ return await model.planoProductCategoryModel.deleteMany( data );
29
+ };
30
+
31
+ export const create = async ( data = {} ) => {
32
+ return await model.planoProductCategoryModel.create( data );
33
+ };
34
+
35
+ export const aggregate = async ( query=[] ) => {
36
+ return await model.planoProductCategoryModel.aggregate( query );
37
+ };
38
+
39
+ export async function upsertOne( query, record ) {
40
+ return model.planoProductCategoryModel.findOneAndUpdate(
41
+ query,
42
+ record,
43
+ { upsert: true, new: true },
44
+ );
45
+ }
46
+
47
+
@@ -0,0 +1,29 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function create( data ) {
4
+ return model.taskProcessedModel.create( data );
5
+ }
6
+
7
+ export async function findOne( query = {}, field = {} ) {
8
+ return model.taskProcessedModel.findOne( query, field );
9
+ }
10
+
11
+ export async function updateOne( query = {}, record = {} ) {
12
+ return model.taskProcessedModel.updateOne( query, { $set: record }, { upsert: true } );
13
+ }
14
+
15
+ export async function deleteMany( query = {} ) {
16
+ return model.taskProcessedModel.deleteMany( query );
17
+ }
18
+
19
+ export async function deleteOne( query = {} ) {
20
+ return model.taskProcessedModel.deleteOne( query );
21
+ }
22
+
23
+ export async function aggregate( query = {} ) {
24
+ return model.taskProcessedModel.aggregate( query );
25
+ }
26
+
27
+ export async function find( query = {}, field = {} ) {
28
+ return model.taskProcessedModel.find( query, field );
29
+ }
@@ -0,0 +1,17 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function create( data ) {
4
+ return model.processedchecklistModel.create( data );
5
+ }
6
+
7
+ export async function findOne( query = {}, field = {} ) {
8
+ return model.processedchecklistModel.findOne( query, field );
9
+ }
10
+
11
+ export async function updateOne( query = {}, record = {} ) {
12
+ return model.processedchecklistModel.updateOne( query, { $set: record }, { upsert: true } );
13
+ }
14
+
15
+ export async function find( query = {}, field = {} ) {
16
+ return model.processedchecklistModel.find( query, field );
17
+ }
@@ -8,6 +8,10 @@ export async function findOne( query={}, field={} ) {
8
8
  return model.storeLayoutModel.findOne( query, field ).sort( { floorNumber: -1 } );
9
9
  }
10
10
 
11
+ export async function findOneAndUpdate( query={}, field={} ) {
12
+ return model.storeLayoutModel.findOneAndUpdate( query, field ).sort( { floorNumber: -1 } );
13
+ }
14
+
11
15
  export async function insertMany( data ) {
12
16
  return model.storeLayoutModel.insertMany( data );
13
17
  }
@@ -31,3 +35,19 @@ export async function updateOne( query, record ) {
31
35
  export async function updateMany( query, record ) {
32
36
  return model.storeLayoutModel.updateMany( query, { $set: record } );
33
37
  }
38
+
39
+ export async function create( data ) {
40
+ return model.storeLayoutModel.create( data );
41
+ }
42
+
43
+ export async function upsertOne( query, record ) {
44
+ return model.storeLayoutModel.findOneAndUpdate(
45
+ query,
46
+ record,
47
+ { upsert: true, new: true },
48
+ );
49
+ }
50
+
51
+ export async function count( query ) {
52
+ return model.storeLayoutModel.countDocuments( query );
53
+ }
@@ -0,0 +1,53 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function find( query={}, field={} ) {
4
+ return model.storeLayoutDuplicateModel.find( query, field );
5
+ }
6
+
7
+ export async function findOne( query={}, field={} ) {
8
+ return model.storeLayoutDuplicateModel.findOne( query, field ).sort( { floorNumber: -1 } );
9
+ }
10
+
11
+ export async function findOneAndUpdate( query={}, field={} ) {
12
+ return model.storeLayoutDuplicateModel.findOneAndUpdate( query, field ).sort( { floorNumber: -1 } );
13
+ }
14
+
15
+ export async function insertMany( data ) {
16
+ return model.storeLayoutDuplicateModel.insertMany( data );
17
+ }
18
+
19
+ export async function deleteMany( data ) {
20
+ return model.storeLayoutDuplicateModel.deleteMany( data );
21
+ }
22
+
23
+ export async function deleteOne( data ) {
24
+ return model.storeLayoutDuplicateModel.deleteOne( data );
25
+ }
26
+
27
+ export async function aggregate( query ) {
28
+ return model.storeLayoutDuplicateModel.aggregate( query, { collation: { locale: 'en_US', numericOrdering: true } } );
29
+ }
30
+
31
+ export async function updateOne( query, record ) {
32
+ return model.storeLayoutDuplicateModel.updateOne( query, { $set: record } );
33
+ }
34
+
35
+ export async function updateMany( query, record ) {
36
+ return model.storeLayoutDuplicateModel.updateMany( query, { $set: record } );
37
+ }
38
+
39
+ export async function create( data ) {
40
+ return model.storeLayoutDuplicateModel.create( data );
41
+ }
42
+
43
+ export async function upsertOne( query, record ) {
44
+ return model.storeLayoutDuplicateModel.findOneAndUpdate(
45
+ query,
46
+ record,
47
+ { upsert: true, new: true },
48
+ );
49
+ }
50
+
51
+ export async function count( query ) {
52
+ return model.storeLayoutDuplicateModel.countDocuments( query );
53
+ }
@@ -0,0 +1,83 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function find( query={}, field={} ) {
4
+ return model.storeFixtureModel.find( query, field );
5
+ }
6
+
7
+ export async function findOne( query={}, field={} ) {
8
+ return model.storeFixtureModel.findOne( query, field );
9
+ }
10
+
11
+ export async function insertMany( data ) {
12
+ return model.storeFixtureModel.insertMany( data );
13
+ }
14
+
15
+ export async function aggregate( query ) {
16
+ return model.storeFixtureModel.aggregate( query );
17
+ }
18
+
19
+ export async function updateOne( query, record ) {
20
+ return model.storeFixtureModel.updateOne( query, { $set: record } );
21
+ }
22
+
23
+ export async function updateMany( query, record ) {
24
+ return model.storeFixtureModel.updateMany( query, { $set: record } );
25
+ }
26
+
27
+ export async function findOneAndUpdate( query={}, field={} ) {
28
+ return model.storeFixtureModel.findOneAndUpdate( query, field );
29
+ }
30
+
31
+ export async function findOneAndUpdate2( query={}, field={} ) {
32
+ return model.storeFixtureModel.findOneAndUpdate( query, field, { new: true } );
33
+ }
34
+
35
+ export async function create( data ) {
36
+ return model.storeFixtureModel.create( data );
37
+ }
38
+
39
+ export async function deleteOne( query ) {
40
+ return model.storeFixtureModel.deleteOne( query );
41
+ }
42
+
43
+ export async function deleteMany( query ) {
44
+ return model.storeFixtureModel.deleteMany( query );
45
+ }
46
+
47
+ export async function findAndSort( query={}, field={}, sortField={} ) {
48
+ return model.storeFixtureModel.find( query, field ).sort( sortField );
49
+ }
50
+
51
+ export async function upsertOne( query, record ) {
52
+ return model.storeFixtureModel.findOneAndUpdate(
53
+ query,
54
+ record,
55
+ { upsert: true, new: true },
56
+ );
57
+ }
58
+
59
+ export async function removeKeys( query, data ) {
60
+ return model.storeFixtureModel.updateOne( query, data );
61
+ }
62
+
63
+ export async function count( query ) {
64
+ return model.storeFixtureModel.countDocuments( query );
65
+ }
66
+
67
+ export async function updateOneArrayItem( query, record, filter ) {
68
+ return model.storeFixtureModel.updateOne( query, record, filter );
69
+ }
70
+
71
+ export async function bulkUpsert(dataList = [], matchKey = '_id') {
72
+ if (!Array.isArray(dataList) || dataList.length === 0) return [];
73
+
74
+ const operations = dataList.map(item => ({
75
+ updateOne: {
76
+ filter: { [matchKey]: item[matchKey] },
77
+ update: { $set: item },
78
+ upsert: true,
79
+ },
80
+ }));
81
+
82
+ return model.storeFixtureModel.bulkWrite(operations);
83
+ }
@@ -0,0 +1,69 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function find( query={}, field={} ) {
4
+ return model.storeFixtureDuplicateModel.find( query, field );
5
+ }
6
+
7
+ export async function findOne( query={}, field={} ) {
8
+ return model.storeFixtureDuplicateModel.findOne( query, field );
9
+ }
10
+
11
+ export async function insertMany( data ) {
12
+ return model.storeFixtureDuplicateModel.insertMany( data );
13
+ }
14
+
15
+ export async function aggregate( query ) {
16
+ return model.storeFixtureDuplicateModel.aggregate( query );
17
+ }
18
+
19
+ export async function updateOne( query, record ) {
20
+ return model.storeFixtureDuplicateModel.updateOne( query, { $set: record } );
21
+ }
22
+
23
+ export async function updateMany( query, record ) {
24
+ return model.storeFixtureDuplicateModel.updateMany( query, { $set: record } );
25
+ }
26
+
27
+ export async function findOneAndUpdate( query={}, field={} ) {
28
+ return model.storeFixtureDuplicateModel.findOneAndUpdate( query, field );
29
+ }
30
+
31
+ export async function findOneAndUpdate2( query={}, field={} ) {
32
+ return model.storeFixtureDuplicateModel.findOneAndUpdate( query, field, { new: true } );
33
+ }
34
+
35
+ export async function create( data ) {
36
+ return model.storeFixtureDuplicateModel.create( data );
37
+ }
38
+
39
+ export async function deleteOne( query ) {
40
+ return model.storeFixtureDuplicateModel.deleteOne( query );
41
+ }
42
+
43
+ export async function deleteMany( query ) {
44
+ return model.storeFixtureDuplicateModel.deleteMany( query );
45
+ }
46
+
47
+ export async function findAndSort( query={}, field={}, sortField={} ) {
48
+ return model.storeFixtureDuplicateModel.find( query, field ).sort( sortField );
49
+ }
50
+
51
+ export async function upsertOne( query, record ) {
52
+ return model.storeFixtureDuplicateModel.findOneAndUpdate(
53
+ query,
54
+ record,
55
+ { upsert: true, new: true },
56
+ );
57
+ }
58
+
59
+ export async function removeKeys( query, data ) {
60
+ return model.storeFixtureDuplicateModel.updateOne( query, data );
61
+ }
62
+
63
+ export async function count( query ) {
64
+ return model.storeFixtureDuplicateModel.countDocuments( query );
65
+ }
66
+
67
+ export async function updateOneArrayItem( query, record, filter ) {
68
+ return model.storeFixtureDuplicateModel.updateOne( query, record, filter );
69
+ }
@@ -0,0 +1,6 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function find( query = {}, field={} ) {
4
+ return await model.taskConfigModel.find( query, field );
5
+ }
6
+
@@ -0,0 +1,10 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function find( query={}, field={}, sort={} ) {
4
+ return model.templateLogSchema.find( query, field ).sort( sort );
5
+ }
6
+
7
+ export async function create( data = {} ) {
8
+ return model.templateLogSchema.create( data );
9
+ }
10
+
@@ -0,0 +1,14 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function findOne( query = {}, field={} ) {
4
+ return await model.userModel.findOne( query, field );
5
+ }
6
+
7
+ export const aggregate = async ( query = {} ) => {
8
+ return model.userModel.aggregate( query );
9
+ };
10
+
11
+ export async function create( data ) {
12
+ return model.userModel.create( data );
13
+ }
14
+
@@ -0,0 +1,33 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export const findOne = async ( query ={}, field = {} ) => {
4
+ return model.vmTypeModel.findOne( query, field );
5
+ };
6
+
7
+ export const deleteOne = async ( query ={} ) => {
8
+ return model.vmTypeModel.deleteOne( query );
9
+ };
10
+
11
+ export const deleteMany = async ( query ={} ) => {
12
+ return model.vmTypeModel.deleteMany( query );
13
+ };
14
+
15
+ export const create = async ( data ) => {
16
+ return model.vmTypeModel.create( data );
17
+ };
18
+
19
+ export const find = async ( query ={}, field = {} ) => {
20
+ return model.vmTypeModel.find( query, field );
21
+ };
22
+
23
+ export const updateOne = async ( query ={}, record = {} ) => {
24
+ return model.vmTypeModel.updateOne( query, { $set: record } );
25
+ };
26
+
27
+ export const updateKeys = async ( query ={}, record = {} ) => {
28
+ return model.vmTypeModel.updateOne( query, record );
29
+ };
30
+
31
+ export const insertMany = async ( data ) => {
32
+ return model.vmTypeModel.insertMany( data );
33
+ };