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
package/index.js CHANGED
@@ -71,6 +71,31 @@ import taskProcessedModel from './schema/taskProcessed.model.js';
71
71
  import taskProcessedConfigModel from './schema/taskProcessedConfig.model.js';
72
72
  import traxApproverModel from './schema/traxApprover.model.js';
73
73
  import nobBillingModel from "./schema/nobBilling.model.js";
74
+ import storeLayoutModel from "./schema/storeLayout.model.js";
75
+ import planogramModel from "./schema/planogram.model.js";
76
+ import emailersModel from "./schema/emailers.model.js";
77
+ import planoMappingModel from './schema/planoMapping.model.js';
78
+ import planoProductModel from './schema/planoProductDetail.model.js';
79
+ import planoVmModel from './schema/planoVmDetail.model.js';
80
+ import planoComplianceModel from './schema/planoCompliance.model.js';
81
+ import storeFixtureModel from './schema/storeFixture.model.js';
82
+ import fixtureConfigModel from './schema/fixtureConfig.model.js';
83
+ import fixtureShelfModel from './schema/fixtureShelf.model.js';
84
+ import planoTaskCompliance from './schema/planoTaskCompliance.model.js';
85
+ import planoQrConversionRequest from './schema/planoQrConversionRequest.model.js';
86
+ import planoStaticData from './schema/planoStaticData.model.js';
87
+ import suspiciousActivityModel from "./schema/suspiciousActivity.model.js";
88
+ import auditConfigModel from "./schema/auditConfig.model.js";
89
+ import revopConfigModel from "./schema/revopConfig.model.js";
90
+ import planoCrestLogModel from './schema/planoCrestLog.model.js';
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'
95
+ import streamingModel from './schema/streaming.model.js';
96
+ import loginAttempt from "./schema/loginAttempt.model.js";
97
+ import notification from "./schema/notification.model.js";
98
+
74
99
 
75
100
  export default {
76
101
  leadModel,
@@ -145,5 +170,29 @@ export default {
145
170
  taskProcessedModel,
146
171
  taskProcessedConfigModel,
147
172
  traxApproverModel,
148
- nobBillingModel
173
+ nobBillingModel,
174
+ storeLayoutModel,
175
+ planogramModel,
176
+ emailersModel,
177
+ planoMappingModel,
178
+ planoProductModel,
179
+ planoComplianceModel,
180
+ storeFixtureModel,
181
+ fixtureConfigModel,
182
+ fixtureShelfModel,
183
+ planoTaskCompliance,
184
+ planoQrConversionRequest,
185
+ planoStaticData,
186
+ suspiciousActivityModel,
187
+ auditConfigModel,
188
+ revopConfigModel,
189
+ planoCrestLogModel,
190
+ countryCurrencyModel,
191
+ fixtureLibraryModel,
192
+ planoVmModel,
193
+ vmTypeModel,
194
+ planoProductCategoryModel,
195
+ streamingModel,
196
+ loginAttempt,
197
+ notification
149
198
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "tango-api-schema",
3
- "version": "2.2.0",
3
+ "version": "2.2.1-plano",
4
4
  "description": "tangoEye model schema",
5
5
  "main": "index.js",
6
6
  "type": "module",
@@ -20,6 +20,7 @@
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"
23
+ "mongoose": "^7.5.3",
24
+ "tango-api-schema": "^2.2.130"
24
25
  }
25
26
  }
