tango-api-schema 2.2.0 → 2.2.1-plano

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 (57) hide show
  1. package/index.js +50 -1
  2. package/package.json +3 -2
  3. package/schema/appVersion.js +7 -0
  4. package/schema/assignAudit.model.js +1 -1
  5. package/schema/auditConfig.model.js +41 -0
  6. package/schema/auditLogs.model.js +1 -1
  7. package/schema/auditStoreData.model.js +1 -1
  8. package/schema/auditUsers.model.js +21 -7
  9. package/schema/binaryAudit.model.js +1 -1
  10. package/schema/camera.model.js +67 -0
  11. package/schema/checklistassignconfig.js +22 -3
  12. package/schema/checklistconfig.js +69 -1
  13. package/schema/checklistlog.js +17 -0
  14. package/schema/checklistquestionconfig.js +6 -0
  15. package/schema/client.model.js +116 -1
  16. package/schema/countryCurrency.model.js +18 -0
  17. package/schema/download.js +17 -1
  18. package/schema/emailers.model.js +46 -0
  19. package/schema/empDetectionOutput.model.js +4 -1
  20. package/schema/externalParameter.model.js +48 -9
  21. package/schema/fixtureConfig.model.js +202 -0
  22. package/schema/fixtureLibrary.model.js +165 -0
  23. package/schema/fixtureShelf.model.js +72 -0
  24. package/schema/liveConnection.model.js +7 -1
  25. package/schema/loginAttempt.model.js +26 -0
  26. package/schema/notification.model.js +33 -0
  27. package/schema/planoCompliance.model.js +62 -0
  28. package/schema/planoCrestLog.model.js +18 -0
  29. package/schema/planoMapping.model.js +56 -0
  30. package/schema/planoProductCategoryDetails.model.js +33 -0
  31. package/schema/planoProductDetail.model.js +63 -0
  32. package/schema/planoQrConversionRequest.model.js +61 -0
  33. package/schema/planoStaticData.model.js +18 -0
  34. package/schema/planoTaskCompliance.model.js +107 -0
  35. package/schema/planoVmDetail.model.js +63 -0
  36. package/schema/planogram.model.js +66 -0
  37. package/schema/processedchecklist.js +45 -3
  38. package/schema/processedchecklistconfig.js +76 -1
  39. package/schema/revopConfig.model.js +19 -0
  40. package/schema/store.model.js +58 -0
  41. package/schema/storeAudit.model.js +1 -1
  42. package/schema/storeEmpDetection.model.js +1 -1
  43. package/schema/storeFixture.model.js +206 -0
  44. package/schema/storeLayout.model.js +66 -0
  45. package/schema/streaming.model.js +29 -0
  46. package/schema/suspiciousActivity.model.js +54 -0
  47. package/schema/taskAssign.model.js +19 -3
  48. package/schema/taskConfig.model.js +10 -1
  49. package/schema/taskProcessed.model.js +51 -0
  50. package/schema/taskProcessedConfig.model.js +20 -0
  51. package/schema/taskQuestion.model.js +3 -0
  52. package/schema/traxApprover.model.js +4 -0
  53. package/schema/traxAuditData.model.js +3 -0
  54. package/schema/user.model.js +16 -1
  55. package/schema/userAudit.model.js +1 -1
  56. package/schema/userEmpDetection.model.js +4 -2
  57. package/schema/vmType.model.js +24 -0
@@ -76,6 +76,12 @@ const store = new mongoose.Schema(
76
76
  trim: true,
77
77
  default: 0.0,
78
78
  },
79
+ processingOpen: {
80
+ type: String,
81
+ },
82
+ processingClose: {
83
+ type: String,
84
+ },
79
85
  },
