tango-app-api-store-builder 1.0.3-alpha → 1.0.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.
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 +7353 -15
  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
@@ -45,13 +45,27 @@ export const updateFloor = {
45
45
  };
46
46
 
47
47
  export const storeListSchema = joi.object( {
48
- id: joi.array().items( joi.any() ).min( 1 ).required(),
48
+ id: joi.array().items( joi.any() ).min( 1 ).optional(),
49
+ planoId: joi.string().optional(),
50
+ floorId: joi.string().optional(),
51
+ treeView: joi.boolean().optional(),
49
52
  } );
50
53
 
51
54
  export const storeList = {
52
55
  body: storeListSchema,
53
56
  };
54
57
 
58
+ export const fixtureShelfProductSchema = joi.object( {
59
+ fixtureId: joi.string().required(),
60
+ floorId: joi.string().required(),
61
+ planoId: joi.string().required(),
62
+ compliance: joi.boolean().optional(),
63
+ } );
64
+
65
+ export const fixtureShelfProduct = {
66
+ body: fixtureShelfProductSchema,
67
+ };
68
+
55
69
  export const storeDetailSchema = joi.object( {
56
70
  storeId: joi.string().required(),
57
71
  clientId: joi.string().required(),
@@ -79,4 +93,266 @@ export const updateStatus = {
79
93
  body: updateStatusSchema,
80
94
  };
81
95
 
96
+ export const createFixtureSchema = joi.object( {
97
+ fixtureCategory: joi.string().required(),
98
+ fixtureType: joi.string().required(),
99
+ clientId: joi.string().required(),
100
+ } );
101
+
102
+ export const createFixture = {
103
+ body: createFixtureSchema,
104
+ };
105
+
106
+ export const updateFixtureSchema = joi.object( {
107
+ fixtureWidth: joi.object().optional(),
108
+ fixtureHeight: joi.object().optional(),
109
+ fixtureCategory: joi.string().optional(),
110
+ fixtureLength: joi.object().optional(),
111
+ header: joi.object().optional(),
112
+ footer: joi.object().optional(),
113
+ shelfConfig: joi.array().optional(),
114
+ status: joi.string().required(),
115
+ fixtureCapacity: joi.number().required(),
116
+ isBodyEnabled: joi.boolean().required(),
117
+ clientId: joi.string().required(),
118
+ } );
119
+
120
+ export const fixtureIdSchema = joi.object( {
121
+ fixtureId: joi.string().required(),
122
+ } );
123
+
124
+ export const fixtureId ={
125
+ query: fixtureIdSchema,
126
+ };
127
+
128
+ export const bodyFixtureId = {
129
+ body: fixtureIdSchema,
130
+ };
131
+
132
+ export const updateFixture = {
133
+ body: updateFixtureSchema,
134
+ params: fixtureIdSchema,
135
+ };
136
+ export const fixtureVMListSchema = joi.object( {
137
+ clientId: joi.string().required(),
138
+ limit: joi.number().required(),
139
+ offset: joi.number().required(),
140
+ sortColumnName: joi.string().required().allow( '' ),
141
+ sortBy: joi.number().required().allow( '' ),
142
+ searchValue: joi.string().required().allow( '' ),
143
+ filter: joi.object( {
144
+ status: joi.array().items( joi.any() ).min( 0 ),
145
+ type: joi.array().items( joi.any() ).min( 0 ),
146
+ size: joi.array().items( joi.any() ).min( 0 ).optional(),
147
+ brand: joi.array().items( joi.any() ).min( 0 ).optional(),
148
+ category: joi.array().items( joi.any() ).min( 0 ).optional(),
149
+ subCategory: joi.array().items( joi.any() ).min( 0 ).optional(),
150
+ } ).required(),
151
+ export: joi.boolean().required(),
152
+ emptyDownload: joi.boolean().required(),
153
+ } );
154
+
155
+ export const fixtureList = {
156
+ body: fixtureVMListSchema,
157
+ };
158
+
159
+ export const fixtureChildListSchema = joi.object( {
160
+ clientId: joi.string().required(),
161
+ limit: joi.number().required(),
162
+ offset: joi.number().required(),
163
+ sortColumnName: joi.string().required().allow( '' ),
164
+ sortBy: joi.number().required().allow( '' ),
165
+ searchValue: joi.string().required().allow( '' ),
166
+ masterTemplateId: joi.string().required(),
167
+ // filter: joi.object( {
168
+ // status: joi.array().items( joi.any() ).min( 0 ),
169
+ // type: joi.array().items( joi.any() ).min( 0 ),
170
+ // size: joi.array().items( joi.any() ).min( 0 ).optional(),
171
+ // brand: joi.array().items( joi.any() ).min( 0 ).optional(),
172
+ // category: joi.array().items( joi.any() ).min( 0 ).optional(),
173
+ // subCategory: joi.array().items( joi.any() ).min( 0 ).optional(),
174
+ // } ).required(),
175
+ // export: joi.boolean().required(),
176
+ // emptyDownload: joi.boolean().required(),
177
+ } );
178
+
179
+ export const fixtureChildList = {
180
+ body: fixtureChildListSchema,
181
+ };
182
+
183
+ export const addVmTypeSchema = joi.object( {
184
+ clientId: joi.string().required(),
185
+ vmData: joi.array().items( joi.any() ).min( 1 ).required(),
186
+ } );
187
+
188
+ export const addVmType = {
189
+ body: addVmTypeSchema,
190
+ };
191
+
192
+ export const getClientSchema = joi.object( {
193
+ clientId: joi.string().required(),
194
+ } );
195
+
196
+ export const getClient = {
197
+ query: getClientSchema,
198
+ };
199
+
200
+ export const brandSchema = joi.object( {
201
+ clientId: joi.string().required(),
202
+ export: joi.boolean().optional(),
203
+ emptyDownload: joi.boolean().optional(),
204
+ } );
205
+
206
+ export const brandDetails ={
207
+ body: brandSchema,
208
+ };
209
+
210
+ export const deleteVMTypeImageSchema = joi.object( {
211
+ vmId: joi.string().required(),
212
+ index: joi.number().required(),
213
+ } );
214
+
215
+ export const deleteVMTypeImage = {
216
+ body: getClientSchema,
217
+ };
218
+
219
+ export const updateTaskConfigSchema = joi.object( {
220
+ clientId: joi.string().required(),
221
+ dueDay: joi.number().required(),
222
+ dueTime: joi.string().required(),
223
+ allowedStoreLocation: joi.boolean().required(),
224
+ } );
225
+
226
+ export const updateTaskConfig = {
227
+ body: updateTaskConfigSchema,
228
+ };
229
+
230
+ export const uploadBrandListSchema = joi.object( {
231
+ clientId: joi.string().required(),
232
+ brandData: joi.array().items( joi.any() ).min( 1 ).required(),
233
+ brandUsedList: joi.array().items( joi.any() ).min( 0 ),
234
+ } );
235
+
236
+ export const uploadBrandList = {
237
+ body: uploadBrandListSchema,
238
+ };
239
+
240
+ export const fixtureBulkUploadSchema = joi.object( {
241
+ clientId: joi.string().required(),
242
+ fixtureData: joi.array().items( joi.any() ).min( 1 ).required(),
243
+ newFixtureStatus: joi.string().optional(),
244
+ updateFixtureStatus: joi.string().optional(),
245
+ deleteFixtureList: joi.array().items( joi.any() ).min( 0 ),
246
+ } );
247
+
248
+ export const fixtureBulkUpload = {
249
+ body: fixtureBulkUploadSchema,
250
+ };
251
+
252
+ export const addUpdateBrandSchema = joi.object( {
253
+ clientId: joi.string().required(),
254
+ brandUsedList: joi.array().items( joi.any() ).min( 0 ).required(),
255
+ brandData: joi.array().items( joi.any() ).min( 1 ).required(),
256
+ } );
257
+
258
+ export const addUpdateBrand = {
259
+ body: addUpdateBrandSchema,
260
+ };
261
+
262
+ export const getVmDetailsSchema = joi.object( {
263
+ vmId: joi.string().required(),
264
+ } );
265
+
266
+ export const getVmDetails = {
267
+ query: getVmDetailsSchema,
268
+ };
269
+
270
+ export const deleteVmLibSchema = joi.object( {
271
+ vmId: joi.string().required(),
272
+ } );
273
+
274
+ export const deleteVmLib = {
275
+ body: deleteVmLibSchema,
276
+ };
277
+
278
+ export const addUpdateVmSchema = joi.object( {
279
+ clientId: joi.string().required(),
280
+ vmName: joi.string().required(),
281
+ vmType: joi.string().required(),
282
+ vmBrand: joi.string().required(),
283
+ vmSubBrand: joi.string().optional().allow( '' ),
284
+ vmCategory: joi.string().optional().allow( '' ),
285
+ vmSubCategory: joi.string().optional().allow( '' ),
286
+ vmHeight: joi.object( {
287
+ value: joi.number().required(),
288
+ unit: joi.string().required(),
289
+ } ).required(),
290
+ vmWidth: joi.object( {
291
+ value: joi.number().required(),
292
+ unit: joi.string().required(),
293
+ } ).required(),
294
+ vmImageUrl: joi.string().optional(),
295
+ isDoubleSided: joi.boolean().required(),
296
+ status: joi.string().required(),
297
+ _id: joi.string().optional(),
298
+ } );
299
+
300
+ export const addUpdateVm = {
301
+ body: addUpdateVmSchema,
302
+ };
303
+
304
+ export const vmBulkUploadSchema = joi.object( {
305
+ clientId: joi.string().required(),
306
+ vmData: joi.array().items( joi.any() ).min( 1 ).required(),
307
+ newVmStatus: joi.string().required(),
308
+ updateVmStatus: joi.string().required(),
309
+ deleteVmList: joi.array().required(),
310
+ } );
311
+
312
+ export const vmBulkUpload = {
313
+ body: vmBulkUploadSchema,
314
+ };
315
+
316
+ export const createTemplateSchema = joi.object( {
317
+ clientId: joi.string().required(),
318
+ fixtureLibraryId: joi.string().required(),
319
+ templateType: joi.string().optional(),
320
+ } );
321
+
322
+ export const createTemplate = {
323
+ body: createTemplateSchema,
324
+ };
325
+
326
+ export const templateIdSchema = joi.object( {
327
+ templateId: joi.string().required(),
328
+ } );
329
+
330
+ export const templateId = {
331
+ body: templateIdSchema,
332
+ };
333
+
334
+ export const queryTemplateId = {
335
+ query: templateIdSchema,
336
+ };
337
+
338
+ export const updateFixtureTaskSchema = joi.object( {
339
+ endDate: joi.string().required(),
340
+ clientId: joi.string().required(),
341
+ storeList: joi.array().items( joi.any() ).min( 1 ).required(),
342
+ endTime: joi.string().required(),
343
+ geoFencing: joi.boolean().required(),
344
+ } );
345
+
346
+ export const updateFixtureTask = {
347
+ body: updateFixtureTaskSchema,
348
+ };
349
+
350
+ export const templateTreeListSchema = joi.object( {
351
+ clientId: joi.string().optional(),
352
+ masterId: joi.string().optional(),
353
+ } );
354
+
355
+ export const templateTreeList = {
356
+ query: templateTreeListSchema,
357
+ };
82
358
 
@@ -0,0 +1,30 @@
1
+ import express from 'express';
2
+ import { validate } from 'tango-app-api-middleware';
3
+ import * as fixtureTemplateController from '../controllers/fixtureTemplate.controller.js';
4
+ import * as validateDtos from '../dtos/validation.dtos.js';
5
+
6
+ import { isAllowedSessionHandler } from 'tango-app-api-middleware';
7
+
8
+ export const fixtureTemplateRouter = express.Router();
9
+
10
+ fixtureTemplateRouter
11
+ .post('/createTemplate', isAllowedSessionHandler, validate(validateDtos.createTemplate), fixtureTemplateController.createTemplate)
12
+ .post('/updateTemplate/:templateId', isAllowedSessionHandler, fixtureTemplateController.updateTemplate)
13
+ .post('/deleteTemplate', isAllowedSessionHandler, validate(validateDtos.templateId), fixtureTemplateController.deleteTemplate)
14
+ .post('/duplicateTemplate', isAllowedSessionHandler, validate(validateDtos.templateId), fixtureTemplateController.duplicateTemplate)
15
+ .post('/getTemplateList', isAllowedSessionHandler, validate(validateDtos.fixtureVMListSchema), fixtureTemplateController.getTemplateList)
16
+ .get('/getTemplateDetails', isAllowedSessionHandler, validate(validateDtos.queryTemplateId), fixtureTemplateController.getTemplateDetails)
17
+ .post('/updateFixtureTask', isAllowedSessionHandler, validate(validateDtos.updateFixtureTask), fixtureTemplateController.updateFixtureTask)
18
+ .post('/getAllTemplates', isAllowedSessionHandler, fixtureTemplateController.getAllTemplates)
19
+ .post('/assigedTemplate', isAllowedSessionHandler, fixtureTemplateController.assigedTemplate)
20
+ .post('/TemplateStoresList', isAllowedSessionHandler, fixtureTemplateController.TemplateStoresList)
21
+ .post('/replaceFixtureDetails', isAllowedSessionHandler, fixtureTemplateController.replaceFixtureDetails)
22
+ .get('/getTemplate', isAllowedSessionHandler, validate(validateDtos.queryTemplateId), fixtureTemplateController.getFixtureTemplate);
23
+
24
+ fixtureTemplateRouter
25
+ .post('/masterTemplateList', isAllowedSessionHandler, validate(validateDtos.fixtureVMListSchema), fixtureTemplateController.getMasterList)
26
+ .post('/templateChildList', isAllowedSessionHandler, validate(validateDtos.fixtureChildListSchema), fixtureTemplateController.getChildList)
27
+ .get('/templateTreeList', isAllowedSessionHandler, validate(validateDtos.templateTreeListSchema), fixtureTemplateController.getTreeList)
28
+ .get('/templateVersionList', isAllowedSessionHandler, fixtureTemplateController.templateVersionList)
29
+ .post('/templateAssignList', isAllowedSessionHandler, fixtureTemplateController.getTemplateStoreList);
30
+
@@ -0,0 +1,29 @@
1
+ import express from 'express';
2
+ import * as managePlanoController from '../controllers/managePlano.controller.js';
3
+
4
+ import { isAllowedSessionHandler } from 'tango-app-api-middleware';
5
+
6
+ export const managePlanoRouter = express.Router();
7
+
8
+ managePlanoRouter
9
+ .post('/updateStorePlano', isAllowedSessionHandler, managePlanoController.updateStorePlano)
10
+ .post('/getplanoFeedback', isAllowedSessionHandler, managePlanoController.getplanoFeedback)
11
+ .post('/getplanoFeedbackv1', isAllowedSessionHandler, managePlanoController.getplanoFeedbackv1)
12
+ .post('/getStoreFixturesfeedback', isAllowedSessionHandler, managePlanoController.getStoreFixturesfeedback)
13
+ .get('/fixtureList', isAllowedSessionHandler, managePlanoController.fixtureList)
14
+ .get('/templateList', isAllowedSessionHandler, managePlanoController.templateList)
15
+ .get('/fixtureBrandsList', isAllowedSessionHandler, managePlanoController.fixtureBrandsList)
16
+ .get('/fixtureVMList', isAllowedSessionHandler, managePlanoController.fixtureVMList)
17
+ .get('/fixtureVMListv1', isAllowedSessionHandler, managePlanoController.fixtureVMListv1)
18
+ .post('/updateFixtureStatus', isAllowedSessionHandler, managePlanoController.updateFixtureStatus)
19
+ .post('/updateApprovalStatus', isAllowedSessionHandler, managePlanoController.updateApprovalStatus)
20
+ .post('/updateStoreFixture', isAllowedSessionHandler, managePlanoController.updateStoreFixture)
21
+ .post('/updateredostatus', isAllowedSessionHandler, managePlanoController.updateredostatus)
22
+ .post('/updateGlobalComment', isAllowedSessionHandler, managePlanoController.updateGlobalComment)
23
+ .post('/getGlobalComment', isAllowedSessionHandler, managePlanoController.getGlobalComment)
24
+ .post('/createRevision', isAllowedSessionHandler, managePlanoController.createPlanoRevision)
25
+ .post('/getRevisions', isAllowedSessionHandler, managePlanoController.getAllPlanoRevisions)
26
+ .post('/getRevisionData', isAllowedSessionHandler, managePlanoController.getPlanoRevisionById)
27
+ .post('/getRolloutFeedback', isAllowedSessionHandler, managePlanoController.getRolloutFeedback)
28
+ .post('/getRolloutFeedbackv2', isAllowedSessionHandler, managePlanoController.getRolloutFeedbackv2)
29
+ .post('/updateRolloutStatus', isAllowedSessionHandler, managePlanoController.updateRolloutStatus);
@@ -0,0 +1,42 @@
1
+ import express from 'express';
2
+ import { validate, isAllowedSessionHandler } from 'tango-app-api-middleware';
3
+ import * as planoLibraryController from '../controllers/planoLibrary.controller.js';
4
+ import * as validateDtos from '../dtos/validation.dtos.js';
5
+
6
+ export const planoLibraryRouter = express.Router();
7
+
8
+ planoLibraryRouter
9
+ .post('/fixtureBulkUpload', isAllowedSessionHandler, validate(validateDtos.fixtureBulkUpload), planoLibraryController.fixtureBulkUpload)
10
+ .post('/createFixture', isAllowedSessionHandler, validate(validateDtos.createFixture), planoLibraryController.createFixture)
11
+ .post('/updateFixture/:fixtureId', isAllowedSessionHandler, validate(validateDtos.updateFixture), planoLibraryController.updateFixture)
12
+ .get('/fixtureDetails', isAllowedSessionHandler, validate(validateDtos.fixtureId), planoLibraryController.getFixture)
13
+ .post('/fixtureList', isAllowedSessionHandler, validate(validateDtos.fixtureVMListSchema), planoLibraryController.FixtureLibraryList)
14
+ .post('/duplicateFixture', isAllowedSessionHandler, validate(validateDtos.bodyFixtureId), planoLibraryController.duplicateFixture)
15
+ .post('/deleteFixture', isAllowedSessionHandler, validate(validateDtos.bodyFixtureId), planoLibraryController.deleteFixture)
16
+ .get('/fixtureSizeList', isAllowedSessionHandler, validate(validateDtos.getClient), planoLibraryController.getFixLibWidth)
17
+ .get('/fixtureNameList', isAllowedSessionHandler, validate(validateDtos.getClient), planoLibraryController.fixtureNameList)
18
+ .get('/fixtureLibNameList', isAllowedSessionHandler, validate(validateDtos.getClient), planoLibraryController.fixtureLibNameList);
19
+
20
+ planoLibraryRouter
21
+ .post('/addVmType', isAllowedSessionHandler, validate(validateDtos.addVmType), planoLibraryController.addVmType)
22
+ .post('/uploadVmtypeImage/:vmId', isAllowedSessionHandler, planoLibraryController.uploadVmImage)
23
+ .post('/deleteVmType', isAllowedSessionHandler, planoLibraryController.deleteVmType)
24
+ .get('/getVmTypeList', isAllowedSessionHandler, validate(validateDtos.getClient), planoLibraryController.getVmTypeList)
25
+ .post('/deleteVmTypeImage', isAllowedSessionHandler, validate(validateDtos.deleteVMTypeImage), planoLibraryController.deletevmTypeImage);
26
+
27
+ planoLibraryRouter
28
+ .post('/getBrandList', isAllowedSessionHandler, validate(validateDtos.brandDetails), planoLibraryController.getBrandList)
29
+ .post('/addUpdateBrand', isAllowedSessionHandler, validate(validateDtos.addUpdateBrand), planoLibraryController.addUpdateBrandList)
30
+ .post('/uploadBrandList', isAllowedSessionHandler, validate(validateDtos.uploadBrandList), planoLibraryController.uploadBrandList)
31
+ .post('/updateTaskconfig', isAllowedSessionHandler, validate(validateDtos.updateTaskConfig), planoLibraryController.updateTaskConfig)
32
+ .get('/getTaskConfig', isAllowedSessionHandler, validate(validateDtos.getClient), planoLibraryController.getTaskConfig);
33
+
34
+ planoLibraryRouter
35
+ .post('/addUpdateVm', isAllowedSessionHandler, validate(validateDtos.addUpdateVm), planoLibraryController.addUpdateVm)
36
+ .post('/getVmLibList', isAllowedSessionHandler, validate(validateDtos.fixtureVMListSchema), planoLibraryController.getVmLibList)
37
+ .post('/duplicateVmLib', isAllowedSessionHandler, validate(validateDtos.deleteVmLib), planoLibraryController.duplicateVmLib)
38
+ .post('/deleteVmLib', isAllowedSessionHandler, validate(validateDtos.deleteVmLib), planoLibraryController.deleteVmLibrary)
39
+ .get('/getVmDetails', isAllowedSessionHandler, validate(validateDtos.getVmDetails), planoLibraryController.getVmDetails)
40
+ .post('/vmBulkUpload', isAllowedSessionHandler, validate(validateDtos.vmBulkUpload), planoLibraryController.vmBulkUpload)
41
+ .get('/vmNameList', isAllowedSessionHandler, validate(validateDtos.getClient), planoLibraryController.vmNameList);
42
+
@@ -0,0 +1,44 @@
1
+ import express from 'express';
2
+
3
+ import * as scriptController from '../controllers/script.controller.js';
4
+ import { isAllowedSessionHandler } from 'tango-app-api-middleware';
5
+
6
+ export const scriptRouter = express.Router();
7
+
8
+ scriptRouter
9
+ .post( '/getUniqueStoresFromExcel', scriptController.getStoreNames )
10
+ .post( '/bilkInsertFixtureConfig', scriptController.createFixtureConfig )
11
+ .post( '/bulkInsertPlanoData', scriptController.createPlano )
12
+ .post( '/bulkIinsertFloorData', scriptController.createFloors )
13
+ .post( '/bulkIinsertVmTemplateData', scriptController.createVmData )
14
+ .post( '/bulkIinsertFixturesShelvesVmsData', scriptController.createFixturesShelves )
15
+ .post( '/updateFixturesShelvesVms', scriptController.updateFixturesShelves )
16
+ .post( '/lk98lK1993Update', scriptController.lk98lK1993Update )
17
+ .post( '/updateinventory', scriptController.updateInventory )
18
+ .post( '/updateRfidProduct', scriptController.updateRfidProduct )
19
+ .post( '/updateRfidProduct2', scriptController.updateRfidProduct2 )
20
+ .post( '/getProdTaskData', scriptController.getProdTaskData )
21
+ .post( '/updateLayoutFeedback', scriptController.updatelayoutFeedback )
22
+ .post( '/updateFixtureFeedback', scriptController.updateFixtureFeedback )
23
+ .post( '/getFileNames', scriptController.extractZipFileNames )
24
+ .post( '/getVmTaskData', scriptController.getVmTaskData )
25
+ .post( '/updateVmData', scriptController.updateVmData )
26
+ .post( '/createCrestPlanogram', scriptController.createCrestPlanogram )
27
+ .post( '/updateCrestPlanogram', scriptController.updateCrestPlanogram )
28
+ .post( '/updatelayout', scriptController.updatelayout )
29
+ .post( '/updateCrestVms', scriptController.updateCrestVms )
30
+ .post( '/downloadPlanoImages', scriptController.downloadPlanoImage )
31
+ .post( '/getVideoUrls', scriptController.getVideoLinks )
32
+ .post( '/updateExcelPlanogram', scriptController.updateExcelPlanogram )
33
+ .post( '/recorrectTaskData', scriptController.recorrectTaskData )
34
+ .post( '/migrateCrest', scriptController.migrateCrestv1 )
35
+ .post( '/updatePlanoMappings', scriptController.updatePlanoMappings )
36
+ .post( '/readExcel', scriptController.readExcel )
37
+ .post( '/migrateOvmToIvm', scriptController.migrateOvmToIvm )
38
+ // .post( '/migrateOvmToOvm', scriptController.migrateOvmToOvm )
39
+ .post( '/groupFixture', scriptController.groupFixture )
40
+ .post( '/productMappings', scriptController.productMappings )
41
+ .post( '/complianceFromMappings', scriptController.createComplianceFromMappings )
42
+ .get( '/getAllPlanoIdsM', scriptController.getAllPlanoIds )
43
+ .post( '/planoAccess', scriptController.planoAccess )
44
+ ;
@@ -1,7 +1,9 @@
1
1
  import express from 'express';
2
- import { isAllowedSessionHandler, validate } from 'tango-app-api-middleware';
3
- import * as storeBuilderController from '../controllers/storeBuilder.controller.js';
2
+ import { validate, isAllowedSessionHandler, getAssinedStore } from 'tango-app-api-middleware';
4
3
  import * as validateDtos from '../dtos/validation.dtos.js';
4
+ import * as storeBuilderController from '../controllers/storeBuilder.controller.js';
5
+ // import * as scriptController from '../controllers/script.controller.js';
6
+
5
7
 
6
8
  export const storeBuilderRouter = express.Router();
7
9
 
@@ -12,11 +14,59 @@ storeBuilderRouter
12
14
  .post( '/updateFloor', isAllowedSessionHandler, validate( validateDtos.updateFloor ), storeBuilderController.updateFloor )
13
15
  .post( '/uploadBulkStore', isAllowedSessionHandler, storeBuilderController.uploadBulkStore )
14
16
  .post( '/uploadFile', isAllowedSessionHandler, storeBuilderController.uploadFile )
15
- .post( '/storeList', isAllowedSessionHandler, validate( validateDtos.storeList ), storeBuilderController.storeList )
17
+ // .post( '/storeLayout',isAllowedSessionHandler, validate( validateDtos.storeList ), storeBuilderController.storeFixtures )
16
18
  .post( '/storeDetails', isAllowedSessionHandler, validate( validateDtos.storeDetails ), storeBuilderController.getStoreDetails )
17
19
  .delete( '/deleteStoreLayout/:id', isAllowedSessionHandler, validate( validateDtos.deleteStoreLayout ), storeBuilderController.deleteStoreLayout )
18
20
  .post( '/removeFile', isAllowedSessionHandler, storeBuilderController.deleteFile )
19
21
  .post( '/deleteFloor', isAllowedSessionHandler, storeBuilderController.deleteFloor )
20
- .post( '/updateStatus', isAllowedSessionHandler, validate( validateDtos.updateStatus ), storeBuilderController.updateStatus );
21
-
22
+ .post( '/updateStatus', isAllowedSessionHandler, validate( validateDtos.updateStatus ), storeBuilderController.updateStatus )
23
+ // .post( '/FixtureShelfDetails',isAllowedSessionHandler, storeBuilderController.fixtureShelfProduct )
24
+ // .post( '/scan',isAllowedSessionHandler, storeBuilderController.scan )
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( '/fixtureQrUpdatev1', isAllowedSessionHandler, storeBuilderController.fixtureQrUpdatev1 )
38
+ .post( '/updateDeatailedDistance', isAllowedSessionHandler, storeBuilderController.updateDetailedDistance )
39
+ .post( '/upsertFixture', isAllowedSessionHandler, storeBuilderController.upsertFixtures )
40
+ .post( '/getshelfSections', isAllowedSessionHandler, storeBuilderController.getShelfSections )
41
+ .post( '/getFixtureTypes', isAllowedSessionHandler, storeBuilderController.getFixtureTypes )
42
+ .post( '/getFixtureLengths', isAllowedSessionHandler, storeBuilderController.getFixtureLengths )
43
+ .post( '/getFixtureBrands', isAllowedSessionHandler, storeBuilderController.getFixtureBrands )
44
+ .post( '/checkPlanoExist', isAllowedSessionHandler, storeBuilderController.checkPlanoExist )
45
+ .post( '/storeLayoutElements', isAllowedSessionHandler, storeBuilderController.storeLayoutElements )
46
+ .post( '/qrScan', isAllowedSessionHandler, storeBuilderController.qrScan )
47
+ .post( '/storeFixturesV2', isAllowedSessionHandler, validate( validateDtos.storeList ), storeBuilderController.storeFixturesv2 )
48
+ // .post( '/fixtureShelfDetailsv2', isAllowedSessionHandler, validate( validateDtos.fixtureShelfProduct ), storeBuilderController.fixtureShelfProductv2 )
49
+ // .post( '/storeFixturesTaskv2', isAllowedSessionHandler, storeBuilderController.storeFixturesTaskv2 )
50
+ .post( '/qrScan1', isAllowedSessionHandler, storeBuilderController.qrScan1 )
51
+ // .post( '/storeFixturesV2', isAllowedSessionHandler, validate( validateDtos.storeList ), storeBuilderController.storeFixturesv2 )
52
+ .post( '/storeFixturesV3', isAllowedSessionHandler, validate( validateDtos.storeList ), storeBuilderController.storeFixturesv3 )
53
+ .post( '/fixtureShelfDetailsv2', isAllowedSessionHandler, validate( validateDtos.fixtureShelfProduct ), storeBuilderController.fixtureShelfProductv2 )
54
+ .post( '/fixtureShelfDetailsv3', isAllowedSessionHandler, validate( validateDtos.fixtureShelfProduct ), storeBuilderController.fixtureShelfProductv3 )
55
+ .post( '/storeFixturesTaskv2', isAllowedSessionHandler, storeBuilderController.storeFixturesTaskv2 )
56
+ .post( '/storeFixturesTaskv3', isAllowedSessionHandler, storeBuilderController.storeFixturesTaskv3 )
57
+ .post( '/searchProduct', isAllowedSessionHandler, storeBuilderController.searchProduct );
22
58
 
59
+ storeBuilderRouter
60
+ .post( '/planoList', isAllowedSessionHandler, getAssinedStore, storeBuilderController.planoList )
61
+ .get( '/taskDetails', isAllowedSessionHandler, storeBuilderController.getTaskDetails )
62
+ .get( '/getPlanoUser', isAllowedSessionHandler, storeBuilderController.getPlanoUser )
63
+ .post( '/planoRolloutList', isAllowedSessionHandler, storeBuilderController.getRolloutDetails )
64
+ .get( '/getRolloutTaskDetails', isAllowedSessionHandler, storeBuilderController.getRolloutTaskDetails )
65
+ .get( '/getScandid', storeBuilderController.getScandid )
66
+ .get( '/getPlanoStoreList', isAllowedSessionHandler, storeBuilderController.getPlanoStoreList )
67
+ .get( '/getFixtureAIDetails', isAllowedSessionHandler, storeBuilderController.getFixtureAIDetails )
68
+ .post( '/updateProductMapping', storeBuilderController.updateProductMapping )
69
+ .post( '/calculateCompliance', isAllowedSessionHandler, storeBuilderController.calculateCompliance )
70
+ .post( '/getPlanogramList', isAllowedSessionHandler, storeBuilderController.getPlanogramList )
71
+ .post( '/updatePlanoRevison', isAllowedSessionHandler, storeBuilderController.updatePlanoRevison )
72
+ ;
@@ -0,0 +1,20 @@
1
+ import express from 'express';
2
+ import { isAllowedSessionHandler } from 'tango-app-api-middleware';
3
+ import * as taskController from '../controllers/task.controller.js';
4
+
5
+ export const storeBuilderTaskRouter = express.Router();
6
+
7
+ storeBuilderTaskRouter
8
+ .post('/createTask', isAllowedSessionHandler, taskController.createTask)
9
+ .post('/createPlano', isAllowedSessionHandler, taskController.createPlano)
10
+ .get('/taskDetails', isAllowedSessionHandler, taskController.getTaskDetails)
11
+ .post('/uploadImage', isAllowedSessionHandler, taskController.uploadImage)
12
+ .post('/updateStatus', isAllowedSessionHandler, taskController.updateStatus)
13
+ .post('/updateAnswers', isAllowedSessionHandler, taskController.updateAnswers)
14
+ .post('/updateAnswersv2', isAllowedSessionHandler, taskController.updateAnswersv2)
15
+ .get('/getFixtureDetails', isAllowedSessionHandler, taskController.getFixtureDetails)
16
+ .get('/getVmDetails', isAllowedSessionHandler, taskController.getVmDetails)
17
+ .post('/generateTaskExcel', isAllowedSessionHandler, taskController.generatetaskDetails)
18
+ .post('/getSubmitDetails', isAllowedSessionHandler, taskController.taskSubmitDetails)
19
+ .post('/redoTask', isAllowedSessionHandler, taskController.redoTask)
20
+ .post('/revokeTask', isAllowedSessionHandler, taskController.revokeTask);
@@ -0,0 +1,11 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function aggregate( query = [] ) {
4
+ return await model.checklistassignconfigModel.aggregate( query );
5
+ }
6
+
7
+ export async function taskAggregate( query = [] ) {
8
+ return await model.taskAssignModel.aggregate( query );
9
+ }
10
+
11
+
@@ -0,0 +1,7 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function find( query = {}, field={} ) {
4
+ return await model.checklistconfigModel.find( query, field );
5
+ }
6
+
7
+
@@ -0,0 +1,52 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function find( query={}, field={} ) {
4
+ return model.fixtureConfigModel.find( query, field );
5
+ }
6
+
7
+ export async function findOne( query={}, field={} ) {
8
+ return model.fixtureConfigModel.findOne( query, field );
9
+ }
10
+
11
+ export async function insertMany( data = [] ) {
12
+ return model.fixtureConfigModel.insertMany( data );
13
+ }
14
+
15
+ export async function aggregate( query = [] ) {
16
+ return model.fixtureConfigModel.aggregate( query, { collation: { locale: 'en_US', numericOrdering: true } } );
17
+ }
18
+
19
+ export async function updateOne( query = {}, record = {} ) {
20
+ return model.fixtureConfigModel.updateOne( query, { $set: record } );
21
+ }
22
+
23
+ export async function count( query = {} ) {
24
+ return model.fixtureConfigModel.countDocuments( query );
25
+ }
26
+
27
+ export async function upsertOne( query, record ) {
28
+ return model.fixtureConfigModel.findOneAndUpdate(
29
+ query,
30
+ record,
31
+ { upsert: true, new: true },
32
+ );
33
+ }
34
+ export async function create( data = {} ) {
35
+ return model.fixtureConfigModel.create( data );
36
+ }
37
+
38
+ export async function deleteOne( query = {} ) {
39
+ return model.fixtureConfigModel.deleteOne( query );
40
+ }
41
+
42
+ export const findAndSort = async ( query={}, field={}, sort={} ) => {
43
+ return await model.fixtureConfigModel.find( query, field ).sort( sort ).collation( { locale: 'en_US', numericOrdering: true } );
44
+ };
45
+
46
+ export const sortAndFindOne = async ( query={}, field={}, sort={} ) => {
47
+ return await model.fixtureConfigModel.find( query, field ).sort( sort ).limit( 1 );
48
+ };
49
+
50
+ export async function updateMany( query = {}, record = {} ) {
51
+ return model.fixtureConfigModel.updateMany( query, { $set: record } );
52
+ }