payservedb 5.6.4 → 5.6.6

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 (113) hide show
  1. package/.env +2 -2
  2. package/index.js +193 -192
  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/auditlog.js +83 -83
  11. package/src/models/bankdetails.js +40 -40
  12. package/src/models/booking_invoice.js +151 -151
  13. package/src/models/bookinganalytics.js +63 -63
  14. package/src/models/bookingconfig.js +45 -45
  15. package/src/models/bookingproperty.js +112 -112
  16. package/src/models/bookingreservation.js +192 -192
  17. package/src/models/bookingrevenuerecord.js +84 -84
  18. package/src/models/budget.js +91 -91
  19. package/src/models/budgetCategory.js +19 -19
  20. package/src/models/campaigns.js +72 -72
  21. package/src/models/cashpayment.js +262 -262
  22. package/src/models/combinedUnits.js +62 -62
  23. package/src/models/common_area_electricity.js +38 -38
  24. package/src/models/common_area_generator.js +41 -41
  25. package/src/models/common_area_utility_alert.js +37 -37
  26. package/src/models/common_area_water.js +39 -39
  27. package/src/models/company.js +53 -53
  28. package/src/models/country_tax.js +42 -42
  29. package/src/models/currency_settings.js +39 -39
  30. package/src/models/customer.js +200 -200
  31. package/src/models/default_payment_details.js +17 -17
  32. package/src/models/dutyroster.js +107 -107
  33. package/src/models/email.js +37 -37
  34. package/src/models/entry_exit.js +53 -53
  35. package/src/models/expense.js +99 -99
  36. package/src/models/expense_category.js +19 -45
  37. package/src/models/facility.js +61 -61
  38. package/src/models/facility_payment_details.js +20 -20
  39. package/src/models/facilityasset.js +25 -25
  40. package/src/models/faq.js +18 -18
  41. package/src/models/gl_account_double_entries.js +25 -25
  42. package/src/models/gl_accounts.js +56 -56
  43. package/src/models/gl_entries.js +49 -49
  44. package/src/models/guard.js +47 -47
  45. package/src/models/handover.js +246 -246
  46. package/src/models/invoice.js +336 -336
  47. package/src/models/item_inspection.js +67 -67
  48. package/src/models/leaseagreement.js +221 -221
  49. package/src/models/leasetemplate.js +17 -17
  50. package/src/models/levy.js +152 -152
  51. package/src/models/levy_invoice_settings.js +26 -26
  52. package/src/models/levycontract.js +117 -117
  53. package/src/models/levytype.js +23 -23
  54. package/src/models/maintenance_service_vendor.js +38 -38
  55. package/src/models/maintenance_services.js +17 -17
  56. package/src/models/maintenancerequisition.js +31 -31
  57. package/src/models/message.js +38 -38
  58. package/src/models/module.js +21 -21
  59. package/src/models/notification.js +36 -24
  60. package/src/models/penalty.js +76 -76
  61. package/src/models/pendingCredentials.js +32 -32
  62. package/src/models/propertyManagerContract.js +358 -358
  63. package/src/models/propertyManagerRevenue.js +100 -100
  64. package/src/models/purchase_order.js +194 -194
  65. package/src/models/purchase_request.js +110 -110
  66. package/src/models/refresh_token.js +23 -23
  67. package/src/models/reminder.js +197 -197
  68. package/src/models/report.js +13 -13
  69. package/src/models/resident.js +121 -121
  70. package/src/models/rfq_details.js +131 -131
  71. package/src/models/rfq_response.js +105 -105
  72. package/src/models/service_charge_invoice_upload.js +42 -42
  73. package/src/models/service_charge_payments.js +27 -27
  74. package/src/models/servicerequest.js +55 -55
  75. package/src/models/settings.js +62 -62
  76. package/src/models/smart_meter_daily_consumption.js +44 -44
  77. package/src/models/sms_africastalking.js +20 -20
  78. package/src/models/sms_meliora.js +20 -20
  79. package/src/models/staff.js +36 -36
  80. package/src/models/stocksandspare.js +34 -34
  81. package/src/models/suppliers.js +74 -74
  82. package/src/models/tickets.js +109 -109
  83. package/src/models/unitManagementTemplate.js +44 -44
  84. package/src/models/unitasset.js +25 -25
  85. package/src/models/units.js +112 -112
  86. package/src/models/user.js +187 -187
  87. package/src/models/valueaddedservices.js +79 -79
  88. package/src/models/vas_invoices_upload.js +50 -50
  89. package/src/models/vas_payments.js +24 -24
  90. package/src/models/vasinvoice.js +192 -192
  91. package/src/models/vasvendor.js +57 -57
  92. package/src/models/visitLog.js +86 -86
  93. package/src/models/visitor.js +67 -67
  94. package/src/models/waitlist.js +45 -45
  95. package/src/models/water_invoice.js +193 -193
  96. package/src/models/water_meter_account.js +78 -78
  97. package/src/models/water_meter_billing.js +58 -58
  98. package/src/models/water_meter_communication.js +17 -17
  99. package/src/models/water_meter_communication_logs.js +30 -30
  100. package/src/models/water_meter_concentrator.js +59 -59
  101. package/src/models/water_meter_daily_history.js +32 -32
  102. package/src/models/water_meter_iot_cards.js +34 -34
  103. package/src/models/water_meter_manufacturer.js +35 -35
  104. package/src/models/water_meter_monthly_history.js +36 -36
  105. package/src/models/water_meter_settings.js +88 -114
  106. package/src/models/water_meter_single_day_history.js +34 -34
  107. package/src/models/water_meter_size.js +15 -15
  108. package/src/models/water_meters.js +117 -117
  109. package/src/models/water_meters_delivery.js +76 -76
  110. package/src/models/water_prepaid_credit.js +43 -43
  111. package/src/models/water_prepaid_debit.js +50 -50
  112. package/src/models/workorder.js +49 -49
  113. package/src/models/billerAddress.js +0 -117
