payservedb 6.6.3 → 6.6.5

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 (142) hide show
  1. package/.env +2 -2
  2. package/index.js +278 -276
  3. package/package.json +17 -17
  4. package/src/models/account.js +35 -35
  5. package/src/models/apilog.js +18 -18
  6. package/src/models/approvalsWorkflows.js +49 -49
  7. package/src/models/archivedapilog.js +18 -18
  8. package/src/models/archivedauditlog.js +83 -83
  9. package/src/models/asset.js +92 -92
  10. package/src/models/assetsAssignment.js +64 -64
  11. package/src/models/auditTrail.js +346 -346
  12. package/src/models/bankdetails.js +40 -40
  13. package/src/models/billerAddress.js +119 -119
  14. package/src/models/booking_invoice.js +151 -151
  15. package/src/models/bookinganalytics.js +63 -63
  16. package/src/models/bookingconfig.js +45 -45
  17. package/src/models/bookingproperty.js +122 -122
  18. package/src/models/bookingreservation.js +192 -192
  19. package/src/models/bookingrevenuerecord.js +84 -84
  20. package/src/models/budget.js +95 -95
  21. package/src/models/budgetCategory.js +19 -19
  22. package/src/models/campaigns.js +94 -94
  23. package/src/models/cashpayment.js +264 -264
  24. package/src/models/combinedUnits.js +62 -62
  25. package/src/models/common_area_electricity.js +38 -38
  26. package/src/models/common_area_generator.js +41 -41
  27. package/src/models/common_area_utility_alert.js +37 -37
  28. package/src/models/common_area_water.js +39 -39
  29. package/src/models/communication_status.js +33 -33
  30. package/src/models/company.js +53 -53
  31. package/src/models/country_tax.js +42 -42
  32. package/src/models/currency_settings.js +39 -39
  33. package/src/models/customer.js +208 -208
  34. package/src/models/dailyChecklist.js +312 -312
  35. package/src/models/default_payment_details.js +17 -17
  36. package/src/models/deliveryTimeMarks.js +18 -18
  37. package/src/models/dutyRosterChecklist.js +250 -250
  38. package/src/models/dutyroster.js +136 -136
  39. package/src/models/email.js +37 -37
  40. package/src/models/email_sms_queue.js +61 -61
  41. package/src/models/entry_exit.js +53 -53
  42. package/src/models/expense.js +99 -99
  43. package/src/models/expense_category.js +45 -45
  44. package/src/models/facility.js +61 -61
  45. package/src/models/facilityWalletTransactionsMetadata.js +236 -236
  46. package/src/models/facility_departements.js +20 -20
  47. package/src/models/facility_payment_details.js +20 -20
  48. package/src/models/facilityasset.js +25 -25
  49. package/src/models/faq.js +18 -18
  50. package/src/models/gl_account_double_entries.js +25 -25
  51. package/src/models/gl_accounts.js +56 -56
  52. package/src/models/gl_entries.js +49 -49
  53. package/src/models/goodsReceivedNotes.js +115 -115
  54. package/src/models/guard.js +47 -47
  55. package/src/models/handover.js +246 -246
  56. package/src/models/invoice.js +336 -336
  57. package/src/models/item_inspection.js +67 -67
  58. package/src/models/leaseagreement.js +226 -226
  59. package/src/models/leasetemplate.js +17 -17
  60. package/src/models/levy.js +206 -206
  61. package/src/models/levy_invoice_settings.js +26 -26
  62. package/src/models/levycontract.js +117 -117
  63. package/src/models/levytype.js +23 -23
  64. package/src/models/maintenance_service_vendor.js +38 -38
  65. package/src/models/maintenance_services.js +17 -17
  66. package/src/models/maintenancerequisition.js +31 -31
  67. package/src/models/master_workplan.js +32 -32
  68. package/src/models/master_workplan_child.js +34 -34
  69. package/src/models/message.js +38 -38
  70. package/src/models/module.js +21 -21
  71. package/src/models/notification.js +44 -44
  72. package/src/models/paymentTermsMarks.js +19 -19
  73. package/src/models/penalty.js +76 -76
  74. package/src/models/pendingCredentials.js +32 -32
  75. package/src/models/powerMeterCommunicationProtocol.js +18 -0
  76. package/src/models/powerMeterCustomerAccount.js +78 -78
  77. package/src/models/powerMeterCustomerBand.js +14 -14
  78. package/src/models/powerMeterDailyReading.js +30 -30
  79. package/src/models/powerMeterGateways.js +37 -0
  80. package/src/models/powerMeterMonthlyReading.js +34 -34
  81. package/src/models/powerMeterPowerCharges.js +53 -53
  82. package/src/models/powerMeterSettings.js +138 -138
  83. package/src/models/powerMeterSingleDayReading.js +32 -32
  84. package/src/models/powerMeters.js +97 -65
  85. package/src/models/powerMetersManufacturer.js +14 -14
  86. package/src/models/propertyManagerContract.js +556 -556
  87. package/src/models/propertyManagerRevenue.js +195 -195
  88. package/src/models/purchaseOrderInvoice.js +74 -74
  89. package/src/models/purchase_order.js +213 -213
  90. package/src/models/purchase_request.js +110 -110
  91. package/src/models/refresh_token.js +23 -23
  92. package/src/models/reminder.js +197 -197
  93. package/src/models/report.js +13 -13
  94. package/src/models/resident.js +121 -121
  95. package/src/models/rfq_details.js +131 -131
  96. package/src/models/rfq_response.js +153 -153
  97. package/src/models/service_charge_invoice_upload.js +42 -42
  98. package/src/models/service_charge_payments.js +27 -27
  99. package/src/models/servicerequest.js +55 -55
  100. package/src/models/settings.js +62 -62
  101. package/src/models/smart_meter_daily_consumption.js +44 -44
  102. package/src/models/sms_africastalking.js +20 -20
  103. package/src/models/sms_balance_notification.js +26 -26
  104. package/src/models/sms_meliora.js +20 -20
  105. package/src/models/staff.js +36 -36
  106. package/src/models/stocksandspare.js +161 -161
  107. package/src/models/suppliers.js +74 -74
  108. package/src/models/tickets.js +121 -121
  109. package/src/models/unitManagementTemplate.js +44 -44
  110. package/src/models/unitasset.js +25 -25
  111. package/src/models/units.js +117 -117
  112. package/src/models/user.js +186 -186
  113. package/src/models/valueaddedservices.js +79 -79
  114. package/src/models/vas_invoices_upload.js +50 -50
  115. package/src/models/vas_payments.js +24 -24
  116. package/src/models/vasinvoice.js +192 -192
  117. package/src/models/vasvendor.js +57 -57
  118. package/src/models/visitLog.js +86 -86
  119. package/src/models/visitor.js +67 -67
  120. package/src/models/waitlist.js +45 -45
  121. package/src/models/wallet.js +44 -44
  122. package/src/models/wallet_transactions.js +50 -50
  123. package/src/models/water_invoice.js +305 -305
  124. package/src/models/water_meter_Command_Queue.js +33 -33
  125. package/src/models/water_meter_account.js +78 -78
  126. package/src/models/water_meter_billing.js +58 -58
  127. package/src/models/water_meter_communication.js +17 -17
  128. package/src/models/water_meter_communication_logs.js +30 -30
  129. package/src/models/water_meter_concentrator.js +66 -66
  130. package/src/models/water_meter_daily_history.js +32 -32
  131. package/src/models/water_meter_iot_cards.js +34 -34
  132. package/src/models/water_meter_manufacturer.js +35 -35
  133. package/src/models/water_meter_monthly_history.js +36 -36
  134. package/src/models/water_meter_negative_amounts.js +38 -38
  135. package/src/models/water_meter_settings.js +180 -180
  136. package/src/models/water_meter_single_day_history.js +34 -34
  137. package/src/models/water_meter_size.js +15 -15
  138. package/src/models/water_meters.js +134 -134
  139. package/src/models/water_meters_delivery.js +76 -76
  140. package/src/models/water_prepaid_credit.js +47 -47
  141. package/src/models/water_prepaid_debit.js +50 -50
  142. package/src/models/workorder.js +49 -49
