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

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 (63) hide show
  1. package/Stranger Things - Tango.xlsx +0 -0
  2. package/data/Bitz_Final_Store_List_28.08.25.xlsx +0 -0
  3. package/data/Coastline 3.0 Tango.xlsx +0 -0
  4. package/data/Fixture capacity.xlsx +0 -0
  5. package/data/JJ_OD New Launch_Tango.xlsx +0 -0
  6. package/data/LKST 98 - Inventory Analysis.xlsx +0 -0
  7. package/data/OE_Vs_NON_OE_UPDATED.xlsx +0 -0
  8. package/data/Sale, Non sale stores.xlsx +0 -0
  9. package/data/Updated IVM New Fixture Flow-v8.xlsx +0 -0
  10. package/data/VM_logic.xlsx +0 -0
  11. package/data/euro_center_stores_tentpole.xls +0 -0
  12. package/data/ivmLogic.json +6058 -0
  13. package/data/logs.json +3 -0
  14. package/data/missing_stores.json +3 -0
  15. package/data/response.json +2119 -0
  16. package/index.js +7 -1
  17. package/package.json +15 -4
  18. package/src/controllers/fixtureTemplate.controller.js +1767 -0
  19. package/src/controllers/managePlano.controller.js +1986 -0
  20. package/src/controllers/planoLibrary.controller.js +1487 -0
  21. package/src/controllers/script.controller.js +14677 -0
  22. package/src/controllers/storeBuilder.controller.js +6920 -27
  23. package/src/controllers/task.controller.js +1149 -0
  24. package/src/dtos/validation.dtos.js +277 -1
  25. package/src/routes/fixtureTemplate.routes.js +30 -0
  26. package/src/routes/managePlano.routes.js +29 -0
  27. package/src/routes/planoLibrary.routes.js +42 -0
  28. package/src/routes/script.routes.js +44 -0
  29. package/src/routes/storeBuilder.routes.js +54 -6
  30. package/src/routes/task.routes.js +20 -0
  31. package/src/service/assignService.service.js +11 -0
  32. package/src/service/checklist.service.js +7 -0
  33. package/src/service/fixtureConfig.service.js +52 -0
  34. package/src/service/fixtureConfigDuplicate.service.js +52 -0
  35. package/src/service/fixtureShelf.service.js +53 -0
  36. package/src/service/fixtureShelfDuplicate.service.js +53 -0
  37. package/src/service/planoCompliance.service.js +33 -0
  38. package/src/service/planoDuplicateModel.service.js +41 -0
  39. package/src/service/planoGlobalComment.service.js +25 -0
  40. package/src/service/planoLibrary.service.js +45 -0
  41. package/src/service/planoLibraryDuplicate.service.js +45 -0
  42. package/src/service/planoMapping.service.js +44 -0
  43. package/src/service/planoMappingDuplicate.service.js +44 -0
  44. package/src/service/planoProduct.service.js +42 -0
  45. package/src/service/planoProductDuplicate.service.js +42 -0
  46. package/src/service/planoQrConversionRequest.service.js +32 -0
  47. package/src/service/planoRevision.service.js +15 -0
  48. package/src/service/planoStaticData.service.js +11 -0
  49. package/src/service/planoTask.service.js +39 -0
  50. package/src/service/planoVm.service.js +49 -0
  51. package/src/service/planoVmDuplicate.service.js +49 -0
  52. package/src/service/planogram.service.js +8 -0
  53. package/src/service/planoproductCategory.service.js +47 -0
  54. package/src/service/processedTaskservice.js +29 -0
  55. package/src/service/processedchecklist.service.js +17 -0
  56. package/src/service/storeBuilder.service.js +20 -0
  57. package/src/service/storeBuilderDuplicate.service.js +53 -0
  58. package/src/service/storeFixture.service.js +83 -0
  59. package/src/service/storeFixtureDuplicate.service.js +69 -0
  60. package/src/service/task.service.js +6 -0
  61. package/src/service/templateLog.service.js +10 -0
  62. package/src/service/user.service.js +14 -0
  63. 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( '/productMappings', scriptController.productMappings )
42
+ .post( '/complianceFromMappings', scriptController.createComplianceFromMappins )
43
+ .get( '/getAllPlanoIdsM', scriptController.getAllPlanoIds )
44
+ .post( '/planoAccess', scriptController.planoAccess );
@@ -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,57 @@ 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
- .delete( '/deleteStoreLayout:/id', isAllowedSessionHandler, validate( validateDtos.deleteStoreLayout ), storeBuilderController.deleteStoreLayout )
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 );
@@ -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
+ }
@@ -0,0 +1,52 @@
1
+ import model from 'tango-api-schema';
2
+
3
+ export async function find( query={}, field={} ) {
4
+ return model.fixtureConfigDulicateModel.find( query, field );
5
+ }
6
+
7
+ export async function findOne( query={}, field={} ) {
8
+ return model.fixtureConfigDulicateModel.findOne( query, field );
9
+ }
10
+
11
+ export async function insertMany( data = [] ) {
12
+ return model.fixtureConfigDulicateModel.insertMany( data );
13
+ }
14
+
15
+ export async function aggregate( query = [] ) {
16
+ return model.fixtureConfigDulicateModel.aggregate( query, { collation: { locale: 'en_US', numericOrdering: true } } );
17
+ }
18
+
19
+ export async function updateOne( query = {}, record = {} ) {
20
+ return model.fixtureConfigDulicateModel.updateOne( query, { $set: record } );
21
+ }
22
+
23
+ export async function count( query = {} ) {
24
+ return model.fixtureConfigDulicateModel.countDocuments( query );
25
+ }
26
+
27
+ export async function upsertOne( query, record ) {
28
+ return model.fixtureConfigDulicateModel.findOneAndUpdate(
29
+ query,
30
+ record,
31
+ { upsert: true, new: true },
32
+ );
33
+ }
34
+ export async function create( data = {} ) {
35
+ return model.fixtureConfigDulicateModel.create( data );
36
+ }
37
+
38
+ export async function deleteOne( query = {} ) {
39
+ return model.fixtureConfigDulicateModel.deleteOne( query );
40
+ }
41
+
42
+ export const findAndSort = async ( query={}, field={}, sort={} ) => {
43
+ return await model.fixtureConfigDulicateModel.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.fixtureConfigDulicateModel.find( query, field ).sort( sort ).limit( 1 );
48
+ };
49
+
50
+ export async function updateMany( query = {}, record = {} ) {
51
+ return model.fixtureConfigDulicateModel.updateMany( query, { $set: record } );
52
+ }