@@ -1,38 +1,38 @@
1
- const mongoose = require('mongoose');
2
-
3
- const serviceVendorSchema = new mongoose.Schema({
4
- name: {
5
- type: String,
6
- required: true,
7
- },
8
- service: {
9
- type: String,
10
- required: true,
11
- },
12
- agreement: {
13
- type: String,
14
- },
15
- dates: {
16
- type: [Date],
17
- },
18
- assignedAssets: [{
19
- type: mongoose.Schema.Types.ObjectId,
20
- ref: 'Asset',
21
- }],
22
- facilityId: {
23
- type: mongoose.Schema.Types.ObjectId,
24
- ref: 'Facility',
25
- required: true,
26
- },
27
- phone: {
28
- type: String,
29
- required: true,
30
- },
31
- email: {
32
- type: String,
33
- },
34
- }, {
35
- timestamps: true,
36
- });
37
-
38
- module.exports = mongoose.model('ServiceVendor', serviceVendorSchema);
1
+ const mongoose = require('mongoose');
2
+
3
+ const serviceVendorSchema = new mongoose.Schema({
4
+ name: {
5
+ type: String,
6
+ required: true,
7
+ },
8
+ service: {
9
+ type: String,
10
+ required: true,
11
+ },
12
+ agreement: {
13
+ type: String,
14
+ },
15
+ dates: {
16
+ type: [Date],
17
+ },
18
+ assignedAssets: [{
19
+ type: mongoose.Schema.Types.ObjectId,
20
+ ref: 'Asset',
21
+ }],
22
+ facilityId: {
23
+ type: mongoose.Schema.Types.ObjectId,
24
+ ref: 'Facility',
25
+ required: true,
26
+ },
27
+ phone: {
28
+ type: String,
29
+ required: true,
30
+ },
31
+ email: {
32
+ type: String,
33
+ },
34
+ }, {
35
+ timestamps: true,
36
+ });
37
+
38
+ module.exports = mongoose.model('ServiceVendor', serviceVendorSchema);
@@ -1,17 +1,17 @@
1
- const mongoose = require('mongoose');
2
-
3
- const maintenanceServicesSchema = new mongoose.Schema({
4
- name: {
5
- type: String,
6
- required: true,
7
- },
8
- facilityId: {
9
- type: mongoose.Schema.Types.ObjectId,
10
- ref: 'Facility',
11
- required: true,
12
- },
13
- }, {
14
- timestamps: true,
15
- });
16
-
17
- module.exports = mongoose.model('MaintenanceServices', maintenanceServicesSchema);
1
+ const mongoose = require('mongoose');
2
+
3
+ const maintenanceServicesSchema = new mongoose.Schema({
4
+ name: {
5
+ type: String,
6
+ required: true,
7
+ },
8
+ facilityId: {
9
+ type: mongoose.Schema.Types.ObjectId,
10
+ ref: 'Facility',
11
+ required: true,
12
+ },
13
+ }, {
14
+ timestamps: true,
15
+ });
16
+
17
+ module.exports = mongoose.model('MaintenanceServices', maintenanceServicesSchema);
@@ -1,31 +1,31 @@
1
- const mongoose = require('mongoose');
2
-
3
- const requisitionSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: [true, 'Facility ID is required']
8
- },
9
- stockId: {
10
- type: mongoose.Schema.Types.ObjectId,
11
- ref: 'Stocksandspare',
12
- required: [true, 'stock ID is required']
13
- },
14
- workId: {
15
- type: mongoose.Schema.Types.ObjectId,
16
- ref: 'WorkOrder'
17
- },
18
- description: {
19
- type: String,
20
- required: true,
21
- },
22
- quantity: {
23
- type: Number,
24
- required: true,
25
- min: 1,
26
- }
27
- }, {
28
- timestamps: true,
29
- });
30
-
31
- module.exports = mongoose.model('StockRequisition', requisitionSchema);
1
+ const mongoose = require('mongoose');
2
+
3
+ const requisitionSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: [true, 'Facility ID is required']
8
+ },
9
+ stockId: {
10
+ type: mongoose.Schema.Types.ObjectId,
11
+ ref: 'Stocksandspare',
12
+ required: [true, 'stock ID is required']
13
+ },
14
+ workId: {
15
+ type: mongoose.Schema.Types.ObjectId,
16
+ ref: 'WorkOrder'
17
+ },
18
+ description: {
19
+ type: String,
20
+ required: true,
21
+ },
22
+ quantity: {
23
+ type: Number,
24
+ required: true,
25
+ min: 1,
26
+ }
27
+ }, {
28
+ timestamps: true,
29
+ });
30
+
31
+ module.exports = mongoose.model('StockRequisition', requisitionSchema);
@@ -1,39 +1,39 @@
1
- const mongoose = require('mongoose');
2
- const MessageSchema = mongoose.Schema({
3
- type: {
4
- type: String,
5
- required: true
6
- },
7
- recipient: {
8
- type: String,
9
- required: true,
10
- },
11
- subject: {
12
- type: String,
13
- required: false
14
- },
15
- body: {
16
- type: String,
17
- required: true
18
- },
19
- sentOn: {
20
- type: Date,
21
- required: false
22
- },
23
- createdOn:{
24
- type:Date,
25
- required:true
26
- },
27
- status: {
28
- type: String,
29
- required: true,
30
- enum: ['Not Sent', 'In Queue', 'Sent']
31
- },
32
- messageId: {
33
- type: String,
34
- required: false
35
- }
36
-
37
- })
38
- const Message = mongoose.model('Message', MessageSchema);
1
+ const mongoose = require('mongoose');
2
+ const MessageSchema = mongoose.Schema({
3
+ type: {
4
+ type: String,
5
+ required: true
6
+ },
7
+ recipient: {
8
+ type: String,
9
+ required: true,
10
+ },
11
+ subject: {
12
+ type: String,
13
+ required: false
14
+ },
15
+ body: {
16
+ type: String,
17
+ required: true
18
+ },
19
+ sentOn: {
20
+ type: Date,
21
+ required: false
22
+ },
23
+ createdOn:{
24
+ type:Date,
25
+ required:true
26
+ },
27
+ status: {
28
+ type: String,
29
+ required: true,
30
+ enum: ['Not Sent', 'In Queue', 'Sent']
31
+ },
32
+ messageId: {
33
+ type: String,
34
+ required: false
35
+ }
36
+
37
+ })
38
+ const Message = mongoose.model('Message', MessageSchema);
39
39
  module.exports = Message
