payservedb 4.5.0 → 4.5.2

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 (86) hide show
  1. package/.env +2 -2
  2. package/index.js +152 -152
  3. package/package.json +17 -17
  4. package/src/models/account.js +36 -36
  5. package/src/models/analog_water_billing.js +58 -58
  6. package/src/models/apilog.js +18 -18
  7. package/src/models/archivedapilog.js +18 -18
  8. package/src/models/archivedauditlog.js +83 -83
  9. package/src/models/asset.js +34 -34
  10. package/src/models/auditlog.js +83 -83
  11. package/src/models/bankdetails.js +40 -40
  12. package/src/models/budget.js +33 -33
  13. package/src/models/budgetCategory.js +19 -19
  14. package/src/models/campaigns.js +72 -72
  15. package/src/models/cashpayment.js +262 -262
  16. package/src/models/combinedUnits.js +62 -62
  17. package/src/models/company.js +53 -53
  18. package/src/models/country_tax.js +42 -42
  19. package/src/models/currency_settings.js +39 -39
  20. package/src/models/customer.js +194 -194
  21. package/src/models/default_payment_details.js +17 -17
  22. package/src/models/dutyroster.js +39 -39
  23. package/src/models/email.js +24 -24
  24. package/src/models/entry_exit.js +53 -53
  25. package/src/models/expense.js +55 -55
  26. package/src/models/facility.js +60 -60
  27. package/src/models/facility_payment_details.js +20 -20
  28. package/src/models/facilityasset.js +25 -25
  29. package/src/models/faq.js +18 -18
  30. package/src/models/guard.js +47 -47
  31. package/src/models/handover.js +241 -241
  32. package/src/models/invoice.js +251 -251
  33. package/src/models/item_inspection.js +67 -67
  34. package/src/models/leaseagreement.js +168 -156
  35. package/src/models/leasetemplate.js +17 -17
  36. package/src/models/levy.js +72 -72
  37. package/src/models/levy_invoice_settings.js +26 -26
  38. package/src/models/levycontract.js +77 -65
  39. package/src/models/levytype.js +23 -23
  40. package/src/models/maintenance_service_vendor.js +38 -38
  41. package/src/models/maintenance_services.js +17 -17
  42. package/src/models/maintenancerequisition.js +31 -31
  43. package/src/models/message.js +38 -38
  44. package/src/models/module.js +21 -21
  45. package/src/models/notification.js +24 -24
  46. package/src/models/penalty.js +76 -76
  47. package/src/models/purchase_orders.js +0 -0
  48. package/src/models/purchase_requests.js +0 -0
  49. package/src/models/quotations.js +0 -0
  50. package/src/models/refresh_token.js +23 -23
  51. package/src/models/reminder.js +161 -161
  52. package/src/models/report.js +13 -13
  53. package/src/models/resident.js +121 -121
  54. package/src/models/service_charge_invoice_upload.js +42 -42
  55. package/src/models/service_charge_payments.js +27 -27
  56. package/src/models/servicerequest.js +55 -55
  57. package/src/models/settings.js +62 -62
  58. package/src/models/smart_meter_daily_consumption.js +44 -44
  59. package/src/models/sms_africastalking.js +20 -20
  60. package/src/models/sms_meliora.js +16 -16
  61. package/src/models/staff.js +36 -36
  62. package/src/models/stocksandspare.js +34 -34
  63. package/src/models/suppliers.js +110 -0
  64. package/src/models/tickets.js +109 -109
  65. package/src/models/unitasset.js +25 -25
  66. package/src/models/units.js +70 -70
  67. package/src/models/user.js +94 -94
  68. package/src/models/valueaddedservices.js +36 -36
  69. package/src/models/vas_invoices_upload.js +50 -50
  70. package/src/models/vas_payments.js +24 -24
  71. package/src/models/vasinvoice.js +159 -159
  72. package/src/models/vasvendor.js +57 -57
  73. package/src/models/visitLog.js +86 -86
  74. package/src/models/visitor.js +63 -63
  75. package/src/models/waitlist.js +45 -45
  76. package/src/models/water_invoice.js +192 -192
  77. package/src/models/water_meter_account.js +74 -74
  78. package/src/models/water_meter_communication.js +17 -17
  79. package/src/models/water_meter_concentrator.js +59 -59
  80. package/src/models/water_meter_iot_cards.js +34 -34
  81. package/src/models/water_meter_manufacturer.js +35 -35
  82. package/src/models/water_meter_settings.js +88 -88
  83. package/src/models/water_meter_size.js +15 -15
  84. package/src/models/water_meters.js +110 -110
  85. package/src/models/water_meters_delivery.js +76 -76
  86. package/src/models/workorder.js +49 -49
