payservedb 6.1.6 → 6.1.8

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 (134) hide show
  1. package/.env +2 -2
  2. package/index.js +269 -261
  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 +34 -34
  10. package/src/models/assetsAssignment.js +64 -64
  11. package/src/models/auditlog.js +83 -83
  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 +112 -112
  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 +72 -72
  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/default_payment_details.js +17 -17
  35. package/src/models/deliveryTimeMarks.js +18 -18
  36. package/src/models/dutyroster.js +107 -107
  37. package/src/models/email.js +37 -37
  38. package/src/models/email_sms_queue.js +61 -61
  39. package/src/models/entry_exit.js +53 -53
  40. package/src/models/expense.js +99 -99
  41. package/src/models/expense_category.js +45 -45
  42. package/src/models/facility.js +61 -61
  43. package/src/models/facility_departements.js +20 -20
  44. package/src/models/facility_payment_details.js +20 -20
  45. package/src/models/facilityasset.js +25 -25
  46. package/src/models/faq.js +18 -18
  47. package/src/models/gl_account_double_entries.js +25 -25
  48. package/src/models/gl_accounts.js +56 -56
  49. package/src/models/gl_entries.js +49 -49
  50. package/src/models/goodsReceivedNotes.js +115 -115
  51. package/src/models/guard.js +47 -47
  52. package/src/models/handover.js +246 -246
  53. package/src/models/invoice.js +336 -336
  54. package/src/models/item_inspection.js +67 -67
  55. package/src/models/leaseagreement.js +221 -221
  56. package/src/models/leasetemplate.js +17 -17
  57. package/src/models/levy.js +206 -206
  58. package/src/models/levy_invoice_settings.js +26 -26
  59. package/src/models/levycontract.js +117 -117
  60. package/src/models/levytype.js +23 -23
  61. package/src/models/maintenance_service_vendor.js +38 -38
  62. package/src/models/maintenance_services.js +17 -17
  63. package/src/models/maintenancerequisition.js +31 -31
  64. package/src/models/message.js +38 -38
  65. package/src/models/module.js +21 -21
  66. package/src/models/notification.js +44 -44
  67. package/src/models/paymentTermsMarks.js +19 -19
  68. package/src/models/penalty.js +76 -76
  69. package/src/models/pendingCredentials.js +32 -32
  70. package/src/models/powerMeterCustomerBand.js +14 -14
  71. package/src/models/powerMeterDailyReading.js +49 -49
  72. package/src/models/powerMeterMonthlyReading.js +49 -49
  73. package/src/models/powerMeterPowerCharges.js +53 -53
  74. package/src/models/powerMeterSettings.js +139 -0
  75. package/src/models/powerMeterSingleDayReading.js +49 -49
  76. package/src/models/powerMeters.js +65 -53
  77. package/src/models/powerMetersManufacturer.js +14 -14
  78. package/src/models/primaryWallet.js +47 -0
  79. package/src/models/propertyManagerContract.js +556 -556
  80. package/src/models/propertyManagerRevenue.js +195 -195
  81. package/src/models/purchaseOrderInvoice.js +74 -74
  82. package/src/models/purchase_order.js +202 -202
  83. package/src/models/purchase_request.js +110 -110
  84. package/src/models/refresh_token.js +23 -23
  85. package/src/models/reminder.js +197 -197
  86. package/src/models/report.js +13 -13
  87. package/src/models/resident.js +121 -121
  88. package/src/models/rfq_details.js +131 -131
  89. package/src/models/rfq_response.js +153 -153
  90. package/src/models/service_charge_invoice_upload.js +42 -42
  91. package/src/models/service_charge_payments.js +27 -27
  92. package/src/models/servicerequest.js +55 -55
  93. package/src/models/settings.js +62 -62
  94. package/src/models/smart_meter_daily_consumption.js +44 -44
  95. package/src/models/sms_africastalking.js +20 -20
  96. package/src/models/sms_meliora.js +20 -20
  97. package/src/models/staff.js +36 -36
  98. package/src/models/stocksandspare.js +34 -34
  99. package/src/models/suppliers.js +74 -74
  100. package/src/models/tickets.js +121 -121
  101. package/src/models/unitManagementTemplate.js +44 -44
  102. package/src/models/unitasset.js +25 -25
  103. package/src/models/units.js +112 -112
  104. package/src/models/user.js +186 -186
  105. package/src/models/valueaddedservices.js +79 -79
  106. package/src/models/vas_invoices_upload.js +50 -50
  107. package/src/models/vas_payments.js +24 -24
  108. package/src/models/vasinvoice.js +192 -192
  109. package/src/models/vasvendor.js +57 -57
  110. package/src/models/visitLog.js +86 -86
  111. package/src/models/visitor.js +67 -67
  112. package/src/models/waitlist.js +45 -45
  113. package/src/models/wallet.js +39 -39
  114. package/src/models/wallet_transactions.js +50 -50
  115. package/src/models/water_invoice.js +193 -193
  116. package/src/models/water_meter_Command_Queue.js +33 -33
  117. package/src/models/water_meter_account.js +78 -78
  118. package/src/models/water_meter_billing.js +58 -58
  119. package/src/models/water_meter_communication.js +17 -17
  120. package/src/models/water_meter_communication_logs.js +30 -30
  121. package/src/models/water_meter_concentrator.js +66 -66
  122. package/src/models/water_meter_daily_history.js +32 -32
  123. package/src/models/water_meter_iot_cards.js +34 -34
  124. package/src/models/water_meter_manufacturer.js +35 -35
  125. package/src/models/water_meter_monthly_history.js +36 -36
  126. package/src/models/water_meter_settings.js +114 -114
  127. package/src/models/water_meter_single_day_history.js +34 -34
  128. package/src/models/water_meter_size.js +15 -15
  129. package/src/models/water_meters.js +117 -117
  130. package/src/models/water_meters_delivery.js +76 -76
  131. package/src/models/water_prepaid_credit.js +43 -43
  132. package/src/models/water_prepaid_debit.js +50 -50
  133. package/src/models/workorder.js +49 -49
  134. package/src/models/powerMeterTariffs.js +0 -50