@@ -0,0 +1,37 @@
1
+ const mongoose = require('mongoose');
2
+
3
+ const powerMeterGatewaySchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true
8
+ },
9
+ gatewayName: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ gatewayNumber: {
14
+ type: Number,
15
+ required: false
16
+
17
+ },
18
+ location: {
19
+ type: String,
20
+ required: true
21
+
22
+ },
23
+ type: {
24
+ type: String,
25
+ trim: true
26
+ },
27
+ status: {
28
+ type: String,
29
+ required: true
30
+ }
31
+ }, {
32
+ timestamps: true
33
+ });
34
+
35
+ const PowerMeterGateway = mongoose.model('PowerMeterGateway', powerMeterGatewaySchema);
36
+
37
+ module.exports = PowerMeterGateway;
@@ -1,35 +1,35 @@
1
- const mongoose = require('mongoose');
2
-
3
- const powerMeterMonthlyReadingSchema = new mongoose.Schema({
4
- meterId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'PowerMeter',
7
- required: true
8
- },
9
- yearMonth: {
10
- type: String,
11
- required: true
12
- },
13
- initialReading: {
14
- type: Number,
15
- required: true,
16
- min: 0
17
- },
18
- finalReading: {
19
- type: Number,
20
- required: true,
21
- min: 0
22
- },
23
- consumption: {
24
- type: Number,
25
- default: function() {
26
- return this.finalReading - this.initialReading;
27
- }
28
- }
29
- }, {
30
- timestamps: true
31
- });
32
-
33
- const PowerMeterMonthlyReading = mongoose.model('PowerMeterMonthlyReading', powerMeterMonthlyReadingSchema);
34
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const powerMeterMonthlyReadingSchema = new mongoose.Schema({
4
+ meterId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'PowerMeter',
7
+ required: true
8
+ },
9
+ yearMonth: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ initialReading: {
14
+ type: Number,
15
+ required: true,
16
+ min: 0
17
+ },
18
+ finalReading: {
19
+ type: Number,
20
+ required: true,
21
+ min: 0
22
+ },
23
+ consumption: {
24
+ type: Number,
25
+ default: function() {
26
+ return this.finalReading - this.initialReading;
27
+ }
28
+ }
29
+ }, {
30
+ timestamps: true
31
+ });
32
+
33
+ const PowerMeterMonthlyReading = mongoose.model('PowerMeterMonthlyReading', powerMeterMonthlyReadingSchema);
34
+
35
35
  module.exports = PowerMeterMonthlyReading;
