tango-api-schema 2.1.18 → 2.1.20

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 (48) hide show
  1. package/index.js +95 -91
  2. package/package.json +27 -27
  3. package/schema/applicationDefault.model.js +24 -24
  4. package/schema/assignAudit.model.js +55 -55
  5. package/schema/auditLogs.model.js +72 -72
  6. package/schema/auditStoreData.model.js +55 -55
  7. package/schema/auditUserWallet.model.js +75 -75
  8. package/schema/authentication.model.js +27 -27
  9. package/schema/basePricing.model.js +29 -29
  10. package/schema/billing.model.js +99 -99
  11. package/schema/binaryAudit.model.js +84 -84
  12. package/schema/camera.model.js +146 -146
  13. package/schema/client.model.js +497 -518
  14. package/schema/clientRequest.model.js +40 -40
  15. package/schema/countryCodes.model.js +28 -28
  16. package/schema/dailyPricing.model.js +88 -88
  17. package/schema/dataMismatchDraft.model.js +22 -22
  18. package/schema/edgeAppVersion.model.js +33 -33
  19. package/schema/edgeappAuth.model.js +32 -32
  20. package/schema/externalParameter.model.js +202 -202
  21. package/schema/eyetest.model.js +18 -18
  22. package/schema/fitting.model.js +52 -52
  23. package/schema/group.model.js +36 -36
  24. package/schema/infraReason.model.js +44 -44
  25. package/schema/internalAuth.model.js +36 -36
  26. package/schema/invoice.model.js +106 -106
  27. package/schema/ipLogs.model.js +39 -39
  28. package/schema/lead.model.js +78 -78
  29. package/schema/lowcountReason.model.js +44 -44
  30. package/schema/mailOnlyuser.model.js +40 -0
  31. package/schema/matLog.model.js +26 -26
  32. package/schema/otp.model.js +27 -27
  33. package/schema/paymentAccount.model.js +60 -60
  34. package/schema/quality.model.js +57 -57
  35. package/schema/report.model.js +30 -30
  36. package/schema/standaredRole.model.js +56 -56
  37. package/schema/store.model.js +325 -325
  38. package/schema/storeAudit.model.js +61 -61
  39. package/schema/storeEmpDetection.model.js +61 -61
  40. package/schema/tagging.model.js +44 -44
  41. package/schema/tangoTicket.model.js +210 -210
  42. package/schema/transaction.model.js +54 -54
  43. package/schema/traxAuditData.model.js +60 -60
  44. package/schema/user.model.js +95 -95
  45. package/schema/userAssignedStore.model.js +41 -41
  46. package/schema/userAudit.model.js +76 -76
  47. package/schema/userEmpDetection.model.js +74 -74
  48. package/schema/workstation.model.js +77 -77