@@ -0,0 +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
+
139
+ module.exports = PowerMeterSettings;
@@ -1,50 +1,50 @@
1
- const mongoose = require('mongoose');
2
-
3
- const powerMeterSingleDayReadingSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true
8
- },
9
- meterSerialNumber: {
10
- type: String,
11
- required: true
12
- },
13
- deviceId: {
14
- type: Number,
15
- required: false
16
-
17
- },
18
- gatewayId: {
19
- type: String,
20
- required: true
21
-
22
- },
23
- meterReading: {
24
- type: Number,
25
- required: true,
26
-
27
- },
28
- lastUpdated: {
29
- type: Date,
30
- required: true
31
-
32
- },
33
- manufacturer: {
34
- type: String,
35
- required: true
36
- },
37
- type: {
38
- type: String,
39
- required: true,
40
- enum: ['2 phase', '3 phase'],
41
- default: '2 phase'
42
-
43
- }
44
- }, {
45
- timestamps: true
46
- });
47
-
48
- const PowerMeterSingleDayReading = mongoose.model('PowerMeterSingleDayReading', powerMeterSingleDayReadingSchema);
49
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const powerMeterSingleDayReadingSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true
8
+ },
9
+ meterSerialNumber: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ deviceId: {
14
+ type: Number,
15
+ required: false
16
+
17
+ },
18
+ gatewayId: {
19
+ type: String,
20
+ required: true
21
+
22
+ },
23
+ meterReading: {
24
+ type: Number,
25
+ required: true,
26
+
27
+ },
28
+ lastUpdated: {
29
+ type: Date,
30
+ required: true
31
+
32
+ },
33
+ manufacturer: {
34
+ type: String,
35
+ required: true
36
+ },
37
+ type: {
38
+ type: String,
39
+ required: true,
40
+ enum: ['2 phase', '3 phase'],
41
+ default: '2 phase'
42
+
43
+ }
44
+ }, {
45
+ timestamps: true
46
+ });
47
+
48
+ const PowerMeterSingleDayReading = mongoose.model('PowerMeterSingleDayReading', powerMeterSingleDayReadingSchema);
49
+
50
50
  module.exports = PowerMeterSingleDayReading;
