payservedb 4.1.9 → 4.2.1

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 (81) hide show
  1. package/.env +2 -2
  2. package/index.js +151 -151
  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/analog_water_meter.js +68 -68
  7. package/src/models/apilog.js +18 -18
  8. package/src/models/archivedapilog.js +18 -18
  9. package/src/models/archivedauditlog.js +83 -83
  10. package/src/models/asset.js +34 -34
  11. package/src/models/auditlog.js +83 -83
  12. package/src/models/bankdetails.js +40 -40
  13. package/src/models/budget.js +33 -33
  14. package/src/models/budgetCategory.js +19 -19
  15. package/src/models/cashpayment.js +185 -185
  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 +178 -178
  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 +58 -58
  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 +209 -204
  33. package/src/models/leaseagreement.js +156 -162
  34. package/src/models/leasetemplate.js +17 -17
  35. package/src/models/levy.js +72 -72
  36. package/src/models/levy_invoice_settings.js +26 -26
  37. package/src/models/levycontract.js +65 -60
  38. package/src/models/levytype.js +23 -23
  39. package/src/models/maintenance_service_vendor.js +38 -38
  40. package/src/models/maintenance_services.js +17 -17
  41. package/src/models/maintenancerequisition.js +31 -31
  42. package/src/models/message.js +38 -38
  43. package/src/models/module.js +21 -21
  44. package/src/models/notification.js +24 -24
  45. package/src/models/penalty.js +76 -76
  46. package/src/models/refresh_token.js +23 -23
  47. package/src/models/reminder.js +161 -161
  48. package/src/models/report.js +13 -13
  49. package/src/models/resident.js +121 -121
  50. package/src/models/service_charge_invoice_upload.js +42 -42
  51. package/src/models/service_charge_payments.js +27 -27
  52. package/src/models/servicerequest.js +55 -55
  53. package/src/models/settings.js +62 -62
  54. package/src/models/smart_meter_daily_consumption.js +44 -44
  55. package/src/models/smart_water_meter.js +85 -85
  56. package/src/models/sms_africastalking.js +20 -20
  57. package/src/models/sms_meliora.js +16 -16
  58. package/src/models/staff.js +36 -36
  59. package/src/models/stocksandspare.js +34 -34
  60. package/src/models/tickets.js +109 -109
  61. package/src/models/unitasset.js +25 -25
  62. package/src/models/units.js +70 -70
  63. package/src/models/user.js +94 -94
  64. package/src/models/user_account.js +80 -80
  65. package/src/models/valueaddedservices.js +36 -36
  66. package/src/models/vas_invoices_upload.js +50 -50
  67. package/src/models/vas_payments.js +24 -24
  68. package/src/models/vasinvoice.js +159 -159
  69. package/src/models/vasvendor.js +57 -57
  70. package/src/models/visitLog.js +86 -86
  71. package/src/models/visitor.js +63 -63
  72. package/src/models/waitlist.js +45 -45
  73. package/src/models/water_invoice.js +192 -192
  74. package/src/models/water_meter_communication.js +17 -17
  75. package/src/models/water_meter_concentrator.js +59 -59
  76. package/src/models/water_meter_iot_cards.js +34 -34
  77. package/src/models/water_meter_manufacturer.js +35 -35
  78. package/src/models/water_meter_settings.js +84 -84
  79. package/src/models/water_meter_size.js +15 -15
  80. package/src/models/water_meters_delivery.js +76 -76
  81. package/src/models/workorder.js +49 -49