@@ -1,518 +1,497 @@
1
- import mongoose from 'mongoose';
2
- import mongooseUniqueValidator from 'mongoose-unique-validator';
3
-
4
- const client = new mongoose.Schema(
5
- {
6
- clientName: {
7
- type: String,
8
- trim: true,
9
- required: true,
10
- unique: true,
11
- },
12
- clientId: {
13
- type: String,
14
- trim: true,
15
- required: true,
16
- unique: true,
17
- },
18
- tangoId: {
19
- type: Number,
20
- require: true,
21
- },
22
- userId: {
23
- type: mongoose.Types.ObjectId,
24
- required: true,
25
- },
26
- planDetails: {
27
- totalStores: {
28
- type: String,
29
- require: true,
30
- },
31
- storeSize: {
32
- type: String,
33
- require: true,
34
- },
35
- totalCamera: {
36
- type: Number,
37
- require: true,
38
- },
39
- subscriptionPeriod: {
40
- type: String,
41
- enum: ['monthly','quarterly','annual'],
42
- },
43
- subscriptionType: {
44
- type: String,
45
- enum: ['free','premium','enterprise'],
46
- },
47
- paymentStatus: {
48
- type: String,
49
- enum: ['free','trial','paid','unbilled','due'],
50
- },
51
- product: [
52
- {
53
- productName: {
54
- type: String,
55
- },
56
- trialStartDate: {
57
- type: Date,
58
- },
59
- trialEndDate: {
60
- type: Date,
61
- },
62
- subscribedDate: {
63
- type: Date
64
- },
65
- status: {
66
- type: String,
67
- enum: ['trial','live'],
68
- default: 'trial'
69
- }
70
- }
71
- ],
72
- },
73
- status: {
74
- type: String,
75
- enum: ['active','deactive','hold','suspended'],
76
- default: 'active'
77
- },
78
- profileDetails: {
79
- logo: {
80
- type: String
81
- },
82
- registeredCompanyName: {
83
- type: String,
84
- },
85
- industry: {
86
- type: String,
87
- enum: ['apparel','footwear','skincare','foodandbeverage','techstartup','grooming','leather','furniture','mattress','customerelectronics','jewellery','interiordesign','ev','fintech','perfume','fashionaccessories','innerwear','nutrition','fashionandlifestyle','eyewear']
88
- },
89
- clientType: {
90
- type: String,
91
- enum: ['partnership','proprietorship','pvtltd','person']
92
- },
93
- registeredAddress: {
94
- type: String,
95
- },
96
- headQuarters: {
97
- type: String,
98
- },
99
- website: {
100
- type: String,
101
- },
102
- },
103
- billingDetails: {
104
- tradeName: {
105
- type: String,
106
- },
107
- gstNumber: {
108
- type: String,
109
- },
110
- authorityName: {
111
- type: String,
112
- },
113
- authorityEmail: {
114
- type: String,
115
- },
116
- billingAddress: {
117
- type: String,
118
- },
119
- companyName: {
120
- type: String,
121
- },
122
- PlaceOfSupply: {
123
- type: String,
124
- },
125
- },
126
- signatoryDetail: {
127
- name: {
128
- type: String,
129
- },
130
- email: {
131
- type: String,
132
- },
133
- number: {
134
- type: String,
135
- },
136
- designation: {
137
- type: String,
138
- },
139
- },
140
- ticketConfigs: {
141
- installationReAssign: {
142
- type: Number,
143
- default:0
144
- },
145
- downTimeType: {
146
- type: Number, // 0 for one camera and 1 for multi cameras
147
- enum:[0,1],
148
- default:0
149
- },
150
- infraReport:{
151
- start:{
152
- type:String,
153
- default:"09:00"
154
- },
155
- end:{
156
- type:String,
157
- default:"19:00"
158
-
159
- }
160
- },
161
- infraReport:{
162
- start:{
163
- type:String,
164
- default:"9:00"
165
- },
166
- end:{
167
- type:String,
168
- default:"19:00"
169
-
170
- }
171
- },
172
- infraDownTime: {
173
- type: Number,
174
- default:1,
175
- enum:[1,2,3,4,5,6,8,9,10,11,12]
176
- },
177
- MinFilesCount:{
178
- type: Number,
179
- default:0
180
- },
181
- rcaTicketAssign:{// root cause anlysis
182
- type: Number,
183
- enum:[1,2,3,4,5,6,8,9,10,11,12],
184
- default:1
185
- },
186
- refreshAlert:{
187
- type: Number,
188
- default:1,
189
- enum:[0,1,2,3,4,5,6,8,9,10]
190
- },
191
- statusCheckAlert:{
192
- type: Number,
193
- default:1,
194
- enum:[1,2,3,4,5,6,8,9,10,11,12]
195
- },
196
- accuracyPercentage: {
197
- type: Number, // in less than
198
- default:10
199
- },
200
- reTrain: {
201
- type: Number, // calculate no of past days
202
- enum:[1,2,3,4,5,6,8,9,10,11,12],
203
- default:1
204
- },
205
- emailAlert:{
206
- type: Boolean,
207
- default: false
208
- },
209
- matConfig:{
210
- enabled:{
211
- type: Boolean,
212
- default: false
213
- }
214
- }
215
- },
216
- reportConfigs: {
217
- report: {
218
- type: Boolean,
219
- },
220
- reportName: {
221
- type: String,
222
- },
223
- },
224
- auditConfigs: {
225
- audit: {
226
- type: Boolean,
227
- default: true
228
- },
229
- count:{
230
- type:Number,
231
- default:200
232
- },
233
- ratio:{
234
- type:Number,
235
- default:0.75,
236
- },
237
- queueName: {
238
- type: String,
239
- },
240
- zoneQueueName: {
241
- type: String,
242
- },
243
- trafficQueueName: {
244
- type: String,
245
- },
246
- traxQueueName: {
247
- unattendedCustomer :{
248
- type:String
249
- },
250
- leftInMiddle:{
251
- type:String
252
- },
253
- uniformDetection:{
254
- type:String
255
- },
256
- mobileDetection:{
257
- type:String
258
- },
259
- cameraAngleChange:{
260
- type:String
261
- }
262
- }
263
- },
264
- assignedUsers: {
265
- csm: {
266
- type: Object,
267
- },
268
- ops: {
269
- type: Array,
270
- },
271
- },
272
- ssoLogin: {
273
- isEnable: {
274
- type: Boolean,
275
- default: false,
276
- },
277
- domainName: {
278
- type: Array,
279
- },
280
- },
281
- featureConfigs: {
282
- open: {
283
- type: String,
284
- default: "10:00:00"
285
- },
286
- close: {
287
- type: String,
288
- default: "23:00:00"
289
- },
290
- infraAlert: {
291
- condition: {
292
- type: String,
293
- default:"<"
294
- },
295
- value: {
296
- type: Number,
297
- default:"1"
298
- },
299
- },
300
- bouncedLimit: {
301
- condition: {
302
- type: String,
303
- default:'<='
304
- },
305
- value: {
306
- type: Number,
307
- default: "1"
308
- },
309
- },
310
- missedOpportunityFrom: {
311
- condition: {
312
- type: String,
313
- default: '>'
314
- },
315
- value: {
316
- type: Number,
317
- default:'1'
318
- },
319
- },
320
- missedOpportunityTo: {
321
- condition: {
322
- type: String,
323
- default:"<="
324
- },
325
- value: {
326
- type: Number,
327
- default:"5"
328
- },
329
- },
330
- conversion: {
331
- condition: {
332
- type: String,
333
- default:">"
334
- },
335
- value: {
336
- type: Number,
337
- default:'5'
338
- },
339
- },
340
- billableCalculation: {
341
- type: String,
342
- default:"engagers-count"
343
- },
344
- missedOpportunityCalculation: {
345
- type: String,
346
- default:"engagers-conversion"
347
- },
348
- conversionCalculation: {
349
- type: String,
350
- default:"engagers-count"
351
- },
352
- isNormalized: {
353
- type: Boolean,
354
- default: false,
355
- },
356
- isPasserByData: {
357
- type: Boolean,
358
- default: false,
359
- },
360
- isFootfallDirectory: {
361
- type: Boolean,
362
- default: false,
363
- },
364
- isExcludedArea:{
365
- type:Boolean,
366
- default:true
367
- },
368
- updateFeatureConfig:{
369
- type:Boolean,
370
- default:true
371
- },
372
- isCameraDisabled:{
373
- type:Boolean,
374
- default:false
375
- },
376
- isbillingDisabled:{
377
- type:Boolean,
378
- default:false
379
- },
380
- isNewDashboard:{
381
- type:Boolean,
382
- default:false
383
- },
384
- },
385
- document: {
386
- addressProof: {
387
- path: {
388
- type: String,
389
-
390
- },
391
- },
392
- gst: {
393
- number: {
394
- type: String,
395
- },
396
- path: {
397
- type: String,
398
-
399
- },
400
- },
401
- pan: {
402
- number: {
403
- type: String,
404
- },
405
- path: {
406
- type: String,
407
-
408
- },
409
- },
410
- cin: {
411
- number: {
412
- type: String,
413
- },
414
- path: {
415
- type: String,
416
-
417
- },
418
- },
419
-
420
- },
421
- price:{
422
- type:Number
423
- },
424
- paymentInvoice: {
425
- proRate: {
426
- type: String,
427
- enum: ['before15','after15'],
428
- default: 'before15',
429
- },
430
- paymentType: {
431
- type:String,
432
- enum: ['online','banktransfer'],
433
- default: 'online',
434
- },
435
- paymentCycle: {
436
- type:String,
437
- },
438
- currencyType: {
439
- type:String
440
- },
441
- invoiceTo:{
442
- type:Array
443
- },
444
- paymentAgreementTo:{
445
- type:Array
446
- },
447
- invoiceOn: {
448
- type:String,
449
- enum: ['lastday','25th'],
450
- default: '25th',
451
- },
452
- extendPaymentPeriodDays: {
453
- type:Number,
454
- default: 5,
455
- },
456
- invoiceCC:{
457
- type:Array
458
- },
459
- PomNumber:{
460
- type:String
461
- }
462
- },
463
- priceType:{
464
- type:String,
465
- enum: ['standard','step'],
466
- default: 'standard',
467
- },
468
- virtualAccount:{
469
- accountNo:{
470
- type:String
471
- },
472
- ifscCode:{
473
- type:String
474
- },
475
- swiftCode:{
476
- type:String
477
- },
478
- branch:{
479
- type:String
480
- }
481
- },
482
- clientApi: {
483
- apiKey: {
484
- type: String,
485
- default: null,
486
- },
487
- status: {
488
- type: Boolean,
489
- default: false,
490
- },
491
- allowedIps: {
492
- type: Array,
493
- default: [ '*' ],
494
- },
495
- },
496
- notifyCsmAssign: {
497
- type: Boolean,
498
- default:false
499
- },
500
- edgeApp:{
501
- password:{
502
- type:String,
503
- },
504
- },
505
- averageTransactionValue: {
506
- type: String,
507
- default: ''
508
- },
509
- },
510
- {
511
- strict: true,
512
- versionKey: false,
513
- timestamps: true,
514
- },
515
- );
516
-
517
- client.plugin( mongooseUniqueValidator );
518
- export default mongoose.model( 'client', client );
1
+ import mongoose from 'mongoose';
2
+ import mongooseUniqueValidator from 'mongoose-unique-validator';
3
+
4
+ const client = new mongoose.Schema(
5
+ {
6
+ clientName: {
7
+ type: String,
8
+ trim: true,
9
+ required: true,
10
+ unique: true,
11
+ },
12
+ clientId: {
13
+ type: String,
14
+ trim: true,
15
+ required: true,
16
+ unique: true,
17
+ },
18
+ tangoId: {
19
+ type: Number,
20
+ require: true,
21
+ },
22
+ userId: {
23
+ type: mongoose.Types.ObjectId,
24
+ required: true,
25
+ },
26
+ planDetails: {
27
+ totalStores: {
28
+ type: String,
29
+ require: true,
30
+ },
31
+ storeSize: {
32
+ type: String,
33
+ require: true,
34
+ },
35
+ totalCamera: {
36
+ type: Number,
37
+ require: true,
38
+ },
39
+ subscriptionPeriod: {
40
+ type: String,
41
+ enum: ['monthly','quarterly','annual'],
42
+ },
43
+ subscriptionType: {
44
+ type: String,
45
+ enum: ['free','premium','enterprise'],
46
+ },
47
+ paymentStatus: {
48
+ type: String,
49
+ enum: ['free','trial','paid','unbilled','due'],
50
+ },
51
+ product: [
52
+ {
53
+ productName: {
54
+ type: String,
55
+ },
56
+ trialStartDate: {
57
+ type: Date,
58
+ },
59
+ trialEndDate: {
60
+ type: Date,
61
+ },
62
+ subscribedDate: {
63
+ type: Date
64
+ },
65
+ status: {
66
+ type: String,
67
+ enum: ['trial','live'],
68
+ default: 'trial'
69
+ }
70
+ }
71
+ ],
72
+ },
73
+ status: {
74
+ type: String,
75
+ enum: ['active','deactive','hold','suspended'],
76
+ default: 'active'
77
+ },
78
+ profileDetails: {
79
+ logo: {
80
+ type: String
81
+ },
82
+ registeredCompanyName: {
83
+ type: String,
84
+ },
85
+ industry: {
86
+ type: String,
87
+ enum: ['apparel','footwear','skincare','foodandbeverage','techstartup','grooming','leather','furniture','mattress','customerelectronics','jewellery','interiordesign','ev','fintech','perfume','fashionaccessories','innerwear','nutrition','fashionandlifestyle','eyewear']
88
+ },
89
+ clientType: {
90
+ type: String,
91
+ enum: ['partnership','proprietorship','pvtltd','person']
92
+ },
93
+ registeredAddress: {
94
+ type: String,
95
+ },
96
+ headQuarters: {
97
+ type: String,
98
+ },
99
+ website: {
100
+ type: String,
101
+ },
102
+ },
103
+ billingDetails: {
104
+ tradeName: {
105
+ type: String,
106
+ },
107
+ gstNumber: {
108
+ type: String,
109
+ },
110
+ authorityName: {
111
+ type: String,
112
+ },
113
+ authorityEmail: {
114
+ type: String,
115
+ },
116
+ billingAddress: {
117
+ type: String,
118
+ },
119
+ companyName: {
120
+ type: String,
121
+ },
122
+ PlaceOfSupply: {
123
+ type: String,
124
+ },
125
+ },
126
+ signatoryDetail: {
127
+ name: {
128
+ type: String,
129
+ },
130
+ email: {
131
+ type: String,
132
+ },
133
+ number: {
134
+ type: String,
135
+ },
136
+ designation: {
137
+ type: String,
138
+ },
139
+ },
140
+ ticketConfigs: {
141
+ installationReAssign: {
142
+ type: Number,
143
+ default:0
144
+ },
145
+ downTimeType: {
146
+ type: Number, // 0 for one camera and 1 for multi cameras
147
+ enum:[0,1],
148
+ default:0
149
+ },
150
+ infraReport:{},
151
+ infraDownTime: {
152
+ type: Number,
153
+ default:1,
154
+ enum:[1,2,3,4,5,6,8,9,10,11,12]
155
+ },
156
+ MinFilesCount:{
157
+ type: Number,
158
+ default:0
159
+ },
160
+ rcaTicketAssign:{// root cause anlysis
161
+ type: Number,
162
+ enum:[1,2,3,4,5,6,8,9,10,11,12],
163
+ default:1
164
+ },
165
+ refreshAlert:{
166
+ type: Number,
167
+ default:1,
168
+ enum:[0,1,2,3,4,5,6,8,9,10]
169
+ },
170
+ statusCheckAlert:{
171
+ type: Number,
172
+ default:1,
173
+ enum:[1,2,3,4,5,6,8,9,10,11,12]
174
+ },
175
+ accuracyPercentage: {
176
+ type: Number, // in less than
177
+ default:10
178
+ },
179
+ reTrain: {
180
+ type: Number, // calculate no of past days
181
+ enum:[1,2,3,4,5,6,8,9,10,11,12],
182
+ default:1
183
+ },
184
+ emailAlert:{
185
+ type: Boolean,
186
+ default: false
187
+ },
188
+ matConfig:{
189
+ enabled:{
190
+ type: Boolean,
191
+ default: false
192
+ }
193
+ }
194
+ },
195
+ reportConfigs: {
196
+ report: {
197
+ type: Boolean,
198
+ },
199
+ reportName: {
200
+ type: String,
201
+ },
202
+ },
203
+ auditConfigs: {
204
+ audit: {
205
+ type: Boolean,
206
+ default: true
207
+ },
208
+ count:{
209
+ type:Number,
210
+ default:200
211
+ },
212
+ ratio:{
213
+ type:Number,
214
+ default:0.75,
215
+ },
216
+ queueName: {
217
+ type: String,
218
+ },
219
+ zoneQueueName: {
220
+ type: String,
221
+ },
222
+ trafficQueueName: {
223
+ type: String,
224
+ },
225
+ traxQueueName: {
226
+ unattendedCustomer :{
227
+ type:String
228
+ },
229
+ leftInMiddle:{
230
+ type:String
231
+ },
232
+ uniformDetection:{
233
+ type:String
234
+ },
235
+ mobileDetection:{
236
+ type:String
237
+ },
238
+ cameraAngleChange:{
239
+ type:String
240
+ }
241
+ }
242
+ },
243
+ assignedUsers: {
244
+ csm: {
245
+ type: Object,
246
+ },
247
+ ops: {
248
+ type: Array,
249
+ },
250
+ },
251
+ ssoLogin: {
252
+ isEnable: {
253
+ type: Boolean,
254
+ default: false,
255
+ },
256
+ domainName: {
257
+ type: Array,
258
+ },
259
+ },
260
+ featureConfigs: {
261
+ open: {
262
+ type: String,
263
+ default: "10:00:00"
264
+ },
265
+ close: {
266
+ type: String,
267
+ default: "23:00:00"
268
+ },
269
+ infraAlert: {
270
+ condition: {
271
+ type: String,
272
+ default:"<"
273
+ },
274
+ value: {
275
+ type: Number,
276
+ default:"1"
277
+ },
278
+ },
279
+ bouncedLimit: {
280
+ condition: {
281
+ type: String,
282
+ default:'<='
283
+ },
284
+ value: {
285
+ type: Number,
286
+ default: "1"
287
+ },
288
+ },
289
+ missedOpportunityFrom: {
290
+ condition: {
291
+ type: String,
292
+ default: '>'
293
+ },
294
+ value: {
295
+ type: Number,
296
+ default:'1'
297
+ },
298
+ },
299
+ missedOpportunityTo: {
300
+ condition: {
301
+ type: String,
302
+ default:"<="
303
+ },
304
+ value: {
305
+ type: Number,
306
+ default:"5"
307
+ },
308
+ },
309
+ conversion: {
310
+ condition: {
311
+ type: String,
312
+ default:">"
313
+ },
314
+ value: {
315
+ type: Number,
316
+ default:'5'
317
+ },
318
+ },
319
+ billableCalculation: {
320
+ type: String,
321
+ default:"engagers-count"
322
+ },
323
+ missedOpportunityCalculation: {
324
+ type: String,
325
+ default:"engagers-conversion"
326
+ },
327
+ conversionCalculation: {
328
+ type: String,
329
+ default:"engagers-count"
330
+ },
331
+ isNormalized: {
332
+ type: Boolean,
333
+ default: false,
334
+ },
335
+ isPasserByData: {
336
+ type: Boolean,
337
+ default: false,
338
+ },
339
+ isFootfallDirectory: {
340
+ type: Boolean,
341
+ default: false,
342
+ },
343
+ isExcludedArea:{
344
+ type:Boolean,
345
+ default:true
346
+ },
347
+ updateFeatureConfig:{
348
+ type:Boolean,
349
+ default:true
350
+ },
351
+ isCameraDisabled:{
352
+ type:Boolean,
353
+ default:false
354
+ },
355
+ isbillingDisabled:{
356
+ type:Boolean,
357
+ default:false
358
+ },
359
+ isNewDashboard:{
360
+ type:Boolean,
361
+ default:false
362
+ },
363
+ },
364
+ document: {
365
+ addressProof: {
366
+ path: {
367
+ type: String,
368
+
369
+ },
370
+ },
371
+ gst: {
372
+ number: {
373
+ type: String,
374
+ },
375
+ path: {
376
+ type: String,
377
+
378
+ },
379
+ },
380
+ pan: {
381
+ number: {
382
+ type: String,
383
+ },
384
+ path: {
385
+ type: String,
386
+
387
+ },
388
+ },
389
+ cin: {
390
+ number: {
391
+ type: String,
392
+ },
393
+ path: {
394
+ type: String,
395
+
396
+ },
397
+ },
398
+
399
+ },
400
+ price:{
401
+ type:Number
402
+ },
403
+ paymentInvoice: {
404
+ proRate: {
405
+ type: String,
406
+ enum: ['before15','after15'],
407
+ default: 'before15',
408
+ },
409
+ paymentType: {
410
+ type:String,
411
+ enum: ['online','banktransfer'],
412
+ default: 'online',
413
+ },
414
+ paymentCycle: {
415
+ type:String,
416
+ },
417
+ currencyType: {
418
+ type:String
419
+ },
420
+ invoiceTo:{
421
+ type:Array
422
+ },
423
+ paymentAgreementTo:{
424
+ type:Array
425
+ },
426
+ invoiceOn: {
427
+ type:String,
428
+ enum: ['lastday','25th'],
429
+ default: '25th',
430
+ },
431
+ extendPaymentPeriodDays: {
432
+ type:Number,
433
+ default: 5,
434
+ },
435
+ invoiceCC:{
436
+ type:Array
437
+ },
438
+ PomNumber:{
439
+ type:String
440
+ }
441
+ },
442
+ priceType:{
443
+ type:String,
444
+ enum: ['standard','step'],
445
+ default: 'standard',
446
+ },
447
+ virtualAccount:{
448
+ accountNo:{
449
+ type:String
450
+ },
451
+ ifscCode:{
452
+ type:String
453
+ },
454
+ swiftCode:{
455
+ type:String
456
+ },
457
+ branch:{
458
+ type:String
459
+ }
460
+ },
461
+ clientApi: {
462
+ apiKey: {
463
+ type: String,
464
+ default: null,
465
+ },
466
+ status: {
467
+ type: Boolean,
468
+ default: false,
469
+ },
470
+ allowedIps: {
471
+ type: Array,
472
+ default: [ '*' ],
473
+ },
474
+ },
475
+ notifyCsmAssign: {
476
+ type: Boolean,
477
+ default:false
478
+ },
479
+ edgeApp:{
480
+ password:{
481
+ type:String,
482
+ },
483
+ },
484
+ averageTransactionValue: {
485
+ type: String,
486
+ default: ''
487
+ },
488
+ },
489
+ {
490
+ strict: true,
491
+ versionKey: false,
492
+ timestamps: true,
493
+ },
494
+ );
495
+
496
+ client.plugin( mongooseUniqueValidator );
497
+ export default mongoose.model( 'client', client );