@@ -1,54 +1,66 @@
1
- const mongoose = require('mongoose');
2
-
3
- const powerMeterSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true
8
- },
9
- meterSerialNumber: {
10
- type: String,
11
- required: true
12
- },
13
- deviceId: {
14
- type: Number,
15
- required: false
16
-
17
- },
18
- gatewayId: {
19
- type: String,
20
- required: true
21
-
22
- },
23
- meterReading: {
24
- type: Number,
25
- required: true,
26
-
27
- },
28
- lastUpdated: {
29
- type: Date,
30
- required: true
31
-
32
- },
33
- manufacturer: {
34
- type: String,
35
- required: true
36
- },
37
- type: {
38
- type: String,
39
- required: true,
40
- enum: ['2 phase', '3 phase'],
41
- default: '2 phase'
42
-
43
- },
44
- status: {
45
- type: String,
46
- required: true
47
- }
48
- }, {
49
- timestamps: true
50
- });
51
-
52
- const PowerMeters = mongoose.model('PowerMeters', powerMeterSchema);
53
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const powerMeterSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true
8
+ },
9
+ meterSerialNumber: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ deviceId: {
14
+ type: Number,
15
+ required: false
16
+
17
+ },
18
+ gatewayId: {
19
+ type: String,
20
+ required: true
21
+
22
+ },
23
+ meterReading: {
24
+ type: Number,
25
+ required: true,
26
+ default: 0,
27
+ },
28
+ currentMeterReading: {
29
+ type: Number,
30
+ default: 0,
31
+ },
32
+ lastUpdated: {
33
+ type: Date,
34
+ required: true
35
+ },
36
+ manufacturer: {
37
+ type: String,
38
+ required: true
39
+ },
40
+ unitId: {
41
+ type: mongoose.Schema.Types.ObjectId,
42
+ ref: 'Unit',
43
+ trim: true
44
+ },
45
+ unitName: {
46
+ type: String,
47
+ trim: true
48
+ },
49
+ type: {
50
+ type: String,
51
+ required: true,
52
+ enum: ['2 phase', '3 phase'],
53
+ default: '2 phase'
54
+
55
+ },
56
+ status: {
57
+ type: String,
58
+ required: true
59
+ }
60
+ }, {
61
+ timestamps: true
62
+ });
63
+
64
+ const PowerMeters = mongoose.model('PowerMeters', powerMeterSchema);
65
+
54
66
  module.exports = PowerMeters;
@@ -1,15 +1,15 @@
1
- const mongoose = require('mongoose');
2
-
3
- const powerMeterManufacturerSchema = new mongoose.Schema({
4
- name: {
5
- type: String,
6
- required: true,
7
-
8
- }
9
- }, {
10
- timestamps: true
11
- });
12
-
13
- const PowerMeterManufacturer = mongoose.model('PowerMeterManufacturer', powerMeterManufacturerSchema);
14
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const powerMeterManufacturerSchema = new mongoose.Schema({
4
+ name: {
5
+ type: String,
6
+ required: true,
7
+
8
+ }
9
+ }, {
10
+ timestamps: true
11
+ });
12
+
13
+ const PowerMeterManufacturer = mongoose.model('PowerMeterManufacturer', powerMeterManufacturerSchema);
14
+
15
15
  module.exports = PowerMeterManufacturer;
@@ -0,0 +1,47 @@
1
+ const mongoose = require("mongoose");
2
+
3
+ const primaryWalletSchema = new mongoose.Schema({
4
+ invoiceId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: "Invoice",
7
+ required: true,
8
+ unique: true,
9
+ },
10
+ invoiceNumber: {
11
+ type: String,
12
+ required: true,
13
+ unique: true,
14
+ },
15
+ status: {
16
+ type: String,
17
+ enum: ["partial", "paid", "cancelled"],
18
+ required: true,
19
+ },
20
+ amountToLandlord: {
21
+ type: Number,
22
+ default: 0,
23
+ },
24
+ amountToPropertyManager: {
25
+ type: Number,
26
+ default: 0,
27
+ },
28
+ propertyManager: {
29
+ type: mongoose.Schema.Types.ObjectId,
30
+ ref: "User",
31
+ required: true,
32
+ },
33
+ landlord: {
34
+ type: mongoose.Schema.Types.ObjectId,
35
+ ref: "Customer",
36
+ required: true,
37
+ },
38
+ balance: {
39
+ type: Number,
40
+ default: 0,
41
+ },
42
+ });
43
+
44
+ primaryWalletSchema.index({ invoiceId: 1 });
45
+ const PrimaryWallet = mongoose.model("PrimaryWallet", primaryWalletSchema);
46
+
47
+ module.exports = PrimaryWallet;