tango-api-schema 2.2.152 → 2.2.154

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/index.js CHANGED
@@ -76,6 +76,7 @@ import planogramModel from "./schema/planogram.model.js";
76
76
  import emailersModel from "./schema/emailers.model.js";
77
77
  import planoMappingModel from './schema/planoMapping.model.js';
78
78
  import planoProductModel from './schema/planoProductDetail.model.js';
79
+ import planoVmModel from './schema/planoVmDetail.model.js';
79
80
  import planoComplianceModel from './schema/planoCompliance.model.js';
80
81
  import storeFixtureModel from './schema/storeFixture.model.js';
81
82
  import fixtureConfigModel from './schema/fixtureConfig.model.js';
@@ -88,6 +89,9 @@ import auditConfigModel from "./schema/auditConfig.model.js";
88
89
  import revopConfigModel from "./schema/revopConfig.model.js";
89
90
  import planoCrestLogModel from './schema/planoCrestLog.model.js';
90
91
  import countryCurrencyModel from './schema/countryCurrency.model.js';
92
+ import fixtureLibraryModel from './schema/fixtureLibrary.model.js';
93
+ import vmTypeModel from "./schema/vmType.model.js";
94
+ import planoProductCategoryModel from './schema/planoProductCategoryDetails.model.js'
91
95
  import streamingModel from './schema/streaming.model.js';
92
96
  import loginAttempt from "./schema/loginAttempt.model.js";
93
97
  import notification from "./schema/notification.model.js";
@@ -184,6 +188,10 @@ export default {
184
188
  revopConfigModel,
185
189
  planoCrestLogModel,
186
190
  countryCurrencyModel,
191
+ fixtureLibraryModel,
192
+ planoVmModel,
193
+ vmTypeModel,
194
+ planoProductCategoryModel,
187
195
  streamingModel,
188
196
  loginAttempt,
189
197
  notification
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tango-api-schema",
3
- "version": "2.2.152",
3
+ "version": "2.2.154",
4
4
  "description": "tangoEye model schema",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -20,7 +20,6 @@
20
20
  "homepage": "https://bitbucket.org/tangoeye-retail/tango-api-schema#readme",
21
21
  "dependencies": {
22
22
  "express": "^4.21.1",
23
- "mongoose": "^7.5.3",
24
- "tango-api-schema": "^2.2.130"
23
+ "mongoose": "^7.5.3"
25
24
  }
26
25
  }
@@ -13,53 +13,186 @@ const fixtureConfigSchema = new mongoose.Schema(
13
13
  type: String,
14
14
  enum: [ 'wall', 'floor' ],
15
15
  },