@@ -1,74 +1,74 @@
1
- const mongoose = require('mongoose');
2
-
3
- const waterMeterAccountSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- },
9
- account_no: {
10
- type: String,
11
- required: true,
12
- unique: true,
13
- trim: true
14
- },
15
- customerId: {
16
- type: mongoose.Schema.Types.ObjectId,
17
- ref: 'Customer',
18
- },
19
- customerName: {
20
- type: String,
21
- required: true,
22
- trim: true
23
- },
24
- phoneNumber: {
25
- type: String,
26
- required: true,
27
- trim: true
28
- },
29
- meterNumber: {
30
- type: String,
31
- required: true,
32
- unique: true,
33
- trim: true
34
- },
35
- unitId: {
36
- type: mongoose.Schema.Types.ObjectId,
37
- ref: 'Unit',
38
- },
39
- payment_type: {
40
- type: String,
41
- required: true,
42
- enum: ['Postpaid', 'Prepaid']
43
- },
44
- previousReading: {
45
- type: Number,
46
- required: true,
47
- default: 0
48
- },
49
- currentReading: {
50
- type: Number,
51
- required: true
52
- },
53
- status: {
54
- type: String,
55
- required: true,
56
- enum: ['Active', 'Inactive'],
57
- default: 'Active'
58
- },
59
- created_on: {
60
- type: Date,
61
- required: true,
62
- default: Date.now
63
- },
64
- meter_id: {
65
- type: mongoose.Schema.Types.ObjectId,
66
- ref: 'Meter',
67
- }
68
- }, {
69
- timestamps: true
70
- });
71
-
72
- const WaterMeterAccount = mongoose.model('WaterMeterAccount', waterMeterAccountSchema);
73
-
74
- module.exports = WaterMeterAccount;
1
+ const mongoose = require('mongoose');
2
+
3
+ const waterMeterAccountSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ },
9
+ account_no: {
10
+ type: String,
11
+ required: true,
12
+ unique: true,
13
+ trim: true
14
+ },
15
+ customerId: {
16
+ type: mongoose.Schema.Types.ObjectId,
17
+ ref: 'Customer',
18
+ },
19
+ customerName: {
20
+ type: String,
21
+ required: true,
22
+ trim: true
23
+ },
24
+ phoneNumber: {
25
+ type: String,
26
+ required: true,
27
+ trim: true
28
+ },
29
+ meterNumber: {
30
+ type: String,
31
+ required: true,
32
+ unique: true,
33
+ trim: true
34
+ },
35
+ unitId: {
36
+ type: mongoose.Schema.Types.ObjectId,
37
+ ref: 'Unit',
38
+ },
39
+ payment_type: {
40
+ type: String,
41
+ required: true,
42
+ enum: ['Postpaid', 'Prepaid']
43
+ },
44
+ previousReading: {
45
+ type: Number,
46
+ required: true,
47
+ default: 0
48
+ },
49
+ currentReading: {
50
+ type: Number,
51
+ required: true
52
+ },
53
+ status: {
54
+ type: String,
55
+ required: true,
56
+ enum: ['Active', 'Inactive'],
57
+ default: 'Active'
58
+ },
59
+ created_on: {
60
+ type: Date,
61
+ required: true,
62
+ default: Date.now
63
+ },
64
+ meter_id: {
65
+ type: mongoose.Schema.Types.ObjectId,
66
+ ref: 'Meter',
67
+ }
68
+ }, {
69
+ timestamps: true
70
+ });
71
+
72
+ const WaterMeterAccount = mongoose.model('WaterMeterAccount', waterMeterAccountSchema);
73
+
74
+ module.exports = WaterMeterAccount;
@@ -1,18 +1,18 @@
1
- const mongoose = require('mongoose');
2
-
3
- const protocolSchema = new mongoose.Schema({
4
- name: {
5
- type: String,
6
- required: true,
7
- unique: true,
8
- trim: true,
9
- uppercase: true,
10
- // Example: TCP, GPRS, API, etc.
11
- }
12
- }, {
13
- timestamps: true
14
- });
15
-
16
- const MeterProtocol = mongoose.model('MeterProtocol', protocolSchema);
17
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const protocolSchema = new mongoose.Schema({
4
+ name: {
5
+ type: String,
6
+ required: true,
7
+ unique: true,
8
+ trim: true,
9
+ uppercase: true,
10
+ // Example: TCP, GPRS, API, etc.
11
+ }
12
+ }, {
13
+ timestamps: true
14
+ });
15
+
16
+ const MeterProtocol = mongoose.model('MeterProtocol', protocolSchema);
17
+
18
18
  module.exports = MeterProtocol;
