tango-api-schema 2.2.189 → 2.2.191

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.
@@ -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,322 @@ 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: () => new Date()
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: () => new Date()
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: () => new Date()
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: () => new Date()
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: () => new Date()
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
+ header: {
213
+ height: {
214
+ value: {
215
+ type: Number,
216
+ default: 0,
217
+ },
218
+ unit: {
219
+ type: String,
220
+ default: '',
221
+ },
222
+ },
223
+ label: {
224
+ type: String,
225
+ },
226
+ isEnabled: {
227
+ type: Boolean,
228
+ default: true,
229
+ },
230
+ },
231
+ footer: {
232
+ height: {
233
+ value: {
234
+ type: Number,
235
+ default: 0,
236
+ },
237
+ unit: {
238
+ type: String,
239
+ default: '',
240
+ },
241
+ },
242
+ label: {
243
+ type: String,
244
+ },
245
+ isEnabled: {
246
+ type: Boolean,
247
+ default: true,
248
+ },
249
+ },
250
+ shelfConfig: [
251
+ {
252
+ _id: {
253
+ type: mongoose.Types.ObjectId,
254
+ required: true
255
+ },
256
+ shelfNumber: {
257
+ type: Number
258
+ },
259
+ shelfType: {
260
+ type: String
261
+ },
262
+ productPerShelf: {
263
+ type: Number
264
+ },
265
+ trayRows: {
266
+ type: Number
267
+ },
268
+ zone: {
269
+ type: String
270
+ },
271
+ productBrandName: {
272
+ type: [String],
273
+ default: []
274
+ },
275
+ productCategory: {
276
+ type: [String],
277
+ default: []
278
+ }
279
+ }
280
+ ],
281
+ vmConfig: [
282
+ {
283
+ vmName: {
284
+ type: String
285
+ },
286
+ vmId: {
287
+ type: mongoose.Schema.Types.ObjectId,
288
+
289
+ },
290
+ startYPosition: {
291
+ type: Number
292
+ },
293
+ endYPosition: {
294
+ type: Number
295
+ },
296
+ xZone: {
297
+ type: String
298
+ },
299
+ yZone: {
300
+ type: String
301
+ },
302
+ position: {
303
+ type: String
304
+ },
305
+ newstartYPosition: {
306
+ type: Number
307
+ },
308
+ newendYPosition: {
309
+ type: Number
310
+ },
311
+ newxZone: {
312
+ type: String
313
+ },
314
+ newyZone: {
315
+ type: String
316
+ },
317
+ newposition: {
318
+ type: String
319
+ }
320
+ }]
321
+ }
322
+ ]
323
+ }
324
+ ]
325
+ }],
14
326
  planoId: {
15
327
  type: mongoose.Types.ObjectId,
16
328
  required: true
@@ -27,18 +339,30 @@ const planoTaskCompliance = new mongoose.Schema(
27
339
  enum: ['fixture', 'vm', 'product', 'layout'],
28
340
  required: true
29
341
  },
30
- date_string:{
31
- type:String,
32
- required:true
342
+ date_string: {
343
+ type: String,
344
+ required: true
33
345
  },
34
- storeName:{
35
- type:String
346
+ storeName: {
347
+ type: String
36
348
  },
37
- taskId:{
38
- type:mongoose.Types.ObjectId
349
+ storeId: {
350
+ type: String
39
351
  },
40
- date_iso:{
41
- type:Date
352
+ taskId: {
353
+ type: mongoose.Types.ObjectId
354
+ },
355
+ taskType: {
356
+ type: String,
357
+ enum: ['redo', 'initial']
358
+ },
359
+ date_iso: {
360
+ type: Date
361
+ },
362
+ approvalStatus: {
363
+ type: String,
364
+ enum: ['pending', 'approved', 'rejected'],
365
+ default:'pending'
42
366
  }
43
367
  },
44
368
  {
@@ -47,4 +371,4 @@ const planoTaskCompliance = new mongoose.Schema(
47
371
  }
48
372
  );
49
373
 
50
- export default mongoose.model('planotaskcompliance', planoTaskCompliance);
374
+ 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 );
@@ -17,81 +17,80 @@ const storeFixtureSchema = new mongoose.Schema(
17
17
  planoId: {
18
18
  type: mongoose.Types.ObjectId,
19
19
  required: true,
20
+ index:true
20
21
  },
21
22
  floorId: {
22
23
  type: mongoose.Types.ObjectId,
23
24
  required: true,
25
+ index:true
24
26
  },
25
27
  fixtureName: {
26
28
  type: String,
27
29
  required: true,
28
30
  },
29
- fixtureCategory: {
31
+ description: {
30
32
  type: String,
31
33
  },
32
- fixtureBrandCategory: {
34
+ fixtureCategory: {
33
35
  type: String,
34
36
  },
35
- fixtureBrandSubCategory: {
36
- type: String,
37
+ productBrandName: {
38
+ type: Array,
39
+ },
40
+ productCategory:{
41
+ type:Array
42
+ },
43
+ productSubCategory:{
44
+ type:Array
37
45
  },
38
46
  fixtureType: {
39
47
  type: String,
40
48
  enum: [ 'wall', 'floor', 'other' ],
41
49
  required: true,
42
50
  },
43
- fixtureHeight: {
44
- value: {
45
- type: Number,
46
- },
47
- unit: {
48
- type: String,
49
- },
50
- },
51
51
  fixtureLength: {
52
52
  value: {
53
53
  type: Number,
54
+ default: 0,
54
55
  },
55
56
  unit: {
56
57
  type: String,
58
+ default: '',
57
59
  },
58
60
  },
59
61
  fixtureWidth: {
60
62
  value: {
61
63
  type: Number,
64
+ default: 0,
62
65
  },
63
66
  unit: {
64
67
  type: String,
68
+ default: '',
65
69
  },
66
70
  },
67
- detailedFixtureLength: {
71
+ fixtureStaticLength: {
68
72
  value: {
69
73
  type: Number,
74
+ default: 0,
70
75
  },
71
76
  unit: {
72
77
  type: String,
78
+ default: '',
73
79
  },
74
80
  },
75
- detailedFixtureWidth: {
81
+ fixtureStaticWidth: {
76
82
  value: {
77
83
  type: Number,
84
+ default: 0,
78
85
  },
79
86
  unit: {
80
87
  type: String,
88
+ default: '',
81
89
  },
82
90
  },
83
- productPerShelf: {
84
- type: Number,
85
- },
86
- mbq: {
87
- type: Number,
88
- },
89
91
  fixtureCapacity: {
90
92
  type: Number,
91
93
  },
92
- shelfcount: {
93
- type: Number,
94
- },
95
94
  associatedElementType: {
96
95
  type: String,
97
96
  enum: [ 'wall', 'facade' ],
@@ -99,9 +98,6 @@ const storeFixtureSchema = new mongoose.Schema(
99
98
  associatedElementNumber: {
100
99
  type: Number,
101
100
  },
102
- fixtureConfigId: {
103
- type: mongoose.Types.ObjectId,
104
- },
105
101
  relativePosition: {
106
102
  x: {
107
103
  type: Number,
@@ -113,48 +109,97 @@ const storeFixtureSchema = new mongoose.Schema(
113
109
  type: String,
114
110
  },
115
111
  },
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
112
  productResolutionLevel: {
136
113
  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
114
+ enum: [ 'L1', 'L2', 'L3', 'L4' ],
115
+ // L1- fixture level, L2- shelf level, L3- section level, L4- product level
139
116
  },
140
117
  imageUrl: {
141
118
  type: String,
142
119
  },
143
- vmImageUrl: {
144
- type: String,
145
- },
146
- fixtureCode: {
147
- type: String,
148
- },
149
120
  header: {
150
- type: String,
121
+ height: {
122
+ value: {
123
+ type: Number,
124
+ default: 0,
125
+ },
126
+ unit: {
127
+ type: String,
128
+ default: '',
129
+ },
130
+ },
131
+ label: {
132
+ type: String,
133
+ },
134
+ isEnabled: {
135
+ type: Boolean,
136
+ default: true,
137
+ },
151
138
  },
152
139
  footer: {
153
- type: String,
140
+ height: {
141
+ value: {
142
+ type: Number,
143
+ default: 0,
144
+ },
145
+ unit: {
146
+ type: String,
147
+ default: '',
148
+ },
149
+ },
150
+ label: {
151
+ type: String,
152
+ },
153
+ isEnabled: {
154
+ type: Boolean,
155
+ default: true,
156
+ },
157
+ },
158
+ isBodyEnabled: {
159
+ type: Boolean,
160
+ default: true,
154
161
  },
155
162
  associatedElementFixtureNumber: {
156
163
  type: Number,
157
164
  },
165
+ vmConfig: [
166
+ {
167
+ vmId: {
168
+ type: mongoose.Types.ObjectId,
169
+ },
170
+ startYPosition: {
171
+ type: Number,
172
+ },
173
+ endYPosition: {
174
+ type: Number,
175
+ },
176
+ xZone: {
177
+ type: String,
178
+ },
179
+ yZone: {
180
+ type: String,
181
+ },
182
+ position: {
183
+ type: String,
184
+ },
185
+ },
186
+ ],
187
+ fixtureLibraryId: {
188
+ type: mongoose.Types.ObjectId,
189
+ index:true
190
+ },
191
+ fixtureConfigId: {
192
+ type: mongoose.Types.ObjectId,
193
+ index:true
194
+ },
195
+ fixtureNumber: {
196
+ type: Number,
197
+ },
198
+ templateIndex: {
199
+ type: Number,
200
+ default: 1,
201
+ },
202
+
158
203
  },
159
204
  {
160
205
  strict: true,
@@ -163,4 +208,7 @@ const storeFixtureSchema = new mongoose.Schema(
163
208
  },
164
209
  );
165
210
 
166
- export default mongoose.model( 'storeFixture', storeFixtureSchema );
211
+ export default mongoose.model( 'storeFixture', storeFixtureSchema );
212
+
213
+
214
+