@@ -1,21 +1,21 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for modules
4
- const moduleSchema = new mongoose.Schema({
5
- name: {
6
- type: String,
7
- required: [true, 'Module name is required'],
8
- trim: true,
9
- unique: true // Ensure module name is unique
10
- }
11
- }, {
12
- timestamps: true // Automatically add createdAt and updatedAt fields
13
- });
14
-
15
- // Indexes for improved performance
16
- moduleSchema.index({ name: 1 });
17
-
18
- // Compile the model from the schema
19
- const Module = mongoose.model('Module', moduleSchema);
20
-
21
- module.exports = Module;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for modules
4
+ const moduleSchema = new mongoose.Schema({
5
+ name: {
6
+ type: String,
7
+ required: [true, 'Module name is required'],
8
+ trim: true,
9
+ unique: true // Ensure module name is unique
10
+ }
11
+ }, {
12
+ timestamps: true // Automatically add createdAt and updatedAt fields
13
+ });
14
+
15
+ // Indexes for improved performance
16
+ moduleSchema.index({ name: 1 });
17
+
18
+ // Compile the model from the schema
19
+ const Module = mongoose.model('Module', moduleSchema);
20
+
21
+ module.exports = Module;
@@ -1,24 +1,36 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for Notifications
4
- const notificationSchema = new mongoose.Schema({
5
- userId: {
6
- type: mongoose.Schema.Types.ObjectId,
7
- ref: 'User',
8
- required: true
9
- },
10
- message: {
11
- type: String,
12
- required: true
13
- },
14
- dateSent: {
15
- type: Date,
16
- required: true
17
- }
18
- }, {
19
- timestamps: true
20
- });
21
-
22
- const Notification = mongoose.model('Notification', notificationSchema);
23
-
24
- module.exports = Notification;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for Notifications
4
+ const notificationSchema = new mongoose.Schema({
5
+ userId: {
6
+ type: mongoose.Schema.Types.ObjectId,
7
+ ref: 'User',
8
+ required: true
9
+ },
10
+ message: {
11
+ type: String,
12
+ required: true
13
+ },
14
+ read: {
15
+ type: Boolean,
16
+ default: false
17
+ },
18
+ dateRead: {
19
+ type: Date,
20
+ default: null
21
+ },
22
+ dateUpdated: {
23
+ type: Date,
24
+ default: null
25
+ },
26
+ dateSent: {
27
+ type: Date,
28
+ required: true
29
+ }
30
+ }, {
31
+ timestamps: true
32
+ });
33
+
34
+ const Notification = mongoose.model('Notification', notificationSchema);
35
+
36
+ module.exports = Notification;
@@ -1,77 +1,77 @@
1
- const mongoose = require("mongoose");
2
-
3
- const penaltySchema = new mongoose.Schema(
4
- {
5
- name: {
6
- type: String,
7
- required: true,
8
- },
9
- type: {
10
- type: String,
11
- required: true,
12
- enum: ['percentage', 'fixed']
13
- },
14
- effectDays: {
15
- type: Number,
16
- required: true,
17
- min: [1, "Effect days must be at least 1"]
18
- },
19
- percentage: {
20
- type: Number,
21
- required: function () {
22
- return this.type === 'percentage';
23
- },
24
- min: [0, "Percentage must be at least 0"]
25
- },
26
- amount: {
27
- type: Number,
28
- required: function () {
29
- return this.type === 'fixed';
30
- },
31
- min: [0, "Amount must be a positive number"]
32
- },
33
- module: {
34
- type: String,
35
- required: true,
36
- enum: ['levy', 'lease', 'utility']
37
- },
38
- moduleId: {
39
- type: mongoose.Schema.Types.ObjectId,
40
- required: true,
41
- refPath: 'module'
42
- },
43
- isActive: {
44
- type: Boolean,
45
- default: true,
46
- },
47
- facilityId: {
48
- type: mongoose.Schema.Types.ObjectId,
49
- ref: "Facility",
50
- required: true,
51
- index: true
52
- }
53
- },
54
- {
55
- timestamps: true,
56
- indexes: [
57
- { facilityId: 1, isActive: 1 },
58
- { moduleId: 1, module: 1 },
59
- { name: 1, facilityId: 1 }
60
- ]
61
- }
62
- );
63
-
64
- // Add any custom methods or middleware here if needed
65
- penaltySchema.pre('save', function (next) {
66
- // Clear the irrelevant field based on penalty type
67
- if (this.type === 'percentage') {
68
- this.amount = null;
69
- } else if (this.type === 'fixed') {
70
- this.percentage = null;
71
- }
72
- next();
73
- });
74
-
75
- const Penalty = mongoose.model("Penalty", penaltySchema);
76
-
1
+ const mongoose = require("mongoose");
2
+
3
+ const penaltySchema = new mongoose.Schema(
4
+ {
5
+ name: {
6
+ type: String,
7
+ required: true,
8
+ },
9
+ type: {
10
+ type: String,
11
+ required: true,
12
+ enum: ['percentage', 'fixed']
13
+ },
14
+ effectDays: {
15
+ type: Number,
16
+ required: true,
17
+ min: [1, "Effect days must be at least 1"]
18
+ },
19
+ percentage: {
20
+ type: Number,
21
+ required: function () {
22
+ return this.type === 'percentage';
23
+ },
24
+ min: [0, "Percentage must be at least 0"]
25
+ },
26
+ amount: {
27
+ type: Number,
28
+ required: function () {
29
+ return this.type === 'fixed';
30
+ },
31
+ min: [0, "Amount must be a positive number"]
32
+ },
33
+ module: {
34
+ type: String,
35
+ required: true,
36
+ enum: ['levy', 'lease', 'utility']
37
+ },
38
+ moduleId: {
39
+ type: mongoose.Schema.Types.ObjectId,
40
+ required: true,
41
+ refPath: 'module'
42
+ },
43
+ isActive: {
44
+ type: Boolean,
45
+ default: true,
46
+ },
47
+ facilityId: {
48
+ type: mongoose.Schema.Types.ObjectId,
49
+ ref: "Facility",
50
+ required: true,
51
+ index: true
52
+ }
53
+ },
54
+ {
55
+ timestamps: true,
56
+ indexes: [
57
+ { facilityId: 1, isActive: 1 },
58
+ { moduleId: 1, module: 1 },
59
+ { name: 1, facilityId: 1 }
60
+ ]
61
+ }
62
+ );
63
+
64
+ // Add any custom methods or middleware here if needed
65
+ penaltySchema.pre('save', function (next) {
66
+ // Clear the irrelevant field based on penalty type
67
+ if (this.type === 'percentage') {
68
+ this.amount = null;
69
+ } else if (this.type === 'fixed') {
70
+ this.percentage = null;
71
+ }
72
+ next();
73
+ });
74
+
75
+ const Penalty = mongoose.model("Penalty", penaltySchema);
76
+
77
77
  module.exports = Penalty;