@@ -10,6 +10,10 @@ const appVersionSchema = new mongoose.Schema({
10
10
  type: String,
11
11
  default: ""
12
12
  },
13
+ appVersionNo:{
14
+ type: Number,
15
+ default: 0
16
+ },
13
17
  forceUpdate:{
14
18
  type: Boolean,
15
19
  default: false
@@ -22,6 +26,9 @@ const appVersionSchema = new mongoose.Schema({
22
26
  type: Date,
23
27
  default: Date.now
24
28
  },
29
+ clientId: {
30
+ type: String,
31
+ },
25
32
  },
26
33
  {
27
34
  strict: true,
@@ -15,7 +15,7 @@ const assignAudit = new mongoose.Schema( {
15
15
  },
16
16
  moduleType:{
17
17
  type:String,
18
- enum:["traffic", "zone"]
18
+ enum:["traffic", "zone",'track']
19
19
  },
20
20
  zoneName: {
21
21
  type:String
@@ -0,0 +1,41 @@
1
+ /**
2
+ * @name api_audit_config
3
+ */
4
+
5
+ // NPM Modules
6
+ import mongoose from 'mongoose';
7
+
8
+ // Schema
9
+ const auditConfigSchema = new mongoose.Schema( {
10
+
11
+ clientId:{
12
+ type:String,
13
+ required:true
14
+ },
15
+ AuditName:{
16
+ type:String
17
+ },
18
+ keyWord:{
19
+ type:String
20
+ },
21
+ fileType:{
22
+ type:String,
23
+ enum:["video",'image']
24
+ },
25
+ responseType:{
26
+ type:String,
27
+ },
28
+ status:{
29
+ type:String,
30
+ enum:["active","inactive"]
31
+ }
32
+ },
33
+ {
34
+ timestamps: true,
35
+ strict: true,
36
+ versionKey: false,
37
+ } );
38
+
39
+ auditConfigSchema.index( { createdAt: 1 } );
40
+ export default mongoose.model( 'auditConfig', auditConfigSchema, 'auditConfig' );
41
+
@@ -15,7 +15,7 @@ const auditLogSchema = new mongoose.Schema( {
15
15
  },
16
16
  moduleType:{
17
17
  type:String,
18
- enum:["traffic", "zone", "uniform-detection","mobile-detection"]
18
+ enum:["traffic", "zone", 'track',"uniform-detection","mobile-detection", "hygiene","open-time","close-time"]
19
19
  },
20
20
  zoneName:{
21
21
  type:String
@@ -20,7 +20,7 @@ const auditStoreData = new mongoose.Schema( {
20
20
  },
21
21
  moduleType:{
22
22
  type: String,
23
- enum:['traffic','zone']
23
+ enum:['traffic','zone','track']
24
24
  },
25
25
  zoneName:{
26
26
  type: String
@@ -14,13 +14,20 @@ const auditUsersSchema = new mongoose.Schema( {
14
14
  userId: {
15
15
  type: mongoose.Schema.Types.ObjectId,
16
16
  },
17
- isActive:{
18
- type: Boolean,
19
- default:true
17
+ month:{
18
+ type:Number
19
+ },
20
+ week:{
21
+ type:Number
20
22
  },
21
- type:{
22
- type: String,
23
- enum:["consultant"]
23
+ fileDate:{
24
+ type:Array
25
+ },
26
+ lateLogin:{
27
+ type:Number
28
+ },
29
+ leave:{
30
+ type:Number
24
31
  }
25
32
 
26
33
  },
@@ -32,7 +39,14 @@ const auditUsersSchema = new mongoose.Schema( {
32
39
 
33
40
  auditUsersSchema.index({
34
41
  email: 1,
35
- type: 1,
42
+ });
43
+
44
+ auditUsersSchema.index({
45
+ week: 1,
46
+ });
47
+
48
+ auditUsersSchema.index({
49
+ month: 1,
36
50
  });
37
51
 
38
52
  export default mongoose.model( 'auditUsers', auditUsersSchema, 'auditUsers' );
@@ -24,7 +24,7 @@ tempId:{
24
24
  },
25
25
  moduleType:{
26
26
  type: String,
27
- enum: ['camera-angle-change','left-in-middle','unattended-customer'],
27
+ enum: ['camera-angle-change','left-in-middle','unattended-customer','eye-test-camera', 'scrum','cleaning', 'anomaly-audit'],
28
28
  },
29
29
  fileDate: {
30
30
  type: String,
@@ -87,6 +87,10 @@ const collection = new Schema(
87
87
  type: Number,
88
88
  default: 13,
89
89
  },
90
+ liveTrackerProcess: {
91
+ type: Number,
92
+ default: 13,
93
+ },
90
94
  dynamicFilterType: {
91
95
  type: String,
92
96
  default: "default"
@@ -118,11 +122,74 @@ const collection = new Schema(
118
122
  type: Boolean,
119
123
  default: false,
120
124
  },
125
+ isEyeTestStream:{
126
+ type: Boolean,
127
+ default: false,
128
+ },
129
+ isImageStream:{
130
+ type: Boolean,
131
+ default: false,
132
+ },
121
133
  width: {
122
134
  type: Number,
123
135
  },
124
136
  height: {
125
137
  type: Number,
138
+ },
139
+ qrCode: {
140
+ type: String,
141
+ },
142
+ compressionRate:{
143
+ type: Number,
144
+ trim: true,
145
+ default: 50,
146
+ },
147
+ crf:{
148
+ type: String,
149
+ trim: true,
150
+ enum: ["18", "23","28","35"],
151
+ default: "28",
152
+ },
153
+ preset:{
154
+ type: String,
155
+ trim: true,
156
+ enum: ["ultrafast", "superfast","veryfast","faster","fast","medium","slow"],
157
+ default: "medium",
158
+ },
159
+ compression:{
160
+ type: Boolean,
161
+ default: false,
162
+ },
163
+ frameWidth:{
164
+ type: Number,
165
+ trim: true,
166
+ },
167
+ frameHeight:{
168
+ type: Number,
169
+ trim: true,
170
+ },
171
+ isPrimary:{
172
+ type:Boolean,
173
+ default:false
174
+ },
175
+ defaultFps:{
176
+ type: Number,
177
+ trim: true,
178
+ default: 15,
179
+ },
180
+ cameraFps:{
181
+ type: Number,
182
+ trim: true,
183
+ default: 15,
184
+ },
185
+ isTagStream:{
186
+ type:Boolean,
187
+ default:false
188
+ },
189
+ tagFps:{
190
+ type: Number,
191
+ trim: true,
192
+ default: 5,
126
193
  }
127
194
  },
128
195
  {
@@ -3,12 +3,10 @@ import mongoose from 'mongoose';
3
3
  const checklistassignconfigSchema = 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,28 @@ const checklistassignconfigSchema = new mongoose.Schema({
60
58
  isdeleted: {
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
+ },
80
+ events:{
81
+ type:Array
82
+ },
64
83
  },
65
84
  {
66
85
  strict: true,
@@ -131,7 +131,7 @@ const checklistconfigSchema = new mongoose.Schema({
131
131
  checkListType:{
132
132
  type:String,
133
133
  default:"custom",
134
- enum: ["storeopenandclose","mobileusagedetection","uniformdetection","custom","customerunattended","staffleftinthemiddle"]
134
+ enum: ["storeopenandclose","mobileusagedetection","uniformdetection","custom","customerunattended","staffleftinthemiddle",'eyetest', 'remoteoptometrist', 'storehygienemonitoring','queuealert','cleaning','scrum','suspiciousactivity','boxalert','suspiciousfootfall','drinking','bagdetection','inventorycount','carsattended','numberplateinfo','vehicle_check_in']
135
135
  },
136
136
  createdAt: {
137
137
  type: Date,
@@ -178,6 +178,74 @@ const checklistconfigSchema = new mongoose.Schema({
178
178
  type:Array,
179
179
  default:[]
180
180
  },
181
+ restrictAttendance:{
182
+ type:Boolean,
183
+ default:false
184
+ },
185
+ enableNewDeployedStore:{
186
+ type:Boolean,
187
+ default:false
188
+ },
189
+ coverage:{
190
+ type: String,
191
+ default: 'store',
192
+ enum: ["store", "user"]
193
+ },
194
+ isPlano:{
195
+ type:Boolean
196
+ },
197
+ rawImageUpload: {
198
+ type: Boolean,
199
+ default:false
200
+ },
201
+ aiConfig:{
202
+ assignConfig: {
203
+ type:String
204
+ },
205
+ events:{
206
+ type:Array
207
+ },
208
+ alerts: {
209
+ users:{
210
+ type:Array
211
+ },
212
+ },
213
+ alertType: {
214
+ mobile: {
215
+ type: Boolean,
216
+ default: true
217
+ },
218
+ web: {
219
+ type: Boolean,
220
+ default: false
221
+ }
222
+ },
223
+ storeOpenClose:{
224
+ buffer: {
225
+ openTime:{
226
+ type:Number
227
+ },
228
+ closeTime:{
229
+ type:Number
230
+ }
231
+ },
232
+ },
233
+ mobileDetection:{
234
+ usageExceed: {
235
+ type:Number
236
+ },
237
+ detectionArea: {
238
+ type:Array
239
+ }
240
+ },
241
+ autoTask:{
242
+ type:Boolean
243
+ }
244
+ },
245
+ rawVideoUpload: {
246
+ type: Boolean,
247
+ default:false
248
+ },
181
249
  },
182
250
  {
183
251
  strict: true,
@@ -86,6 +86,23 @@ const checklistlogSchema = new mongoose.Schema({
86
86
  type:Boolean,
87
87
  default:false
88
88
  },
89
+ approver:{
90
+ type:Array,
91
+ default:[]
92
+ },
93
+ sections:{
94
+ type:Array,
95
+ default:[]
96
+ },
97
+ userEmail: {
98
+ type: String
99
+ },
100
+ userName: {
101
+ type: String
102
+ },
103
+ coverage: {
104
+ type: String
105
+ },
89
106
  },
90
107
  {
91
108
  strict: true,
@@ -137,6 +137,12 @@ const checklistquestionconfigSchema = new mongoose.Schema({
137
137
  type: Boolean,
138
138
  default: false
139
139
  },
140
+ sectionOldName:{
141
+ type: String,
142
+ },
143
+ sectionNumber:{
144
+ type: Number,
145
+ },
140
146
  },
141
147
  {
142
148
  strict: true,
@@ -99,6 +99,12 @@ const client = new mongoose.Schema(
99
99
  type: String,
100
100
  },
101
101
  },
102
+ revopConfig:{
103
+ limit:{
104
+ type:Number,
105
+ default:5
106
+ },
107
+ },
102
108
  billingDetails: {
103
109
  tradeName: {
104
110
  type: String,
@@ -205,6 +211,14 @@ const client = new mongoose.Schema(
205
211
  type: Boolean,
206
212
  default: true
207
213
  },
214
+ traxAudit: {
215
+ type: Boolean,
216
+ default: false
217
+ },
218
+ trackAudit: {
219
+ type: Boolean,
220
+ default: false
221
+ },
208
222
  count:{
209
223
  type:Number,
210
224
  default:200
@@ -222,6 +236,9 @@ const client = new mongoose.Schema(
222
236
  trafficQueueName: {
223
237
  type: String,
224
238
  },
239
+ trackQueueName: {
240
+ type: String,
241
+ },
225
242
  traxQueueName: {
226
243
  unattendedCustomer :{
227
244
  type:String
@@ -237,6 +254,24 @@ const client = new mongoose.Schema(
237
254
  },
238
255
  cameraAngleChange:{
239
256
  type:String
257
+ },
258
+ hygiene:{
259
+ type:String
260
+ },
261
+ eyeTestCamera:{
262
+ type:String
263
+ },
264
+ cleaning:{
265
+ type:String
266
+ },
267
+ scrum:{
268
+ type:String
269
+ },
270
+ openClose:{
271
+ type:String
272
+ },
273
+ anomaly:{
274
+ type:String
240
275
  }
241
276
  }
242
277
  },
@@ -383,6 +418,39 @@ const client = new mongoose.Schema(
383
418
  type:Boolean,
384
419
  default:false
385
420
  },
421
+ isFootfallDirectoryAudit:{
422
+ type:Boolean,
423
+ default:false
424
+ },
425
+ isFootfallDirectoryLimit:{
426
+ type:Boolean,
427
+ default:false
428
+ },
429
+ isRevops:{
430
+ type:Boolean,
431
+ default:false
432
+ },
433
+ traxDateRange:{
434
+ type:Number,
435
+ default:30
436
+ },
437
+ trafficDateRange:{
438
+ type:Number,
439
+ default:180
440
+ },
441
+ streamBy:{
442
+ type: String,
443
+ enum: ["Rtsp", "Edge"],
444
+ default: "Rtsp"
445
+ },
446
+ trackerFF:{
447
+ type: Boolean,
448
+ default:true
449
+ },
450
+ isFootfallView:{
451
+ type: Boolean,
452
+ default:false
453
+ }
386
454
  },
387
455
  document: {
388
456
  addressProof: {
@@ -547,7 +615,54 @@ const client = new mongoose.Schema(
547
615
  message: 'List must have between 1 and 15 task.',
548
616
  },
549
617
  }
550
- }
618
+ },
619
+ traxRAWImageUpload: {
620
+ type: Boolean,
621
+ default:false
622
+ },
623
+ emailersConfig: {
624
+ daily: {
625
+ type: Boolean,
626
+ default:false
627
+ },
628
+ weekly: {
629
+ type: Boolean,
630
+ default:false
631
+ },
632
+ monthly: {
633
+ type: Boolean,
634
+ default:false
635
+ },
636
+ sendTo: {
637
+ type: Array,
638
+ },
639
+ },
640
+ clientConfigs: {
641
+ exportLimit: {
642
+ type: Number,
643
+ default: 10000
644
+ },
645
+ },
646
+ traxBlockMobileTimeUpdate: {
647
+ type: Boolean,
648
+ default:false
649
+ },
650
+ traxSectionSave: {
651
+ type: Boolean,
652
+ default:false
653
+ },
654
+ isCrestPlanogram: {
655
+ type: Boolean,
656
+ default:false
657
+ },
658
+ isTangoPlanogram: {
659
+ type: Boolean,
660
+ default:false
661
+ },
662
+ traxMonthlyComparison: {
663
+ type: Boolean,
664
+ default:true
665
+ },
551
666
  },
552
667
  {
553
668
  strict: true,
@@ -0,0 +1,18 @@
1
+ /**
2
+ * @name countryCurrencyModel
3
+ * @description planoCrestLog Schema
4
+ */
5
+
6
+ import mongoose from "mongoose";
7
+
8
+ const collection = new mongoose.Schema(
9
+ {
10
+ },
11
+ {
12
+ timestamps: true,
13
+ strict: false,
14
+ versionKey: false,
15
+ }
16
+ );
17
+
18
+ export default mongoose.model("countryCurrency", collection);
@@ -21,6 +21,9 @@ const downloadSchema = new mongoose.Schema({
21
21
  storeIds: {
22
22
  type: Array,
23
23
  },
24
+ userEmailList: {
25
+ type: Array,
26
+ },
24
27
  questions: {
25
28
  type: Array,
26
29
  },
@@ -92,12 +95,25 @@ const downloadSchema = new mongoose.Schema({
92
95
  },
93
96
  toDate: {
94
97
  type: String,
95
- },
98
+ },
99
+ checkListType:{
100
+ type: String,
101
+ },
102
+ checkListDescription:{
103
+ type: String,
104
+ },
105
+ checkListName:{
106
+ type: String,
107
+ },
96
108
  downloadInsertFrom: {
97
109
  type: String,
98
110
  enum: ['','report','gallery','dashboard'],
99
111
  default:''
100
112
  },
113
+ filtertype: {
114
+ type: String,
115
+ enum: ['Clusters','Teams']
116
+ },
101
117
  },
102
118
  {
103
119
  strict: true,