80
86
  status: {
81
87
  type: String,
@@ -83,6 +89,14 @@ const store = new mongoose.Schema(
83
89
  default: "active"
84
90
  },
85
91
  edge: {
92
+ isencryption:{
93
+ type: Boolean,
94
+ default:false
95
+ },
96
+ isAudioEnable: {
97
+ type: Boolean,
98
+ default:false
99
+ },
86
100
  apiVersion:{
87
101
  type: String,
88
102
  trim: true,
@@ -195,6 +209,9 @@ const store = new mongoose.Schema(
195
209
  isSocketEnable: {
196
210
  type: Boolean,
197
211
  },
212
+ isRemoteEyeTest:{
213
+ type: Boolean,
214
+ },
198
215
  storeCameraManufacturer: [
199
216
  {
200
217
  ip: { type: String },
@@ -219,6 +236,35 @@ const store = new mongoose.Schema(
219
236
  eyeTestTime:{
220
237
  type: Number,
221
238
  trim: true,
239
+ },
240
+ dataProcess:[
241
+ {
242
+ product:{
243
+ type:String,
244
+ default:'tangotracker'
245
+ }
246
+ },
247
+ {
248
+ processType:{
249
+ type:String,
250
+ enum:['eod','live'],
251
+ default:'eod'
252
+ }
253
+ }
254
+ ],
255
+ footfallDirectory:{
256
+ isEnable:{
257
+ type:Boolean,
258
+ default:true
259
+ },
260
+ showFew:{
261
+ type:Boolean,
262
+ default:false
263
+ },
264
+ onlyAudit:{
265
+ type:Boolean,
266
+ default:false
267
+ }
222
268
  }
223
269
  },
224
270
  spocDetails: [
@@ -279,6 +325,18 @@ const store = new mongoose.Schema(
279
325
  type: Array,
280
326
  default: ['YOLO-V3'],
281
327
  },
328
+ videoQueueList: {
329
+ type: Array,
330
+ default: ["YOLO-VIDEO"],
331
+ },
332
+ tagQueueList:{
333
+ type: Array,
334
+ default: ["YOLO-V3-TRACKER"],
335
+ },
336
+ processType: {
337
+ type: String,
338
+ default: "eod"
339
+ },
282
340
  productFilter: [
283
341
  {
284
342
  productName: {
@@ -18,7 +18,7 @@ const storeAuditSchema = new mongoose.Schema( {
18
18
  },
19
19
  moduleType:{
20
20
  type: String,
21
- enum: [ 'traffic', 'zone' ],
21
+ enum: [ 'traffic', 'zone', 'track' ],
22
22
  },
23
23
  auditType: {
24
24
  type: String,
@@ -18,7 +18,7 @@ const storeEmpDetectionSchema = new mongoose.Schema( {
18
18
  },
19
19
  moduleType:{
20
20
  type: String,
21
- enum: ['mobile-detection','uniform-detection' ],
21
+ enum: ['mobile-detection','uniform-detection',"hygiene","open-time","close-time" ],
22
22
  },
23
23
  auditType: {
24
24
  type: String,
@@ -0,0 +1,206 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ const storeFixtureSchema = 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
+ fixtureName: {
26
+ type: String,
27
+ required: true,
28
+ },
29
+ description: {
30
+ type: String,
31
+ },
32
+ fixtureCategory: {
33
+ type: String,
34
+ },
35
+ productBrandName: {
36
+ type: Array,
37
+ },
38
+ productCategory:{
39
+ type:Array
40
+ },
41
+ productSubCategory:{
42
+ type:Array
43
+ },
44
+ fixtureType: {
45
+ type: String,
46
+ enum: [ 'wall', 'floor', 'other' ],
47
+ required: true,
48
+ },
49
+ fixtureLength: {
50
+ value: {
51
+ type: Number,
52
+ default: 0,
53
+ },
54
+ unit: {
55
+ type: String,
56
+ default: '',
57
+ },
58
+ },
59
+ fixtureWidth: {
60
+ value: {
61
+ type: Number,
62
+ default: 0,
63
+ },
64
+ unit: {
65
+ type: String,
66
+ default: '',
67
+ },
68
+ },
69
+ fixtureStaticLength: {
70
+ value: {
71
+ type: Number,
72
+ default: 0,
73
+ },
74
+ unit: {
75
+ type: String,
76
+ default: '',
77
+ },
78
+ },
79
+ fixtureStaticWidth: {
80
+ value: {
81
+ type: Number,
82
+ default: 0,
83
+ },
84
+ unit: {
85
+ type: String,
86
+ default: '',
87
+ },
88
+ },
89
+ fixtureCapacity: {
90
+ type: Number,
91
+ },
92
+ associatedElementType: {
93
+ type: String,
94
+ enum: [ 'wall', 'facade' ],
95
+ },
96
+ associatedElementNumber: {
97
+ type: Number,
98
+ },
99
+ relativePosition: {
100
+ x: {
101
+ type: Number,
102
+ },
103
+ y: {
104
+ type: Number,
105
+ },
106
+ unit: {
107
+ type: String,
108
+ },
109
+ },
110
+ productResolutionLevel: {
111
+ type: String,
112
+ enum: [ 'L1', 'L2', 'L3', 'L4' ],
113
+ // L1- fixture level, L2- shelf level, L3- section level, L4- product level
114
+ },
115
+ imageUrl: {
116
+ type: String,
117
+ },
118
+ header: {
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
+ },
136
+ },
137
+ footer: {
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,
159
+ },
160
+ associatedElementFixtureNumber: {
161
+ type: Number,
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
+
195
+ },
196
+ {
197
+ strict: true,
198
+ versionKey: false,
199
+ timestamps: true,
200
+ },
201
+ );
202
+
203
+ export default mongoose.model( 'storeFixture', storeFixtureSchema );
204
+
205
+
206
+
@@ -0,0 +1,66 @@
1
+ import mongoose from 'mongoose';
2
+
3
+ const storeLayoutSchema = new mongoose.Schema( {
4
+ storeName: {
5
+ type: String,
6
+ required: true,
7
+ },
8
+ storeId: {
9
+ type: String,
10
+ required: true,
11
+ },
12
+ layoutName: {
13
+ type: String,
14
+ required: true,
15
+ },
16
+ clientId: {
17
+ type: String,
18
+ required: true,
19
+ },
20
+ floorNumber: {
21
+ type: Number,
22
+ default: 1,
23
+ },
24
+ floorName: {
25
+ type: String,
26
+ required: true,
27
+ },
28
+ layoutPolygon: {
29
+ type: Array,
30
+ default: [],
31
+ },
32
+ createdBy: {
33
+ type: mongoose.Types.ObjectId,
34
+ required: true,
35
+ },
36
+ createdByName: {
37
+ type: String,
38
+ required: true,
39
+ },
40
+ createdByEmail: {
41
+ type: String,
42
+ required: true,
43
+ },
44
+ status: {
45
+ type: String,
46
+ enum: [ 'draft', 'completed' ],
47
+ default: 'draft',
48
+ },
49
+ planoId: {
50
+ type: mongoose.Types.ObjectId,
51
+ required: true,
52
+ },
53
+ storeOrder: {
54
+ type: String,
55
+ enum: [ 'LTR', 'RTL' ],
56
+ // LTR - Left to Right, RTL - Right to Left
57
+ },
58
+ },
59
+ {
60
+ strict: true,
61
+ versionKey: false,
62
+ timestamps: true,
63
+ },
64
+ );
65
+
66
+ export default mongoose.model( 'storeLayout', storeLayoutSchema );
@@ -0,0 +1,29 @@
1
+ /**
2
+ * @name api_audit
3
+ */
4
+
5
+ // NPM Modules
6
+ import mongoose from 'mongoose';
7
+
8
+ // Schema
9
+ const streaming = new mongoose.Schema( {
10
+
11
+ streamName:{
12
+ type: String,
13
+ unique: true,
14
+ },
15
+ status:{
16
+ type: String,
17
+ }
18
+
19
+ },
20
+ {
21
+ timestamps: true,
22
+ strict: true,
23
+ versionKey: false,
24
+ },
25
+ );
26
+ streaming.index({ createdAt:1 },{ expires: '15m'})
27
+
28
+
29
+ export default mongoose.model( 'streaming', streaming, 'streaming' );
@@ -0,0 +1,54 @@
1
+ import { Schema, model } from "mongoose";
2
+
3
+ const suspiciousActivity = new Schema(
4
+ {
5
+ cam_id: {
6
+ type: String,
7
+ },
8
+ com_id: {
9
+ type: String,
10
+ },
11
+ inci_id: {
12
+ type: String,
13
+ },
14
+ inci_type: {
15
+ type: String,
16
+ },
17
+ inci_date: {
18
+ type: String,
19
+ },
20
+ inci_time: {
21
+ type: String,
22
+ },
23
+ created_at: {
24
+ type: String,
25
+ },
26
+ comments: {
27
+ type: String,
28
+ },
29
+ thumb_image: {
30
+ type: String,
31
+ },
32
+ video_url: {
33
+ type: String,
34
+ },
35
+ store_id: {
36
+ type: String,
37
+ },
38
+ },
39
+ {
40
+ strict: true,
41
+ versionKey: false,
42
+ timestamps: true,
43
+ }
44
+ );
45
+
46
+ suspiciousActivity.index({ inci_date: 1 });
47
+ suspiciousActivity.index({ store_id: 1 });
48
+ suspiciousActivity.index({ inci_time: 1 });
49
+
50
+ export default model(
51
+ "suspiciousActivity",
52
+ suspiciousActivity,
53
+ "suspiciousActivity"
54
+ );
@@ -3,12 +3,10 @@ import mongoose from 'mongoose';
3
3
  const taskassignconfigSchema = new mongoose.Schema({
4
4
  store_id: {
5
5
  type: String,
6
- required:true,
7
6
  default:''
8
7
  },
9
8
  storeName: {
10
9
  type: String,
11
- required:true,
12
10
  default:''
13
11
  },
14
12
  userId: {
@@ -60,7 +58,25 @@ const taskassignconfigSchema = new mongoose.Schema({
60
58
  reinitiate:{
61
59
  type:Boolean,
62
60
  default:false
63
- }
61
+ },
62
+ sendNotification:{
63
+ type:Boolean,
64
+ default:false,
65
+ },
66
+ clusterName:{
67
+ type:String,
68
+ },
69
+ teamName:{
70
+ type:String
71
+ },
72
+ assignId:{
73
+ type:mongoose.Types.ObjectId
74
+ },
75
+ coverage:{
76
+ type: String,
77
+ default: 'store',
78
+ enum: ["store", "user"]
79
+ },
64
80
  },
65
81
  {
66
82
  strict: true,
@@ -95,7 +95,16 @@ const taskSchema = new mongoose.Schema(
95
95
  },
96
96
  referenceCheckListId:{
97
97
  type:mongoose.SchemaTypes.ObjectId,
98
- }
98
+ },
99
+ coverage:{
100
+ type: String,
101
+ default: 'store',
102
+ enum: ["store", "user", "checklist"]
103
+ },
104
+ rawImageUpload: {
105
+ type: Boolean,
106
+ default:false
107
+ },
99
108
  },
100
109
  {
101
110
  strict: true,
@@ -184,6 +184,57 @@ const processedTaskSchema = new mongoose.Schema(
184
184
  checkListDescription:{
185
185
  type: String,
186
186
  },
187
+ remainder:{
188
+ type:Array,
189
+ default:[]
190
+ },
191
+ restrictAttendance:{
192
+ type:Boolean,
193
+ default:false
194
+ },
195
+ coverage:{
196
+ type: String,
197
+ default: 'store',
198
+ enum: ["store", "user", "checklist"]
199
+ },
200
+ planoType:{
201
+ type: String,
202
+ },
203
+ planoId:{
204
+ type:mongoose.SchemaTypes.ObjectId,
205
+ },
206
+ streamId:{
207
+ type: String,
208
+ },
209
+ rawImageUpload: {
210
+ type: Boolean,
211
+ default:false
212
+ },
213
+ isPlano:{
214
+ type:Boolean,
215
+ },
216
+ rawVideoUpload: {
217
+ type: Boolean,
218
+ default:false
219
+ },
220
+ deviceDetails: {
221
+ type: Object
222
+ },
223
+ approvalTime:{
224
+ type: Date,
225
+ },
226
+ approvalTime_string:{
227
+ type: String,
228
+ },
229
+ approvalByName:{
230
+ type: String,
231
+ },
232
+ approvalByEmail:{
233
+ type: String,
234
+ },
235
+ floorId:{
236
+ type:mongoose.SchemaTypes.ObjectId,
237
+ },
187
238
  },
188
239
  {
189
240
  strict: true,
@@ -97,6 +97,26 @@ const processestaskconfigSchema = new mongoose.Schema({
97
97
  },
98
98
  checkListDescription:{
99
99
  type: String,
100
+ },
101
+ priorityType:{
102
+ type:String
103
+ },
104
+ remainder:{
105
+ type:Array,
106
+ default:[]
107
+ },
108
+ restrictAttendance:{
109
+ type:Boolean,
110
+ default:false
111
+ },
112
+ coverage:{
113
+ type: String,
114
+ default: 'store',
115
+ enum: ["store", "user", "checklist"]
116
+ },
117
+ rawImageUpload: {
118
+ type: Boolean,
119
+ default:false
100
120
  },
101
121
  },
102
122
  {
@@ -33,6 +33,9 @@ const taskQuestionconfigSchema = new mongoose.Schema({
33
33
  type: Boolean,
34
34
  default: false
35
35
  },
36
+ sectionOldName:{
37
+ type: String,
38
+ },
36
39
  },
37
40
  {
38
41
  strict: true,
@@ -20,6 +20,10 @@ const traxApproverSchema = new mongoose.Schema({
20
20
  client_id:{
21
21
  type:String,
22
22
  default:''
23
+ },
24
+ checkListName:{
25
+ type:String,
26
+ default:''
23
27
  }
24
28
  },
25
29
  {
@@ -18,6 +18,9 @@ const traxAuditData = new mongoose.Schema( {
18
18
  storeId:{
19
19
  type:String
20
20
  },
21
+ zoneName:{
22
+ type: String
23
+ },
21
24
  moduleType:{
22
25
  type: String
23
26
  },
@@ -18,7 +18,6 @@ const user = new mongoose.Schema(
18
18
  },
19
19
  mobileNumber: {
20
20
  type: String,
21
- // required: true,
22
21
  },
23
22
  clientId: {
24
23
  type: String,
@@ -82,6 +81,10 @@ const user = new mongoose.Schema(
82
81
  type: String,
83
82
  enum:['tango','client','lead']
84
83
  },
84
+ tangoUserType:{
85
+ type: String,
86
+ enum:['audit','dashboard']
87
+ },
85
88
  password: {
86
89
  type: String
87
90
  },
@@ -112,6 +115,18 @@ const user = new mongoose.Schema(
112
115
  type:String,
113
116
  default:''
114
117
  },
118
+ loginFrom:{
119
+ type:String,
120
+ enum: [ 'web', 'android', 'ios' ],
121
+ default:'web'
122
+ },
123
+ termsAndCondition: {
124
+ type: Boolean,
125
+ default: false
126
+ },
127
+ employeeTagId:{
128
+ type:String
129
+ },
115
130
  },
116
131
  {
117
132
  strict: true,
@@ -21,7 +21,7 @@ const userAuditSchem = new mongoose.Schema( {
21
21
  },
22
22
  moduleType:{
23
23
  type: String,
24
- enum: [ 'traffic', 'zone' ],
24
+ enum: [ 'traffic', 'zone', "track" ],
25
25
  },
26
26
  auditType: {
27
27
  type: String,
@@ -16,10 +16,12 @@ const userEmpDetectionSchema = new mongoose.Schema( {
16
16
  storeId: {
17
17
  type: String,
18
18
  },
19
-
19
+ zoneName:{
20
+ type: String,
21
+ },
20
22
  moduleType:{
21
23
  type: String,
22
- enum: ['mobile-detection','uniform-detection' ],
24
+ enum: ['mobile-detection','uniform-detection', "hygiene", "open-time","close-time" ],
23
25
  },
24
26
  auditType: {
25
27
  type: String,