@@ -1,60 +1,60 @@
1
- const mongoose = require('mongoose');
2
- const concentratorSchema = new mongoose.Schema({
3
- serialNumber: {
4
- type: String,
5
- required: true,
6
- trim: true,
7
- unique: true
8
- },
9
- manufacturer: {
10
- type: mongoose.Schema.Types.ObjectId,
11
- ref: 'MeterManufacturer',
12
- },
13
- range: {
14
- type: Number,
15
- min: 0
16
- },
17
- isInstalled: {
18
- type: Boolean,
19
- default: false
20
- },
21
- isFaulty: {
22
- type: Boolean,
23
- default: false
24
- },
25
- inStock: {
26
- type: Boolean,
27
- default: true
28
- },
29
- status: {
30
- type: String,
31
- required: true,
32
- enum: ['Online', 'Offline', 'Maintenance'],
33
- default: 'Offline'
34
- },
35
- facilityId: [{
36
- type: mongoose.Schema.Types.ObjectId,
37
- ref: 'Facility',
38
- }],
39
- location: {
40
- city: {
41
- type: String,
42
- trim: true
43
- },
44
- latitude: {
45
- type: Number,
46
- min: -90,
47
- max: 90
48
- },
49
- longitude: {
50
- type: Number,
51
- min: -180,
52
- max: 180
53
- }
54
- }
55
- }, {
56
- timestamps: true
57
- });
58
-
59
- const Concentrator = mongoose.model('Concentrator', concentratorSchema);
1
+ const mongoose = require('mongoose');
2
+ const concentratorSchema = new mongoose.Schema({
3
+ serialNumber: {
4
+ type: String,
5
+ required: true,
6
+ trim: true,
7
+ unique: true
8
+ },
9
+ manufacturer: {
10
+ type: mongoose.Schema.Types.ObjectId,
11
+ ref: 'MeterManufacturer',
12
+ },
13
+ range: {
14
+ type: Number,
15
+ min: 0
16
+ },
17
+ isInstalled: {
18
+ type: Boolean,
19
+ default: false
20
+ },
21
+ isFaulty: {
22
+ type: Boolean,
23
+ default: false
24
+ },
25
+ inStock: {
26
+ type: Boolean,
27
+ default: true
28
+ },
29
+ status: {
30
+ type: String,
31
+ required: true,
32
+ enum: ['Online', 'Offline', 'Maintenance'],
33
+ default: 'Offline'
34
+ },
35
+ facilityId: [{
36
+ type: mongoose.Schema.Types.ObjectId,
37
+ ref: 'Facility',
38
+ }],
39
+ location: {
40
+ city: {
41
+ type: String,
42
+ trim: true
43
+ },
44
+ latitude: {
45
+ type: Number,
46
+ min: -90,
47
+ max: 90
48
+ },
49
+ longitude: {
50
+ type: Number,
51
+ min: -180,
52
+ max: 180
53
+ }
54
+ }
55
+ }, {
56
+ timestamps: true
57
+ });
58
+
59
+ const Concentrator = mongoose.model('Concentrator', concentratorSchema);
60
60
  module.exports = Concentrator;