@@ -1,94 +1,94 @@
1
- const mongoose = require('mongoose');
2
-
3
- const userSchema = new mongoose.Schema({
4
- fullName: {
5
- type: String,
6
- required: [true, 'Full name is required'],
7
- trim: true,
8
- },
9
- email: {
10
- type: String,
11
- required: [true, 'Email is required'],
12
- lowercase: true,
13
- trim: true,
14
- },
15
- phoneNumber: {
16
- type: String,
17
- required: [true, 'Phone number is required'],
18
- trim: true,
19
- unique: true
20
- },
21
- idNumber: {
22
- type: String,
23
- required: false
24
- },
25
- type: {
26
- type: String,
27
- required: [true, 'Type is required'],
28
- enum: ['Company', 'Project Manager', 'Universal', 'Core', 'Resident','Landlord'],
29
- },
30
- role: {
31
- type: String,
32
- required: [true, 'Role is required'],
33
- enum: ['admin', 'editor', 'user', 'guard','family'],
34
- },
35
- kyc: {
36
-
37
- Id: {
38
- type: String
39
- }
40
- },
41
- isEnabled:{
42
- type:Boolean,
43
- required:false
44
- },
45
- companies: [{
46
- type: mongoose.Schema.Types.ObjectId,
47
- ref: 'Company',
48
- }],
49
- customerData: [{
50
- facilityId: {
51
- type: mongoose.Schema.Types.ObjectId,
52
- ref: 'Facility',
53
- },
54
- customerId: {
55
- type: mongoose.Schema.Types.ObjectId,
56
- ref: 'Customer',
57
- },
58
- isEnabled:{
59
- type:Boolean,
60
- required:false
61
- }
62
- }],
63
- facilityId:{
64
- type: mongoose.Schema.Types.ObjectId,
65
- ref: 'Facility',
66
- },
67
- password: {
68
- type: String,
69
- required: [true, 'Password is required'],
70
- minlength: 8,
71
- },
72
- guardId: {
73
- type: mongoose.Schema.Types.ObjectId,
74
- ref: 'Guard',
75
- required: false,
76
- },
77
- verificationCode: {
78
- type: Number,
79
- required: false
80
- },
81
- verificationExpiration: {
82
- type: Date,
83
- required: false
84
- }
85
- }, {
86
- timestamps: true, // Automatically add createdAt and updatedAt fields
87
- });
88
-
89
-
90
- userSchema.index({ fullName: 'text', email: 'text' });
91
-
92
- const User = mongoose.model('User', userSchema);
93
-
94
- module.exports = User;
1
+ const mongoose = require('mongoose');
2
+
3
+ const userSchema = new mongoose.Schema({
4
+ fullName: {
5
+ type: String,
6
+ required: [true, 'Full name is required'],
7
+ trim: true,
8
+ },
9
+ email: {
10
+ type: String,
11
+ required: [true, 'Email is required'],
12
+ lowercase: true,
13
+ trim: true,
14
+ },
15
+ phoneNumber: {
16
+ type: String,
17
+ required: [true, 'Phone number is required'],
18
+ trim: true,
19
+ unique: true
20
+ },
21
+ idNumber: {
22
+ type: String,
23
+ required: false
24
+ },
25
+ type: {
26
+ type: String,
27
+ required: [true, 'Type is required'],
28
+ enum: ['Company', 'Project Manager', 'Universal', 'Core', 'Resident','Landlord'],
29
+ },
30
+ role: {
31
+ type: String,
32
+ required: [true, 'Role is required'],
33
+ enum: ['admin', 'editor', 'user', 'guard','family'],
34
+ },
35
+ kyc: {
36
+
37
+ Id: {
38
+ type: String
39
+ }
40
+ },
41
+ isEnabled:{
42
+ type:Boolean,
43
+ required:false
44
+ },
45
+ companies: [{
46
+ type: mongoose.Schema.Types.ObjectId,
47
+ ref: 'Company',
48
+ }],
49
+ customerData: [{
50
+ facilityId: {
51
+ type: mongoose.Schema.Types.ObjectId,
52
+ ref: 'Facility',
53
+ },
54
+ customerId: {
55
+ type: mongoose.Schema.Types.ObjectId,
56
+ ref: 'Customer',
57
+ },
58
+ isEnabled:{
59
+ type:Boolean,
60
+ required:false
61
+ }
62
+ }],
63
+ facilityId:{
64
+ type: mongoose.Schema.Types.ObjectId,
65
+ ref: 'Facility',
66
+ },
67
+ password: {
68
+ type: String,
69
+ required: [true, 'Password is required'],
70
+ minlength: 8,
71
+ },
72
+ guardId: {
73
+ type: mongoose.Schema.Types.ObjectId,
74
+ ref: 'Guard',
75
+ required: false,
76
+ },
77
+ verificationCode: {
78
+ type: Number,
79
+ required: false
80
+ },
81
+ verificationExpiration: {
82
+ type: Date,
83
+ required: false
84
+ }
85
+ }, {
86
+ timestamps: true, // Automatically add createdAt and updatedAt fields
87
+ });
88
+
89
+
90
+ userSchema.index({ fullName: 'text', email: 'text' });
91
+
92
+ const User = mongoose.model('User', userSchema);
93
+
94
+ module.exports = User;
@@ -1,80 +1,80 @@
1
- const mongoose = require('mongoose');
2
-
3
- const userAccountSchema = 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
- required: true,
67
- refPath: 'meterModel'
68
- },
69
- meterModel: {
70
- type: String,
71
- required: true,
72
- enum: ['Meter', 'AnalogMeter']
73
- }
74
- }, {
75
- timestamps: true
76
- });
77
-
78
- const UserAccount = mongoose.model('UserAccount', userAccountSchema);
79
-
80
- module.exports = UserAccount;
1
+ const mongoose = require('mongoose');
2
+
3
+ const userAccountSchema = 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
+ required: true,
67
+ refPath: 'meterModel'
68
+ },
69
+ meterModel: {
70
+ type: String,
71
+ required: true,
72
+ enum: ['Meter', 'AnalogMeter']
73
+ }
74
+ }, {
75
+ timestamps: true
76
+ });
77
+
78
+ const UserAccount = mongoose.model('UserAccount', userAccountSchema);
79
+
80
+ module.exports = UserAccount;
@@ -1,37 +1,37 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for ValueAddedServices
4
- const valueAddedServiceSchema = new mongoose.Schema({
5
- facilityId: {
6
- type: mongoose.Schema.Types.ObjectId,
7
- ref: 'Facility',
8
- required: true
9
- },
10
- serviceName: {
11
- type: String,
12
- required: true,
13
- trim: true
14
- },
15
- serviceType: {
16
- type: String,
17
- required: true,
18
- },
19
- appliesTo: {
20
- type: [String],
21
- default: []
22
- },
23
- applicableTaxes: [{
24
- taxId: {
25
- type: mongoose.Schema.Types.ObjectId,
26
- ref: 'CountryTaxRate'
27
- },
28
- taxName: String,
29
- taxRate: Number
30
- }]
31
- }, {
32
- timestamps: true
33
- });
34
-
35
- const ValueAddedService = mongoose.model('ValueAddedService', valueAddedServiceSchema);
36
-
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for ValueAddedServices
4
+ const valueAddedServiceSchema = new mongoose.Schema({
5
+ facilityId: {
6
+ type: mongoose.Schema.Types.ObjectId,
7
+ ref: 'Facility',
8
+ required: true
9
+ },
10
+ serviceName: {
11
+ type: String,
12
+ required: true,
13
+ trim: true
14
+ },
15
+ serviceType: {
16
+ type: String,
17
+ required: true,
18
+ },
19
+ appliesTo: {
20
+ type: [String],
21
+ default: []
22
+ },
23
+ applicableTaxes: [{
24
+ taxId: {
25
+ type: mongoose.Schema.Types.ObjectId,
26
+ ref: 'CountryTaxRate'
27
+ },
28
+ taxName: String,
29
+ taxRate: Number
30
+ }]
31
+ }, {
32
+ timestamps: true
33
+ });
34
+
35
+ const ValueAddedService = mongoose.model('ValueAddedService', valueAddedServiceSchema);
36
+
37
37
  module.exports = ValueAddedService;