16
- fixtureHeight: {
16
+ fixtureName: {
17
+ type: String,
18
+ required: true,
19
+ },
20
+ description: {
21
+ type: String,
22
+ },
23
+ fixtureLength: {
17
24
  value: {
18
25
  type: Number,
26
+ default: 0,
19
27
  },
20
28
  unit: {
21
29
  type: String,
30
+ default: '',
22
31
  },
23
32
  },
24
- fixtureLength: {
33
+ fixtureWidth: {
25
34
  value: {
26
35
  type: Number,
36
+ default: 0,
27
37
  },
28
38
  unit: {
29
39
  type: String,
40
+ default: '',
30
41
  },
31
42
  },
32
- fixtureWidth: {
43
+ fixtureStaticLength: {
33
44
  value: {
34
45
  type: Number,
46
+ default: 0,
35
47
  },
36
48
  unit: {
37
49
  type: String,
50
+ default: '',
38
51
  },
39
52
  },
40
- shelfCount: {
41
- type: Number,
53
+ fixtureStaticWidth: {
54
+ value: {
55
+ type: Number,
56
+ default: 0,
57
+ },
58
+ unit: {
59
+ type: String,
60
+ default: '',
61
+ },
42
62
  },
43
- productPerShelf: {
44
- type: Number,
63
+ shelfConfig: [ {
64
+ shelfNumber: {
65
+ type: Number,
66
+ required: true,
67
+ },
68
+ shelfType: {
69
+ type: String,
70
+ enum: ['shelf', 'tray'],
71
+ },
72
+ productPerShelf: {
73
+ type: Number,
74
+ default: 0,
75
+ },
76
+ trayRows: {
77
+ type: Number,
78
+ default: 0,
79
+ },
80
+ label: {
81
+ type: String,
82
+ default: '',
83
+ },
84
+ productBrandName: {
85
+ type: Array,
86
+ },
87
+ productSubBrandName: {
88
+ type: Array,
89
+ },
90
+ productCategory:{
91
+ type:Array
92
+ },
93
+ productSubCategory:{
94
+ type:Array
95
+ },
96
+ zone: {
97
+ type: String,
98
+ },
99
+ } ],
100
+ vmConfig: [
101
+ {
102
+ vmId: {
103
+ type: mongoose.Types.ObjectId,
104
+ },
105
+ startYPosition: {
106
+ type: Number,
107
+ },
108
+ endYPosition: {
109
+ type: Number,
110
+ },
111
+ xZone: {
112
+ type: String,
113
+ },
114
+ yZone: {
115
+ type: String,
116
+ },
117
+ position: {
118
+ type: String,
119
+ },
120
+ },
121
+ ],
122
+ header: {
123
+ height: {
124
+ value: {
125
+ type: Number,
126
+ default: 0,
127
+ },
128
+ unit: {
129
+ type: String,
130
+ default: '',
131
+ },
132
+ },
133
+ label: {
134
+ type: String,
135
+ },
136
+ isEnabled: {
137
+ type: Boolean,
138
+ default: true,
139
+ },
140
+ },
141
+ footer: {
142
+ height: {
143
+ value: {
144
+ type: Number,
145
+ default: 0,
146
+ },
147
+ unit: {
148
+ type: String,
149
+ default: '',
150
+ },
151
+ },
152
+ label: {
153
+ type: String,
154
+ },
155
+ isEnabled: {
156
+ type: Boolean,
157
+ default: true,
158
+ },
159
+ },
160
+ isBodyEnabled: {
161
+ type: Boolean,
162
+ default: true,
163
+ },
164
+ productResolutionLevel: {
165
+ type: String,
166
+ enum: [ 'L1', 'L2', 'L3', 'L4' ],
167
+ },
168
+ fixtureLibraryId:{
169
+ type: mongoose.Types.ObjectId,
170
+ required: true,
45
171
  },
46
172
  fixtureCapacity: {
47
173
  type: Number,
174
+ default: 0,
48
175
  },
49
- sections:{
176
+ productBrandName: {
50
177
  type: Array,
51
178
  },
52
- fixtureCode:{
53
- type: String,
179
+ productCategory:{
180
+ type:Array
54
181
  },
55
- fixtureConfigType: {
56
- type: String
182
+ productSubCategory:{
183
+ type:Array
57
184
  },
58
- shelfConfig:{
59
- type: Array,
185
+ status: {
186
+ type: String,
187
+ enum: [ 'draft', 'complete' ],
188
+ default: 'draft',
60
189
  },
61
- vmConfig:{
62
- type: Array,
190
+ crestMapKey: {
191
+ type: String,
192
+ },
193
+ templateIndex: {
194
+ type: Number,
195
+ default: 1,
63
196
  },
64
197
  },
65
198
  {
@@ -0,0 +1,165 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ const fixtureLibrarySchema = new mongoose.Schema(
4
+ {
5
+ clientId: {
6
+ type: String,
7
+ required: true,
8
+ },
9
+ fixtureCategory: {
10
+ type: String,
11
+ },
12
+ fixtureType: {
13
+ type: String,
14
+ enum: ['wall', 'floor'],
15
+ },
16
+ fixtureLength: {
17
+ value: {
18
+ type: Number,
19
+ default: 0,
20
+ },
21
+ unit: {
22
+ type: String,
23
+ default: 'ft',
24
+ },
25
+ },
26
+ fixtureWidth: {
27
+ value: {
28
+ type: Number,
29
+ default: 0,
30
+ },
31
+ unit: {
32
+ type: String,
33
+ default: 'ft',
34
+ },
35
+ },
36
+ fixtureStaticLength: {
37
+ value: {
38
+ type: Number,
39
+ default: 1524,
40
+ },
41
+ unit: {
42
+ type: String,
43
+ default: 'mm',
44
+ },
45
+ },
46
+ fixtureStaticWidth: {
47
+ value: {
48
+ type: Number,
49
+ default: 1220,
50
+ },
51
+ unit: {
52
+ type: String,
53
+ default: 'mm',
54
+ },
55
+ },
56
+ header: {
57
+ isEnabled: {
58
+ type: Boolean,
59
+ default: true,
60
+ },
61
+ height: {
62
+ value: {
63
+ type: Number,
64
+ default: 0,
65
+ },
66
+ unit: {
67
+ type: String,
68
+ default: 'mm',
69
+ },
70
+ }
71
+ },
72
+ footer: {
73
+ isEnabled: {
74
+ type: Boolean,
75
+ default: true,
76
+ },
77
+ height: {
78
+ value: {
79
+ type: Number,
80
+ default: 0,
81
+ },
82
+ unit: {
83
+ type: String,
84
+ default: 'mm',
85
+ },
86
+ }
87
+ },
88
+ isBodyEnabled: {
89
+ type: Boolean,
90
+ default: true,
91
+ },
92
+ fixtureCapacity: {
93
+ type: Number,
94
+ default: 0,
95
+ },
96
+ status: {
97
+ type: String,
98
+ enum: ['draft', 'complete'],
99
+ default: 'draft',
100
+ },
101
+ shelfConfig: [
102
+ {
103
+ shelfNumber: {
104
+ type: Number,
105
+ required: true,
106
+ },
107
+ shelfType: {
108
+ type: String,
109
+ enum: ['shelf', 'tray'],
110
+ },
111
+ zone: {
112
+ type: String,
113
+ },
114
+ productPerShelf: {
115
+ type: Number,
116
+ default: 0,
117
+ },
118
+ trayRows: {
119
+ type: Number,
120
+ default: 0,
121
+ },
122
+ label: {
123
+ type: String,
124
+ default: '',
125
+ },
126
+ },
127
+ ],
128
+ vmConfig: [
129
+ {
130
+ vmNumber: {
131
+ type: Number,
132
+ },
133
+ vmHeightmm: {
134
+ type: Number,
135
+ },
136
+ vmWidthmm: {
137
+ type: Number,
138
+ },
139
+ startShelf: {
140
+ type: Number,
141
+ },
142
+ endShelf: {
143
+ type: Number,
144
+ },
145
+ zone: {
146
+ type: String,
147
+ },
148
+ position: {
149
+ type: String,
150
+ },
151
+ },
152
+ ],
153
+ fixtureLibCode:{
154
+ type:String
155
+ },
156
+ },
157
+ {
158
+ strict: true,
159
+ versionKey: false,
160
+ timestamps: true,
161
+ },
162
+ );
163
+
164
+ export default mongoose.model( 'fixtureLibrary', fixtureLibrarySchema );
165
+
@@ -1,63 +1,72 @@
1
1
  import mongoose from 'mongoose';
2
2
 
3
3
  const fixtureShelfSchema = new mongoose.Schema(
4
- {
5
- clientId: {
6
- type: String,
7
- required: true,
8
- },
9
- storeName: {
10
- type: String,
11
- required: true,
12
- },
13
- storeId: {
14
- type: String,
15
- required: true,
16
- },
17
- planoId: {
18
- type: mongoose.Types.ObjectId,
19
- required: true,
20
- },
21
- floorId: {
22
- type: mongoose.Types.ObjectId,
23
- required: true,
24
- },
25
- fixtureId: {
26
- type: mongoose.Types.ObjectId,
27
- required: true,
28
- },
29
- shelfNumber: {
30
- type: Number,
31
- required: true,
32
- },
33
- shelfOrder: {
34
- type: String,
35
- enum: [ 'LTR', 'RTL' ],
36
- // LTR - Left to Right, RTL - Right to Left
37
- required: true,
38
- },
39
- shelfCapacity: {
40
- type: Number,
41
- required: true,
42
- },
43
- sectionName:{
44
- type: String
45
- },
46
- sectionZone:{
47
- type: String
48
- },
49
- rfId:{
50
- type:String
51
- },
52
- shelfSplitup: {
53
- type: Number,
54
- }
55
- },
56
- {
57
- strict: true,
58
- versionKey: false,
59
- timestamps: true,
4
+ {
5
+ clientId: {
6
+ type: String,
7
+ required: true,
60
8
  },
9
+ storeName: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ storeId: {
14
+ type: String,
15
+ required: true,
16
+ },
17
+ planoId: {
18
+ type: mongoose.Types.ObjectId,
19
+ required: true,
20
+ },
21
+ floorId: {
22
+ type: mongoose.Types.ObjectId,
23
+ required: true,
24
+ },
25
+ fixtureId: {
26
+ type: mongoose.Types.ObjectId,
27
+ required: true,
28
+ },
29
+ shelfNumber: {
30
+ type: Number,
31
+ required: true,
32
+ },
33
+ productBrandName: {
34
+ type: Array,
35
+ },
36
+ productCategory: {
37
+ type: Array
38
+ },
39
+ productSubCategory: {
40
+ type: Array
41
+ },
42
+ zone: {
43
+ type: String
44
+ },
45
+ rfId: {
46
+ type: String
47
+ },
48
+ shelfType: {
49
+ type: String,
50
+ enum: ['shelf', 'tray'],
51
+ },
52
+ productPerShelf: {
53
+ type: Number,
54
+ default: 0,
55
+ },
56
+ trayRows: {
57
+ type: Number,
58
+ default: 0,
59
+ },
60
+ label: {
61
+ type: String,
62
+ default: '',
63
+ },
64
+ },
65
+ {
66
+ strict: true,
67
+ versionKey: false,
68
+ timestamps: true,
69
+ },
61
70
  );
62
71
 
63
- export default mongoose.model( 'fixtureShelf', fixtureShelfSchema );
72
+ export default mongoose.model('fixtureShelf', fixtureShelfSchema);
@@ -0,0 +1,26 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ const planoProductCategorySchema = new mongoose.Schema(
4
+ {
5
+ clientId: {
6
+ type: String,
7
+ required: true,
8
+ },
9
+ brandName:{
10
+ type:String
11
+ },
12
+ category:{
13
+ type:Array
14
+ },
15
+ subCategory:{
16
+ type:Array
17
+ }
18
+ },
19
+ {
20
+ strict: true,
21
+ versionKey: false,
22
+ timestamps: true,
23
+ },
24
+ );
25
+
26
+ export default mongoose.model( 'planoProductCategory', planoProductCategorySchema );
@@ -10,10 +10,6 @@ const planoProductDetailSchema = new mongoose.Schema(
10
10
  type: String,
11
11
  required: true,
12
12
  },
13
- type: {
14
- type: String,
15
- enum: [ 'product', 'vm' ],
16
- },
17
13
  productName: {
18
14
  type: String,
19
15
  },
@@ -55,20 +51,7 @@ const planoProductDetailSchema = new mongoose.Schema(
55
51
  },
56
52
  productImageUrl: {
57
53
  type: String,
58
- },
59
- startYPosition: {
60
- type: String,
61
- },
62
- endYPosition: {
63
- type: String,
64
- },
65
- xZone:{
66
- type: String
67
- },
68
- fixtureConfigId: {
69
- type: mongoose.Types.ObjectId,
70
- },
71
-
54
+ }
72
55
  },
73
56
  {
74
57
  strict: false,
@@ -9,7 +9,7 @@ const planoStaticData = new mongoose.Schema({
9
9
  }
10
10
  },
11
11
  {
12
- strict: true,
12
+ strict: false,
13
13
  versionKey: false,
14
14
  timestamps: true,
15
15
  },
@@ -7,10 +7,281 @@ const planoTaskCompliance = new mongoose.Schema(
7
7
  enum: ['complete', 'incomplete', 'missing'],
8
8
  required: true
9
9
  },
10
- answers: {
11
- type: Array,
12
- default: []
13
- },
10
+ answers: [
11
+ {
12
+ userId: {
13
+ type: mongoose.Types.ObjectId,
14
+ },
15
+ userName: {
16
+ type: String
17
+ },
18
+ role: {
19
+ type: String
20
+ },
21
+ timeStamp: {
22
+ type: Date,
23
+ default: Date.now()
24
+ },
25
+ video: {
26
+ type: String
27
+ },
28
+ image: {
29
+ type: String
30
+ },
31
+ comments: [{
32
+ userId: {
33
+ type: mongoose.Types.ObjectId,
34
+ },
35
+ userName: {
36
+ type: String
37
+ },
38
+ role: {
39
+ type: String
40
+ },
41
+ comment: {
42
+ type: String
43
+ },
44
+ responsetype: {
45
+ type: String,
46
+ default: "comment",
47
+ },
48
+ timeStamp: {
49
+ type: Date,
50
+ default: Date.now()
51
+ }
52
+ }
53
+ ],
54
+ issues: [
55
+ {
56
+ userId: {
57
+ type: mongoose.Types.ObjectId,
58
+ },
59
+ userName: {
60
+ type: String
61
+ },
62
+ role: {
63
+ type: String
64
+ },
65
+ qno: {
66
+ type: Number,
67
+ },
68
+ question: {
69
+ type: String
70
+ },
71
+ timeStamp: {
72
+ type: Date,
73
+ default: Date.now()
74
+ },
75
+ issueType: {
76
+ type: String,
77
+ enum: ["extraFixture", 'fixtureMissing', 'fixtureMismatch', 'categoryWrong', 'sizeWrong', 'shelfWrong', 'brandWrong', 'productcategoryWrong', "extraVm", 'VmMissing', 'VmMismatch', 'VmSizeWrong','others']
78
+ },
79
+ image: {
80
+ type: String
81
+ },
82
+ status: {
83
+ type: String,
84
+ default: 'pending',
85
+ enum: ['completed', 'pending']
86
+ },
87
+ comments: [{
88
+ userId: {
89
+ type: mongoose.Types.ObjectId,
90
+ },
91
+ userName: {
92
+ type: String
93
+ },
94
+ role: {
95
+ type: String
96
+ },
97
+ comment: {
98
+ type: String
99
+ },
100
+ responsetype: {
101
+ type: String,
102
+ default: "comment",
103
+ },
104
+ timeStamp: {
105
+ type: Date,
106
+ default: Date.now()
107
+ }
108
+ }
109
+ ],
110
+ Details: [
111
+ {
112
+ comments: [{
113
+ userId: {
114
+ type: mongoose.Types.ObjectId,
115
+ },
116
+ userName: {
117
+ type: String
118
+ },
119
+ role: {
120
+ type: String
121
+ },
122
+ comment: {
123
+ type: String
124
+ },
125
+ responsetype: {
126
+ type: String,
127
+ default: "comment",
128
+ },
129
+ timeStamp: {
130
+ type: Date,
131
+ default: Date.now()
132
+ }
133
+ }
134
+ ],
135
+ missingData:[
136
+ {
137
+ zone:{
138
+ type:String
139
+ },
140
+ brand:[{
141
+ type:String
142
+ }],
143
+ productCategory:[{
144
+ type:String
145
+ }]
146
+ }
147
+ ],
148
+
149
+ image: {
150
+ type: String
151
+ },
152
+ video: {
153
+ type: String
154
+ },
155
+ floorId: {
156
+ type: mongoose.Types.ObjectId,
157
+ },
158
+ fixtureLibraryId: {
159
+ type: mongoose.Types.ObjectId
160
+ },
161
+ fixtureConfigId: {
162
+ type: mongoose.Types.ObjectId
163
+ },
164
+ fixtureId: {
165
+ type: mongoose.Types.ObjectId
166
+ },
167
+ status: {
168
+ type: String,
169
+ default: 'pending',
170
+ enum: ['agree', 'disagree', 'pending']
171
+ },
172
+ image: {
173
+ type: String
174
+ },
175
+ fixtureName: {
176
+ type: String
177
+ },
178
+ fixtureCategory: {
179
+ type: String
180
+ },
181
+ fixtureTemplateName: {
182
+ type: String
183
+ },
184
+ associatedElementFixtureNumber: {
185
+ type: Number
186
+ },
187
+ associatedElementNumber: {
188
+ type: Number
189
+ },
190
+ associatedElementType: {
191
+ type: String
192
+ },
193
+ newassociatedElementFixtureNumber: {
194
+ type: Number
195
+ },
196
+ newassociatedElementNumber: {
197
+ type: Number
198
+ },
199
+ newassociatedElementType: {
200
+ type: String
201
+ },
202
+ fixtureWidth:
203
+ {
204
+ value:{
205
+ type:Number
206
+ },
207
+ unit:{
208
+ type: String
209
+ }
210
+ }
211
+ ,
212
+ shelfConfig: [
213
+ {
214
+ _id: {
215
+ type: mongoose.Types.ObjectId,
216
+ required: true
217
+ },
218
+ shelfNumber: {
219
+ type: Number
220
+ },
221
+ shelfType: {
222
+ type: String
223
+ },
224
+ productPerShelf: {
225
+ type: Number
226
+ },
227
+ trayRows: {
228
+ type: Number
229
+ },
230
+ zone: {
231
+ type: String
232
+ },
233
+ productBrandName: {
234
+ type: [String],
235
+ default: []
236
+ },
237
+ productCategory: {
238
+ type: [String],
239
+ default: []
240
+ }
241
+ }
242
+ ],
243
+ vmConfig: [
244
+ {
245
+ vmId: {
246
+ type: mongoose.Schema.Types.ObjectId,
247
+
248
+ },
249
+ startYPosition: {
250
+ type: Number
251
+ },
252
+ endYPosition: {
253
+ type: Number
254
+ },
255
+ xZone: {
256
+ type: String
257
+ },
258
+ yZone: {
259
+ type: String
260
+ },
261
+ position: {
262
+ type: String
263
+ },
264
+ newstartYPosition: {
265
+ type: Number
266
+ },
267
+ newendYPosition: {
268
+ type: Number
269
+ },
270
+ newxZone: {
271
+ type: String
272
+ },
273
+ newyZone: {
274
+ type: String
275
+ },
276
+ newposition: {
277
+ type: String
278
+ }
279
+ }]
280
+ }
281
+ ]
282
+ }
283
+ ]
284
+ }],
14
285
  planoId: {
15
286
  type: mongoose.Types.ObjectId,
16
287
  required: true
@@ -27,18 +298,25 @@ const planoTaskCompliance = new mongoose.Schema(
27
298
  enum: ['fixture', 'vm', 'product', 'layout'],
28
299
  required: true
29
300
  },
30
- date_string:{
31
- type:String,
32
- required:true
301
+ date_string: {
302
+ type: String,
303
+ required: true
33
304
  },
34
- storeName:{
35
- type:String
305
+ storeName: {
306
+ type: String
36
307
  },
37
- taskId:{
38
- type:mongoose.Types.ObjectId
308
+ storeId: {
309
+ type: String
310
+ },
311
+ taskId: {
312
+ type: mongoose.Types.ObjectId
313
+ },
314
+ taskType:{
315
+ type: String,
316
+ enum:['redo','initial']
39
317
  },
40
- date_iso:{
41
- type:Date
318
+ date_iso: {
319
+ type: Date
42
320
  }
43
321
  },
44
322
  {
@@ -47,4 +325,4 @@ const planoTaskCompliance = new mongoose.Schema(
47
325
  }
48
326
  );
49
327
 
50
- export default mongoose.model('planotaskcompliance', planoTaskCompliance);
328
+ export default mongoose.model('planotaskcompliance', planoTaskCompliance);
@@ -0,0 +1,63 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ const planoVmDetailSchema = new mongoose.Schema(
4
+ {
5
+ clientId: {
6
+ type: String,
7
+ required: true,
8
+ },
9
+ vmName: {
10
+ type: String,
11
+ },
12
+ vmType: {
13
+ type: String,
14
+ },
15
+ vmHeight: {
16
+ value: {
17
+ type: Number,
18
+ },
19
+ unit: {
20
+ type: String,
21
+ },
22
+ },
23
+ vmWidth: {
24
+ value: {
25
+ type: Number,
26
+ },
27
+ unit: {
28
+ type: String,
29
+ },
30
+ },
31
+ vmImageUrl: {
32
+ type: String,
33
+ },
34
+ isDoubleSided: {
35
+ type: Boolean,
36
+ },
37
+ status: {
38
+ type: String,
39
+ enum: [ 'draft', 'complete' ],
40
+ default: 'draft',
41
+ },
42
+ vmBrand:{
43
+ type:String
44
+ },
45
+ vmSubBrand: {
46
+ type: String,
47
+ },
48
+ vmCategory: {
49
+ type: String,
50
+ },
51
+ crestImageId: {
52
+ type: String,
53
+ },
54
+
55
+ },
56
+ {
57
+ strict: false,
58
+ versionKey: false,
59
+ timestamps: true,
60
+ },
61
+ );
62
+
63
+ export default mongoose.model( 'planoVmDetail', planoVmDetailSchema );
@@ -54,6 +54,10 @@ const planogramSchema = new mongoose.Schema( {
54
54
  },
55
55
  validateShelfSections: {
56
56
  type: Boolean
57
+ },
58
+ planoProgress:{
59
+ type:Number,
60
+ default:25
57
61
  }
58
62
  },
59
63
  {
@@ -26,72 +26,69 @@ const storeFixtureSchema = new mongoose.Schema(
26
26
  type: String,
27
27
  required: true,
28
28
  },
29
- fixtureCategory: {
29
+ description: {
30
30
  type: String,
31
31
  },
32
- fixtureBrandCategory: {
32
+ fixtureCategory: {
33
33
  type: String,
34
34
  },
35
- fixtureBrandSubCategory: {
36
- type: String,
35
+ productBrandName: {
36
+ type: Array,
37
+ },
38
+ productCategory:{
39
+ type:Array
40
+ },
41
+ productSubCategory:{
42
+ type:Array
37
43
  },
38
44
  fixtureType: {
39
45
  type: String,
40
46
  enum: [ 'wall', 'floor', 'other' ],
41
47
  required: true,
42
48
  },
43
- fixtureHeight: {
44
- value: {
45
- type: Number,
46
- },
47
- unit: {
48
- type: String,
49
- },
50
- },
51
49
  fixtureLength: {
52
50
  value: {
53
51
  type: Number,
52
+ default: 0,
54
53
  },
55
54
  unit: {
56
55
  type: String,
56
+ default: '',
57
57
  },
58
58
  },
59
59
  fixtureWidth: {
60
60
  value: {
61
61
  type: Number,
62
+ default: 0,
62
63
  },
63
64
  unit: {
64
65
  type: String,
66
+ default: '',
65
67
  },
66
68
  },
67
- detailedFixtureLength: {
69
+ fixtureStaticLength: {
68
70
  value: {
69
71
  type: Number,
72
+ default: 0,
70
73
  },
71
74
  unit: {
72
75
  type: String,
76
+ default: '',
73
77
  },
74
78
  },
75
- detailedFixtureWidth: {
79
+ fixtureStaticWidth: {
76
80
  value: {
77
81
  type: Number,
82
+ default: 0,
78
83
  },
79
84
  unit: {
80
85
  type: String,
86
+ default: '',
81
87
  },
82
88
  },
83
- productPerShelf: {
84
- type: Number,
85
- },
86
- mbq: {
87
- type: Number,
88
- },
89
89
  fixtureCapacity: {
90
90
  type: Number,
91
91
  },
92
- shelfcount: {
93
- type: Number,
94
- },
95
92
  associatedElementType: {
96
93
  type: String,
97
94
  enum: [ 'wall', 'facade' ],
@@ -99,9 +96,6 @@ const storeFixtureSchema = new mongoose.Schema(
99
96
  associatedElementNumber: {
100
97
  type: Number,
101
98
  },
102
- fixtureConfigId: {
103
- type: mongoose.Types.ObjectId,
104
- },
105
99
  relativePosition: {
106
100
  x: {
107
101
  type: Number,
@@ -113,48 +107,95 @@ const storeFixtureSchema = new mongoose.Schema(
113
107
  type: String,
114
108
  },
115
109
  },
116
- relativeDetailedPosition: {
117
- x: {
118
- type: Number,
119
- },
120
- y: {
121
- type: Number,
122
- },
123
- unit: {
124
- type: String,
125
- },
126
- },
127
- fixtureOrder: {
128
- type: String,
129
- enum: [ 'TTB', 'BTT' ],
130
- // TTB - Top to Bottom, BTT - Bottom to Top
131
- },
132
- fixtureNumber: {
133
- type: Number,
134
- },
135
110
  productResolutionLevel: {
136
111
  type: String,
137
- enum: [ 'L1', 'L2', 'L3', 'L4', 'L5' ],
138
- // L1- floor level, L2- fixture level, L3- fixture-shelf level, L4- fixture-shelf-product level
112
+ enum: [ 'L1', 'L2', 'L3', 'L4' ],
113
+ // L1- fixture level, L2- shelf level, L3- section level, L4- product level
139
114
  },
140
115
  imageUrl: {
141
116
  type: String,
142
117
  },
143
- vmImageUrl: {
144
- type: String,
145
- },
146
- fixtureCode: {
147
- type: String,
148
- },
149
118
  header: {
150
- type: String,
119
+ height: {
120
+ value: {
121
+ type: Number,
122
+ default: 0,
123
+ },
124
+ unit: {
125
+ type: String,
126
+ default: '',
127
+ },
128
+ },
129
+ label: {
130
+ type: String,
131
+ },
132
+ isEnabled: {
133
+ type: Boolean,
134
+ default: true,
135
+ },
151
136
  },
152
137
  footer: {
153
- type: String,
138
+ height: {
139
+ value: {
140
+ type: Number,
141
+ default: 0,
142
+ },
143
+ unit: {
144
+ type: String,
145
+ default: '',
146
+ },
147
+ },
148
+ label: {
149
+ type: String,
150
+ },
151
+ isEnabled: {
152
+ type: Boolean,
153
+ default: true,
154
+ },
155
+ },
156
+ isBodyEnabled: {
157
+ type: Boolean,
158
+ default: true,
154
159
  },
155
160
  associatedElementFixtureNumber: {
156
161
  type: Number,
157
162
  },
163
+ vmConfig: [
164
+ {
165
+ vmId: {
166
+ type: mongoose.Types.ObjectId,
167
+ },
168
+ startYPosition: {
169
+ type: Number,
170
+ },
171
+ endYPosition: {
172
+ type: Number,
173
+ },
174
+ xZone: {
175
+ type: String,
176
+ },
177
+ yZone: {
178
+ type: String,
179
+ },
180
+ position: {
181
+ type: String,
182
+ },
183
+ },
184
+ ],
185
+ fixtureLibraryId: {
186
+ type: mongoose.Types.ObjectId,
187
+ },
188
+ fixtureConfigId: {
189
+ type: mongoose.Types.ObjectId,
190
+ },
191
+ fixtureNumber: {
192
+ type: Number,
193
+ },
194
+ templateIndex: {
195
+ type: Number,
196
+ default: 1,
197
+ },
198
+
158
199
  },
159
200
  {
160
201
  strict: true,
@@ -163,4 +204,7 @@ const storeFixtureSchema = new mongoose.Schema(
163
204
  },
164
205
  );
165
206
 
166
- export default mongoose.model( 'storeFixture', storeFixtureSchema );
207
+ export default mongoose.model( 'storeFixture', storeFixtureSchema );
208
+
209
+
210
+
@@ -237,6 +237,9 @@ const processedTaskSchema = new mongoose.Schema(
237
237
  },
238
238
  checkListFrom: {
239
239
  type: String
240
+ },
241
+ comments:{
242
+ type:Array
240
243
  }
241
244
  },
242
245
  {
@@ -0,0 +1,24 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ const vmTypeSchema = new mongoose.Schema(
4
+ {
5
+ clientId: {
6
+ type: String,
7
+ required: true,
8
+ },
9
+ vmType:{
10
+ type:String,
11
+ required:true
12
+ },
13
+ imageUrls:{
14
+ type:Array
15
+ }
16
+ },
17
+ {
18
+ strict: true,
19
+ versionKey: false,
20
+ timestamps: true,
21
+ },
22
+ );
23
+
24
+ export default mongoose.model( 'vmType', vmTypeSchema );