@@ -1,33 +1,33 @@
1
- const mongoose = require("mongoose");
2
-
3
- const pendingCredentialSchema = new mongoose.Schema({
4
- userId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'User',
7
- required: true
8
- },
9
- email: String,
10
- phoneNumber: String,
11
- fullName: String,
12
- userType: String,
13
- password: String, // Temporary storage of plain password for sending
14
- facilityId: mongoose.Schema.Types.ObjectId,
15
- status: {
16
- type: String,
17
- enum: ['pending', 'sent', 'failed'],
18
- default: 'pending'
19
- },
20
- retryCount: {
21
- type: Number,
22
- default: 0
23
- },
24
- createdAt: {
25
- type: Date,
26
- default: Date.now,
27
- expires: '7d' // Auto-delete after 7 days
28
- }
29
- });
30
-
31
- const PendingCredential = mongoose.model("PendingCredential", pendingCredentialSchema);
32
-
1
+ const mongoose = require("mongoose");
2
+
3
+ const pendingCredentialSchema = new mongoose.Schema({
4
+ userId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'User',
7
+ required: true
8
+ },
9
+ email: String,
10
+ phoneNumber: String,
11
+ fullName: String,
12
+ userType: String,
13
+ password: String, // Temporary storage of plain password for sending
14
+ facilityId: mongoose.Schema.Types.ObjectId,
15
+ status: {
16
+ type: String,
17
+ enum: ['pending', 'sent', 'failed'],
18
+ default: 'pending'
19
+ },
20
+ retryCount: {
21
+ type: Number,
22
+ default: 0
23
+ },
24
+ createdAt: {
25
+ type: Date,
26
+ default: Date.now,
27
+ expires: '7d' // Auto-delete after 7 days
28
+ }
29
+ });
30
+
31
+ const PendingCredential = mongoose.model("PendingCredential", pendingCredentialSchema);
32
+
33
33
  module.exports = PendingCredential;