@@ -1,51 +1,51 @@
1
- const mongoose = require('mongoose');
2
-
3
- const VasInvoicesQuickBooksSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- },
9
- customerId: {
10
- type: String,
11
- required: true,
12
- },
13
- item: {
14
- type: String,
15
- required: true,
16
- },
17
- description: {
18
- type: String,
19
- required: true,
20
- },
21
- quantity: {
22
- type: Number,
23
- required: true,
24
- },
25
- rate: {
26
- type: Number,
27
- required: true,
28
- },
29
- ammount: {
30
- type: Number,
31
- required: true
32
- },
33
- vat: {
34
- type: Number,
35
- required: true,
36
- },
37
- account: {
38
- type: String,
39
- required: true,
40
- },
41
- classType: {
42
- type: String,
43
- required: true
44
- }
45
- })
46
-
47
- const VasInvoicesQuickBooks = mongoose.model(
48
- 'VasInvoicesQuickBooks',
49
- VasInvoicesQuickBooksSchema
50
- );
1
+ const mongoose = require('mongoose');
2
+
3
+ const VasInvoicesQuickBooksSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ },
9
+ customerId: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ item: {
14
+ type: String,
15
+ required: true,
16
+ },
17
+ description: {
18
+ type: String,
19
+ required: true,
20
+ },
21
+ quantity: {
22
+ type: Number,
23
+ required: true,
24
+ },
25
+ rate: {
26
+ type: Number,
27
+ required: true,
28
+ },
29
+ ammount: {
30
+ type: Number,
31
+ required: true
32
+ },
33
+ vat: {
34
+ type: Number,
35
+ required: true,
36
+ },
37
+ account: {
38
+ type: String,
39
+ required: true,
40
+ },
41
+ classType: {
42
+ type: String,
43
+ required: true
44
+ }
45
+ })
46
+
47
+ const VasInvoicesQuickBooks = mongoose.model(
48
+ 'VasInvoicesQuickBooks',
49
+ VasInvoicesQuickBooksSchema
50
+ );
51
51
  module.exports = VasInvoicesQuickBooks
@@ -1,25 +1,25 @@
1
- const mongoose = require("mongoose");
2
-
3
- const VasPaymentSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- },
9
- customerId: {
10
- type: String,
11
- required: true,
12
- },
13
- amount: {
14
- type: Number,
15
- required: true,
16
- },
17
- account: {
18
- type: String,
19
- required: true,
20
- },
21
- });
22
-
23
- const VasPayment = mongoose.model("VasPayment", VasPaymentSchema);
24
-
1
+ const mongoose = require("mongoose");
2
+
3
+ const VasPaymentSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ },
9
+ customerId: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ amount: {
14
+ type: Number,
15
+ required: true,
16
+ },
17
+ account: {
18
+ type: String,
19
+ required: true,
20
+ },
21
+ });
22
+
23
+ const VasPayment = mongoose.model("VasPayment", VasPaymentSchema);
24
+
25
25
  module.exports = VasPayment;