payservedb 4.3.7 → 4.3.9

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 (82) 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 +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 +210 -252
  33. package/src/models/item_inspection.js +67 -67
  34. package/src/models/leaseagreement.js +156 -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 +65 -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/refresh_token.js +23 -23
  48. package/src/models/reminder.js +161 -161
  49. package/src/models/report.js +13 -13
  50. package/src/models/resident.js +121 -121
  51. package/src/models/service_charge_invoice_upload.js +42 -42
  52. package/src/models/service_charge_payments.js +27 -27
  53. package/src/models/servicerequest.js +55 -55
  54. package/src/models/settings.js +62 -62
  55. package/src/models/smart_meter_daily_consumption.js +44 -44
  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/valueaddedservices.js +36 -36
  65. package/src/models/vas_invoices_upload.js +50 -50
  66. package/src/models/vas_payments.js +24 -24
  67. package/src/models/vasinvoice.js +159 -159
  68. package/src/models/vasvendor.js +57 -57
  69. package/src/models/visitLog.js +86 -86
  70. package/src/models/visitor.js +63 -63
  71. package/src/models/waitlist.js +45 -45
  72. package/src/models/water_invoice.js +192 -192
  73. package/src/models/water_meter_account.js +74 -73
  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 +88 -101
  79. package/src/models/water_meter_size.js +15 -15
  80. package/src/models/water_meters.js +110 -110
  81. package/src/models/water_meters_delivery.js +76 -76
  82. package/src/models/workorder.js +49 -49
@@ -1,110 +1,110 @@
1
- const mongoose = require('mongoose');
2
-
3
- const ticketSchema = new mongoose.Schema({
4
- facilityId: {
5
- type: mongoose.Schema.Types.ObjectId,
6
- ref: 'Facility',
7
- required: true,
8
- },
9
- ticketType: {
10
- type: String,
11
- required: true,
12
- },
13
- userId: {
14
- type: mongoose.Schema.Types.ObjectId,
15
- ref: 'User',
16
- },
17
- subject: {
18
- type: String,
19
- },
20
- description: {
21
- type: String,
22
- },
23
- priority: {
24
- type: String,
25
- },
26
- image: {
27
- type: String,
28
- },
29
- date: {
30
- type: Date,
31
- },
32
- time: {
33
- type: String,
34
- },
35
- extras: {
36
- type: String,
37
- },
38
- status: {
39
- type: String,
40
- enum: ['open', 'on hold', 'ongoing', 'resolved', 'cancelled', 'closed'],
41
- required: true,
42
- default: 'open',
43
- },
44
- customerId: {
45
- type: mongoose.Schema.Types.ObjectId,
46
- ref: 'Customer',
47
- },
48
- ticketNumber: {
49
- type: Number,
50
- },
51
- needsFix: {
52
- type: String,
53
- required: false,
54
- },
55
- byWho: {
56
- type: String,
57
- required: false,
58
- },
59
- selectedEmployee: {
60
- type: String,
61
- required: false,
62
- },
63
- selectedVendor: {
64
- type: String,
65
- required: false,
66
- },
67
- assessImage: {
68
- type: String,
69
- },
70
- closingReason: {
71
- type: String,
72
- required: false,
73
- },
74
- reviewText: {
75
- type: String,
76
- required: false,
77
- },
78
- services: [
79
- {
80
- description: {
81
- type: String,
82
- required: false,
83
- },
84
- amount: {
85
- type: Number,
86
- required: true,
87
- },
88
- },
89
- ],
90
- totalAmount: {
91
- type: Number,
92
- required: false
93
- },
94
- payer: {
95
- type: String,
96
- required: false,
97
- },
98
- reviewed: {
99
- type: Boolean,
100
- default: false,
101
- },
102
- costAttachment: {
103
- type: String,
104
- required: false,
105
- },
106
- }, {
107
- timestamps: true,
108
- });
109
-
1
+ const mongoose = require('mongoose');
2
+
3
+ const ticketSchema = new mongoose.Schema({
4
+ facilityId: {
5
+ type: mongoose.Schema.Types.ObjectId,
6
+ ref: 'Facility',
7
+ required: true,
8
+ },
9
+ ticketType: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ userId: {
14
+ type: mongoose.Schema.Types.ObjectId,
15
+ ref: 'User',
16
+ },
17
+ subject: {
18
+ type: String,
19
+ },
20
+ description: {
21
+ type: String,
22
+ },
23
+ priority: {
24
+ type: String,
25
+ },
26
+ image: {
27
+ type: String,
28
+ },
29
+ date: {
30
+ type: Date,
31
+ },
32
+ time: {
33
+ type: String,
34
+ },
35
+ extras: {
36
+ type: String,
37
+ },
38
+ status: {
39
+ type: String,
40
+ enum: ['open', 'on hold', 'ongoing', 'resolved', 'cancelled', 'closed'],
41
+ required: true,
42
+ default: 'open',
43
+ },
44
+ customerId: {
45
+ type: mongoose.Schema.Types.ObjectId,
46
+ ref: 'Customer',
47
+ },
48
+ ticketNumber: {
49
+ type: Number,
50
+ },
51
+ needsFix: {
52
+ type: String,
53
+ required: false,
54
+ },
55
+ byWho: {
56
+ type: String,
57
+ required: false,
58
+ },
59
+ selectedEmployee: {
60
+ type: String,
61
+ required: false,
62
+ },
63
+ selectedVendor: {
64
+ type: String,
65
+ required: false,
66
+ },
67
+ assessImage: {
68
+ type: String,
69
+ },
70
+ closingReason: {
71
+ type: String,
72
+ required: false,
73
+ },
74
+ reviewText: {
75
+ type: String,
76
+ required: false,
77
+ },
78
+ services: [
79
+ {
80
+ description: {
81
+ type: String,
82
+ required: false,
83
+ },
84
+ amount: {
85
+ type: Number,
86
+ required: true,
87
+ },
88
+ },
89
+ ],
90
+ totalAmount: {
91
+ type: Number,
92
+ required: false
93
+ },
94
+ payer: {
95
+ type: String,
96
+ required: false,
97
+ },
98
+ reviewed: {
99
+ type: Boolean,
100
+ default: false,
101
+ },
102
+ costAttachment: {
103
+ type: String,
104
+ required: false,
105
+ },
106
+ }, {
107
+ timestamps: true,
108
+ });
109
+
110
110
  module.exports = mongoose.model('Ticket', ticketSchema);
