tango-api-schema 2.2.148 → 3.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.
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.148",
3
+ "version": "3.0.1",
4
4
  "description": "tangoEye model schema",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -13,54 +13,188 @@ 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
+ required: true,
72
+ },
73
+ productPerShelf: {
74
+ type: Number,
75
+ default: 0,
76
+ },
77
+ trayRows: {
78
+ type: Number,
79
+ default: 0,
80
+ },
81
+ label: {
82
+ type: String,
83
+ default: '',
84
+ },
85
+ productBrandName: {
86
+ type: Array,
87
+ },
88
+ productSubBrandName: {
89
+ type: Array,
90
+ },
91
+ productCategory:{
92
+ type:Array
93
+ },
94
+ productSubCategory:{
95
+ type:Array
96
+ },
97
+ zone: {
98
+ type: String,
99
+ },
100
+ } ],
101
+ vmConfig: [
102
+ {
103
+ vmId: {
104
+ type: mongoose.Types.ObjectId,
105
+ },
106
+ startYPosition: {
107
+ type: Number,
108
+ },
109
+ endYPosition: {
110
+ type: Number,
111
+ },
112
+ xZone: {
113
+ type: String,
114
+ },
115
+ yZone: {
116
+ type: String,
117
+ },
118
+ position: {
119
+ type: String,
120
+ },
121
+ },
122
+ ],
123
+ header: {
124
+ height: {
125
+ value: {
126
+ type: Number,
127
+ default: 0,
128
+ },
129
+ unit: {
130
+ type: String,
131
+ default: '',
132
+ },
133
+ },
134
+ label: {
135
+ type: String,
136
+ },
137
+ isEnabled: {
138
+ type: Boolean,
139
+ default: true,
140
+ },
141
+ },
142
+ footer: {
143
+ height: {
144
+ value: {
145
+ type: Number,
146
+ default: 0,
147
+ },
148
+ unit: {
149
+ type: String,
150
+ default: '',
151
+ },
152
+ },
153
+ label: {
154
+ type: String,
155
+ },
156
+ isEnabled: {
157
+ type: Boolean,
158
+ default: true,
159
+ },
160
+ },
161
+ isBodyEnabled: {
162
+ type: Boolean,
163
+ default: true,
164
+ },
165
+ productResolutionLevel: {
166
+ type: String,
167
+ enum: [ 'L1', 'L2', 'L3', 'L4' ],
168
+ },
169
+ fixtureLibraryId:{
170
+ type: mongoose.Types.ObjectId,
171
+ required: true,
45
172
  },
46
173
  fixtureCapacity: {
47
174
  type: Number,
175
+ default: 0,
48
176
  },
49
- sections:{
177
+ productBrandName: {
50
178
  type: Array,
51
179
  },
52
- fixtureCode:{
53
- type: String,
180
+ productCategory:{
181
+ type:Array
54
182
  },
55
- fixtureConfigType: {
56
- type: String
183
+ productSubCategory:{
184
+ type:Array
57
185
  },
58
- shelfConfig:{
59
- type: Array,
186
+ status: {
187
+ type: String,
188
+ enum: [ 'draft', 'complete' ],
189
+ default: 'draft',
60
190
  },
61
- vmConfig:{
62
- type: Array,
191
+ crestMapKey: {
192
+ type: String,
63
193
  },
194
+ templateIndex: {
195
+ type: Number,
196
+ default: 1,
197
+ },
64
198
  },
65
199
  {
66
200
  strict: true,
@@ -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: 0,
40
+ },
41
+ unit: {
42
+ type: String,
43
+ default: '',
44
+ },
45
+ },
46
+ fixtureStaticWidth: {
47
+ value: {
48
+ type: Number,
49
+ default: 0,
50
+ },
51
+ unit: {
52
+ type: String,
53
+ default: '',
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,33 @@
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
+ brandDetails:[
13
+ {
14
+ subBrandName:{
15
+ type:String
16
+ },
17
+ category:{
18
+ type:Array
19
+ },
20
+ subCategory:{
21
+ type:Array
22
+ }
23
+ }
24
+ ]
25
+ },
26
+ {
27
+ strict: true,
28
+ versionKey: false,
29
+ timestamps: true,
30
+ },
31
+ );
32
+
33
+ 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,
@@ -7,10 +7,64 @@ 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
+ qno: {
22
+ type: Number,
23
+ },
24
+ question: {
25
+ type: String
26
+ },
27
+ timeStamp: {
28
+ type: Date,
29
+ default: Date.now()
30
+ },
31
+ answer: {
32
+ type: Boolean
33
+ },
34
+ comment: {
35
+ type: String
36
+ },
37
+ issues: [
38
+ {
39
+ userId: {
40
+ type: mongoose.Types.ObjectId,
41
+ },
42
+ userName: {
43
+ type: String
44
+ },
45
+ role: {
46
+ type: String
47
+ },
48
+ qno: {
49
+ type: Number,
50
+ },
51
+ question: {
52
+ type: String
53
+ },
54
+ timeStamp: {
55
+ type: Date,
56
+ default: Date.now()
57
+ },
58
+ video: {
59
+ type: String
60
+ },
61
+ image: {
62
+ type: String
63
+ },
64
+ Details: []
65
+ }
66
+ ]
67
+ }],
14
68
  planoId: {
15
69
  type: mongoose.Types.ObjectId,
16
70
  required: true
@@ -27,18 +81,21 @@ const planoTaskCompliance = new mongoose.Schema(
27
81
  enum: ['fixture', 'vm', 'product', 'layout'],
28
82
  required: true
29
83
  },
30
- date_string:{
31
- type:String,
32
- required:true
84
+ date_string: {
85
+ type: String,
86
+ required: true
33
87
  },
34
- storeName:{
35
- type:String
88
+ storeName: {
89
+ type: String
36
90
  },
37
- taskId:{
38
- type:mongoose.Types.ObjectId
91
+ storeId: {
92
+ type: String
93
+ },
94
+ taskId: {
95
+ type: mongoose.Types.ObjectId
39
96
  },
40
- date_iso:{
41
- type:Date
97
+ date_iso: {
98
+ type: Date
42
99
  }
43
100
  },
44
101
  {
@@ -47,4 +104,4 @@ const planoTaskCompliance = new mongoose.Schema(
47
104
  }
48
105
  );
49
106
 
50
- export default mongoose.model('planotaskcompliance', planoTaskCompliance);
107
+ 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 );
@@ -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,91 @@ 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
+
158
195
  },
159
196
  {
160
197
  strict: true,
@@ -163,4 +200,7 @@ const storeFixtureSchema = new mongoose.Schema(
163
200
  },
164
201
  );
165
202
 
166
- export default mongoose.model( 'storeFixture', storeFixtureSchema );
203
+ export default mongoose.model( 'storeFixture', storeFixtureSchema );
204
+
205
+
206
+
@@ -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 );