@@ -1,35 +1,35 @@
1
- const mongoose = require('mongoose');
2
-
3
- const iotCardSchema = new mongoose.Schema({
4
- serialNumber: {
5
- type: String,
6
- required: true,
7
- unique: true,
8
- trim: true
9
- },
10
- provider: {
11
- type: String,
12
- required: true,
13
- trim: true
14
- },
15
- concentrator: {
16
- type: mongoose.Schema.Types.ObjectId,
17
- ref: 'Concentrator'
18
- },
19
- location: {
20
- type: String,
21
- trim: true
22
- },
23
- status: {
24
- type: String,
25
- required: true,
26
- enum: ['active', 'inactive', 'suspended'],
27
- default: 'inactive'
28
- }
29
- }, {
30
- timestamps: true
31
- });
32
-
33
- const MeterIotCard = mongoose.model('MeterIotCard', iotCardSchema);
34
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const iotCardSchema = new mongoose.Schema({
4
+ serialNumber: {
5
+ type: String,
6
+ required: true,
7
+ unique: true,
8
+ trim: true
9
+ },
10
+ provider: {
11
+ type: String,
12
+ required: true,
13
+ trim: true
14
+ },
15
+ concentrator: {
16
+ type: mongoose.Schema.Types.ObjectId,
17
+ ref: 'Concentrator'
18
+ },
19
+ location: {
20
+ type: String,
21
+ trim: true
22
+ },
23
+ status: {
24
+ type: String,
25
+ required: true,
26
+ enum: ['active', 'inactive', 'suspended'],
27
+ default: 'inactive'
28
+ }
29
+ }, {
30
+ timestamps: true
31
+ });
32
+
33
+ const MeterIotCard = mongoose.model('MeterIotCard', iotCardSchema);
34
+
35
35
  module.exports = MeterIotCard;
@@ -1,36 +1,36 @@
1
- const mongoose = require('mongoose');
2
-
3
- const manufacturerSchema = new mongoose.Schema({
4
- name: {
5
- type: String,
6
- required: true,
7
- unique: true,
8
- trim: true
9
- },
10
- country: {
11
- type: String,
12
- required: true,
13
- trim: true
14
- },
15
- contactPerson: {
16
- type: String,
17
- trim: true
18
- },
19
- email: {
20
- type: String,
21
- required: true,
22
- trim: true,
23
- lowercase: true
24
- },
25
- phoneNumber: {
26
- type: String,
27
- required: true,
28
- trim: true
29
- }
30
- }, {
31
- timestamps: true
32
- });
33
-
34
- const MeterManufacturer = mongoose.model('MeterManufacturer', manufacturerSchema);
35
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const manufacturerSchema = new mongoose.Schema({
4
+ name: {
5
+ type: String,
6
+ required: true,
7
+ unique: true,
8
+ trim: true
9
+ },
10
+ country: {
11
+ type: String,
12
+ required: true,
13
+ trim: true
14
+ },
15
+ contactPerson: {
16
+ type: String,
17
+ trim: true
18
+ },
19
+ email: {
20
+ type: String,
21
+ required: true,
22
+ trim: true,
23
+ lowercase: true
24
+ },
25
+ phoneNumber: {
26
+ type: String,
27
+ required: true,
28
+ trim: true
29
+ }
30
+ }, {
31
+ timestamps: true
32
+ });
33
+
34
+ const MeterManufacturer = mongoose.model('MeterManufacturer', manufacturerSchema);
35
+
36
36
  module.exports = MeterManufacturer;