@@ -1,25 +1,25 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for companies
4
- const unitassetSchema = new mongoose.Schema({
5
- name: {
6
- type: String,
7
- required:true
8
- },
9
- unitId:{
10
- type: mongoose.Schema.Types.ObjectId,
11
- ref: 'Unit',
12
- }
13
-
14
-
15
- }, {
16
- timestamps: true // Automatically add createdAt and updatedAt fields
17
- });
18
-
19
- // Indexes for improved performance
20
- unitassetSchema.index({ name: 1 });
21
-
22
- // Compile the model from the schema
23
- const UnitAsset = mongoose.model('UnitAsset', unitassetSchema);
24
-
25
- module.exports = UnitAsset;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for companies
4
+ const unitassetSchema = new mongoose.Schema({
5
+ name: {
6
+ type: String,
7
+ required:true
8
+ },
9
+ unitId:{
10
+ type: mongoose.Schema.Types.ObjectId,
11
+ ref: 'Unit',
12
+ }
13
+
14
+
15
+ }, {
16
+ timestamps: true // Automatically add createdAt and updatedAt fields
17
+ });
18
+
19
+ // Indexes for improved performance
20
+ unitassetSchema.index({ name: 1 });
21
+
22
+ // Compile the model from the schema
23
+ const UnitAsset = mongoose.model('UnitAsset', unitassetSchema);
24
+
25
+ module.exports = UnitAsset;
@@ -1,70 +1,70 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for companies
4
- const unitSchema = new mongoose.Schema({
5
- name: {
6
- type: String,
7
- required: true
8
- },
9
- unitType:{
10
- type:String,
11
- required:true
12
- },
13
- division:{
14
- type:String,
15
- required:true
16
- },
17
- floorUnitNo:{
18
- type:String,
19
- required:true
20
- },
21
- lettableFloorArea:{
22
- type:String,
23
- required:false
24
- },
25
- landRateNumber:{
26
- type:String,
27
- required:false
28
- },
29
- grossArea:{
30
- type:Number,
31
- required:false
32
- },
33
- netLettableArea:{
34
- type:Number,
35
- required:false
36
- },
37
- status:{
38
- type:String,
39
- required:true
40
- },
41
- facilityId:{
42
- type: mongoose.Schema.Types.ObjectId,
43
- ref: 'Facility',
44
- },
45
-
46
- homeOwnerId:{
47
- type: mongoose.Schema.Types.ObjectId,
48
- ref: 'Customer',
49
- },
50
- tenantId:{
51
- type: mongoose.Schema.Types.ObjectId,
52
- ref: 'Customer',
53
- },
54
- residentId:{
55
- type: mongoose.Schema.Types.ObjectId,
56
- ref: 'Customer',
57
- }
58
-
59
-
60
- }, {
61
- timestamps: true // Automatically add createdAt and updatedAt fields
62
- });
63
-
64
- // Indexes for improved performance
65
- unitSchema.index({ name: 1 });
66
-
67
- // Compile the model from the schema
68
- const Unit = mongoose.model('Unit', unitSchema);
69
-
70
- module.exports = Unit;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for companies
4
+ const unitSchema = new mongoose.Schema({
5
+ name: {
6
+ type: String,
7
+ required: true
8
+ },
9
+ unitType:{
10
+ type:String,
11
+ required:true
12
+ },
13
+ division:{
14
+ type:String,
15
+ required:true
16
+ },
17
+ floorUnitNo:{
18
+ type:String,
19
+ required:true
20
+ },
21
+ lettableFloorArea:{
22
+ type:String,
23
+ required:false
24
+ },
25
+ landRateNumber:{
26
+ type:String,
27
+ required:false
28
+ },
29
+ grossArea:{
30
+ type:Number,
31
+ required:false
32
+ },
33
+ netLettableArea:{
34
+ type:Number,
35
+ required:false
36
+ },
37
+ status:{
38
+ type:String,
39
+ required:true
40
+ },
41
+ facilityId:{
42
+ type: mongoose.Schema.Types.ObjectId,
43
+ ref: 'Facility',
44
+ },
45
+
46
+ homeOwnerId:{
47
+ type: mongoose.Schema.Types.ObjectId,
48
+ ref: 'Customer',
49
+ },
50
+ tenantId:{
51
+ type: mongoose.Schema.Types.ObjectId,
52
+ ref: 'Customer',
53
+ },
54
+ residentId:{
55
+ type: mongoose.Schema.Types.ObjectId,
56
+ ref: 'Customer',
57
+ }
58
+
59
+
60
+ }, {
61
+ timestamps: true // Automatically add createdAt and updatedAt fields
62
+ });
63
+
64
+ // Indexes for improved performance
65
+ unitSchema.index({ name: 1 });
66
+
67
+ // Compile the model from the schema
68
+ const Unit = mongoose.model('Unit', unitSchema);
69
+
70
+ module.exports = Unit;
@@ -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,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;