@@ -1,53 +1,53 @@
1
- const mongoose = require('mongoose');
2
-
3
- const powerMeterPowerChargeSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true
8
- },
9
- yearMonth: {
10
- type: String,
11
- required: true
12
- },
13
- // KPLC Power Charges
14
- fuelCostCharge: {
15
- type: Number,
16
- required: true
17
- },
18
- forexAdjustment: {
19
- type: Number,
20
- required: true
21
- },
22
- inflationAdjustment: {
23
- type: Number,
24
- required: true
25
- },
26
- waterResourceManagementLevy: {
27
- type: Number,
28
- required: true
29
- },
30
- energyRegulatoryLevy: {
31
- type: Number,
32
- required: true
33
- },
34
- ruralElectrificationLevy: {
35
- type: Number,
36
- required: true
37
- },
38
- valueAddedTax: {
39
- type: Number,
40
- required: true
41
- },
42
- totalCharge: {
43
- type: Number,
44
- required: true
45
- }
46
-
47
- }, {
48
- timestamps: true
49
- });
50
-
51
- const PowerMeterPowerCharge = mongoose.model('PowerMeterPowerCharge', powerMeterPowerChargeSchema);
52
-
53
- module.exports = PowerMeterPowerCharge;
1
+ const mongoose = require('mongoose');
2
+
3
+ const powerMeterPowerChargeSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true
8
+ },
9
+ yearMonth: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ // KPLC Power Charges
14
+ fuelCostCharge: {
15
+ type: Number,
16
+ required: true
17
+ },
18
+ forexAdjustment: {
19
+ type: Number,
20
+ required: true
21
+ },
22
+ inflationAdjustment: {
23
+ type: Number,
24
+ required: true
25
+ },
26
+ waterResourceManagementLevy: {
27
+ type: Number,
28
+ required: true
29
+ },
30
+ energyRegulatoryLevy: {
31
+ type: Number,
32
+ required: true
33
+ },
34
+ ruralElectrificationLevy: {
35
+ type: Number,
36
+ required: true
37
+ },
38
+ valueAddedTax: {
39
+ type: Number,
40
+ required: true
41
+ },
42
+ totalCharge: {
43
+ type: Number,
44
+ required: true
45
+ }
46
+
47
+ }, {
48
+ timestamps: true
49
+ });
50
+
51
+ const PowerMeterPowerCharge = mongoose.model('PowerMeterPowerCharge', powerMeterPowerChargeSchema);
52
+
53
+ module.exports = PowerMeterPowerCharge;
@@ -1,139 +1,139 @@
1
- const mongoose = require('mongoose');
2
-
3
- const powerMeterSettingsSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- unique: true // Ensure one settings record per facility
9
- },
10
-
11
- // Billing Amounts
12
- minAmount: {
13
- type: Number,
14
- default: 0,
15
- min: 0
16
- },
17
- maxAmount: {
18
- type: Number,
19
- default: 50000,
20
- min: 0
21
- },
22
-
23
- // Suspicious Meter Reading Thresholds
24
- lowThreshold: {
25
- type: Number,
26
- default: 0,
27
- min: 0
28
- },
29
- highThreshold: {
30
- type: Number,
31
- default: 0,
32
- min: 0
33
- },
34
-
35
- // Billing Schedule
36
- gracePeriod: {
37
- type: Number,
38
- default: 10,
39
- min: 0
40
- },
41
- invoiceDay: {
42
- type: Number,
43
- default: 3,
44
- min: 0,
45
- max: 30
46
- },
47
-
48
- // Payment Enforcement
49
- enforcePayment: {
50
- type: String,
51
- enum: ['yes', 'no', ''],
52
- default: ''
53
- },
54
- minimumPaymentAmount: {
55
- type: Number,
56
- default: 0,
57
- min: 0
58
- },
59
-
60
- // Tariff Settings
61
- tariff: {
62
- type: String,
63
- enum: ['yes', 'no', ''],
64
- default: ''
65
- },
66
- tariffAmount: {
67
- type: Number,
68
- default: 0,
69
- min: 0
70
- },
71
- fixedTariffAmount: {
72
- type: Number,
73
- default: 0,
74
- min: 0
75
- },
76
- meterLoan: {
77
- type: Number,
78
- default: 0,
79
- min: 0
80
- },
81
-
82
- // GL Account Configuration (following your sample pattern)
83
- glAccounts: {
84
- invoice: {
85
- debit: {
86
- type: mongoose.Schema.Types.ObjectId,
87
- ref: "GLAccount",
88
- required: false,
89
- },
90
- credit: {
91
- type: mongoose.Schema.Types.ObjectId,
92
- ref: "GLAccount",
93
- required: false,
94
- }
95
- },
96
- payment: {
97
- debit: {
98
- type: mongoose.Schema.Types.ObjectId,
99
- ref: "GLAccount",
100
- required: false,
101
- },
102
- credit: {
103
- type: mongoose.Schema.Types.ObjectId,
104
- ref: "GLAccount",
105
- required: false,
106
- }
107
- }
108
- },
109
-
110
- // Other Charges
111
- otherCharges: {
112
- type: String,
113
- enum: ['yes', 'no', ''],
114
- default: ''
115
- },
116
- // Notifications
117
- notifications: {
118
- type: Boolean,
119
- default: false
120
- },
121
- dailyNotifications: {
122
- type: Boolean,
123
- default: false
124
- },
125
- weeklyNotifications: {
126
- type: Boolean,
127
- default: false
128
- },
129
- allNotifications: {
130
- type: Boolean,
131
- default: false
132
- }
133
- }, {
134
- timestamps: true
135
- });
136
-
137
- const PowerMeterSettings = mongoose.model('PowerMeterSettings', powerMeterSettingsSchema);
138
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const powerMeterSettingsSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ unique: true // Ensure one settings record per facility
9
+ },
10
+
11
+ // Billing Amounts
12
+ minAmount: {
13
+ type: Number,
14
+ default: 0,
15
+ min: 0
16
+ },
17
+ maxAmount: {
18
+ type: Number,
19
+ default: 50000,
20
+ min: 0
21
+ },
22
+
23
+ // Suspicious Meter Reading Thresholds
24
+ lowThreshold: {
25
+ type: Number,
26
+ default: 0,
27
+ min: 0
28
+ },
29
+ highThreshold: {
30
+ type: Number,
31
+ default: 0,
32
+ min: 0
33
+ },
34
+
35
+ // Billing Schedule
36
+ gracePeriod: {
37
+ type: Number,
38
+ default: 10,
39
+ min: 0
40
+ },
41
+ invoiceDay: {
42
+ type: Number,
43
+ default: 3,
44
+ min: 0,
45
+ max: 30
46
+ },
47
+
48
+ // Payment Enforcement
49
+ enforcePayment: {
50
+ type: String,
51
+ enum: ['yes', 'no', ''],
52
+ default: ''
53
+ },
54
+ minimumPaymentAmount: {
55
+ type: Number,
56
+ default: 0,
57
+ min: 0
58
+ },
59
+
60
+ // Tariff Settings
61
+ tariff: {
62
+ type: String,
63
+ enum: ['yes', 'no', ''],
64
+ default: ''
65
+ },
66
+ tariffAmount: {
67
+ type: Number,
68
+ default: 0,
69
+ min: 0
70
+ },
71
+ fixedTariffAmount: {
72
+ type: Number,
73
+ default: 0,
74
+ min: 0
75
+ },
76
+ meterLoan: {
77
+ type: Number,
78
+ default: 0,
79
+ min: 0
80
+ },
81
+
82
+ // GL Account Configuration (following your sample pattern)
83
+ glAccounts: {
84
+ invoice: {
85
+ debit: {
86
+ type: mongoose.Schema.Types.ObjectId,
87
+ ref: "GLAccount",
88
+ required: false,
89
+ },
90
+ credit: {
91
+ type: mongoose.Schema.Types.ObjectId,
92
+ ref: "GLAccount",
93
+ required: false,
94
+ }
95
+ },
96
+ payment: {
97
+ debit: {
98
+ type: mongoose.Schema.Types.ObjectId,
99
+ ref: "GLAccount",
100
+ required: false,
101
+ },
102
+ credit: {
103
+ type: mongoose.Schema.Types.ObjectId,
104
+ ref: "GLAccount",
105
+ required: false,
106
+ }
107
+ }
108
+ },
109
+
110
+ // Other Charges
111
+ otherCharges: {
112
+ type: String,
113
+ enum: ['yes', 'no', ''],
114
+ default: ''
115
+ },
116
+ // Notifications
117
+ notifications: {
118
+ type: Boolean,
119
+ default: false
120
+ },
121
+ dailyNotifications: {
122
+ type: Boolean,
123
+ default: false
124
+ },
125
+ weeklyNotifications: {
126
+ type: Boolean,
127
+ default: false
128
+ },
129
+ allNotifications: {
130
+ type: Boolean,
131
+ default: false
132
+ }
133
+ }, {
134
+ timestamps: true
135
+ });
136
+
137
+ const PowerMeterSettings = mongoose.model('PowerMeterSettings', powerMeterSettingsSchema);
138
+
139
139
  module.exports = PowerMeterSettings;