@@ -1,89 +1,89 @@
1
- const mongoose = require('mongoose');
2
-
3
- const waterMeterSettingsSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true
8
- },
9
- minAmount: {
10
- type: Number,
11
- required: true,
12
- default: 1
13
- },
14
- maxAmount: {
15
- type: Number,
16
- required: true,
17
- default: 10000
18
- },
19
- gracePeriod: {
20
- type: Number,
21
- required: true,
22
- default: 10
23
- },
24
- invoiceDay: {
25
- type: Number,
26
- required: true,
27
- min: 0,
28
- max: 30,
29
- default: 3
30
- },
31
- enforcePayment: {
32
- type: String,
33
- enum: ['yes', 'no'],
34
- required: true,
35
- default: 'no'
36
- },
37
- minimumPaymentAmount: {
38
- type: Number,
39
- required: true,
40
- default: 0
41
- },
42
- tariff: {
43
- type: String,
44
- enum: ['yes', 'no'],
45
- required: true,
46
- default: 'no'
47
- },
48
- tariffAmount: {
49
- type: Number,
50
- required: true,
51
- default: 0
52
- },
53
- tariffAmountSmart: {
54
- type: Number,
55
- default: 0
56
- },
57
- fixedTariffAmount: {
58
- type: Number,
59
- required: true,
60
- default: 0
61
- },
62
- meterLoan: {
63
- type: Number,
64
- required: true,
65
- default: 0
66
- },
67
- notifications: {
68
- type: Boolean,
69
- default: false
70
- },
71
- dailyNotifications: {
72
- type: Boolean,
73
- default: false
74
- },
75
- weeklyNotifications: {
76
- type: Boolean,
77
- default: false
78
- },
79
- allNotifications: {
80
- type: Boolean,
81
- default: false
82
- }
83
- }, {
84
- timestamps: true
85
- });
86
-
87
- const WaterMeterSettings = mongoose.model('WaterMeterSettings', waterMeterSettingsSchema);
88
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const waterMeterSettingsSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true
8
+ },
9
+ minAmount: {
10
+ type: Number,
11
+ required: true,
12
+ default: 1
13
+ },
14
+ maxAmount: {
15
+ type: Number,
16
+ required: true,
17
+ default: 10000
18
+ },
19
+ gracePeriod: {
20
+ type: Number,
21
+ required: true,
22
+ default: 10
23
+ },
24
+ invoiceDay: {
25
+ type: Number,
26
+ required: true,
27
+ min: 0,
28
+ max: 30,
29
+ default: 3
30
+ },
31
+ enforcePayment: {
32
+ type: String,
33
+ enum: ['yes', 'no'],
34
+ required: true,
35
+ default: 'no'
36
+ },
37
+ minimumPaymentAmount: {
38
+ type: Number,
39
+ required: true,
40
+ default: 0
41
+ },
42
+ tariff: {
43
+ type: String,
44
+ enum: ['yes', 'no'],
45
+ required: true,
46
+ default: 'no'
47
+ },
48
+ tariffAmount: {
49
+ type: Number,
50
+ required: true,
51
+ default: 0
52
+ },
53
+ tariffAmountSmart: {
54
+ type: Number,
55
+ default: 0
56
+ },
57
+ fixedTariffAmount: {
58
+ type: Number,
59
+ required: true,
60
+ default: 0
61
+ },
62
+ meterLoan: {
63
+ type: Number,
64
+ required: true,
65
+ default: 0
66
+ },
67
+ notifications: {
68
+ type: Boolean,
69
+ default: false
70
+ },
71
+ dailyNotifications: {
72
+ type: Boolean,
73
+ default: false
74
+ },
75
+ weeklyNotifications: {
76
+ type: Boolean,
77
+ default: false
78
+ },
79
+ allNotifications: {
80
+ type: Boolean,
81
+ default: false
82
+ }
83
+ }, {
84
+ timestamps: true
85
+ });
86
+
87
+ const WaterMeterSettings = mongoose.model('WaterMeterSettings', waterMeterSettingsSchema);
88
+
89
89
  module.exports = WaterMeterSettings;
@@ -1,16 +1,16 @@
1
- const mongoose = require('mongoose');
2
-
3
- const meterSizeSchema = new mongoose.Schema({
4
- code: {
5
- type: String,
6
- required: true,
7
- unique: true,
8
- trim: true, // Example: DN-15, DN-20, etc.
9
- }
10
- }, {
11
- timestamps: true
12
- });
13
-
14
- const MeterSize = mongoose.model('MeterSize', meterSizeSchema);
15
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const meterSizeSchema = new mongoose.Schema({
4
+ code: {
5
+ type: String,
6
+ required: true,
7
+ unique: true,
8
+ trim: true, // Example: DN-15, DN-20, etc.
9
+ }
10
+ }, {
11
+ timestamps: true
12
+ });
13
+
14
+ const MeterSize = mongoose.model('MeterSize', meterSizeSchema);
15
+
16
16
  module.exports = MeterSize;