@@ -1,33 +1,33 @@
1
- const mongoose = require('mongoose');
2
-
3
- const powerMeterSingleDayReadingSchema = new mongoose.Schema({
4
- meterId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'PowerMeter',
7
- required: true
8
- },
9
- date: {
10
- type: String,
11
- required: true
12
- },
13
- reading: {
14
- type: Number,
15
- required: true,
16
- min: 0
17
- },
18
- status: {
19
- type: String,
20
- enum: ['on', 'off', 'maintenance', 'faulty'],
21
- default: 'on',
22
- },
23
- time: {
24
- type: String,
25
- required: true
26
- }
27
- }, {
28
- timestamps: true
29
- });
30
-
31
- const PowerMeterSingleDayReading = mongoose.model('PowerMeterSingleDayReading', powerMeterSingleDayReadingSchema);
32
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const powerMeterSingleDayReadingSchema = new mongoose.Schema({
4
+ meterId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'PowerMeter',
7
+ required: true
8
+ },
9
+ date: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ reading: {
14
+ type: Number,
15
+ required: true,
16
+ min: 0
17
+ },
18
+ status: {
19
+ type: String,
20
+ enum: ['on', 'off', 'maintenance', 'faulty'],
21
+ default: 'on',
22
+ },
23
+ time: {
24
+ type: String,
25
+ required: true
26
+ }
27
+ }, {
28
+ timestamps: true
29
+ });
30
+
31
+ const PowerMeterSingleDayReading = mongoose.model('PowerMeterSingleDayReading', powerMeterSingleDayReadingSchema);
32
+
33
33
  module.exports = PowerMeterSingleDayReading;