payservedb 2.5.0 → 2.5.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 (45) hide show
  1. package/.env +2 -2
  2. package/index.js +94 -94
  3. package/package.json +16 -16
  4. package/src/models/apilog.js +18 -18
  5. package/src/models/archivedapilog.js +18 -18
  6. package/src/models/archivedauditlog.js +83 -83
  7. package/src/models/asset.js +35 -0
  8. package/src/models/audit.js +16 -16
  9. package/src/models/auditlog.js +83 -83
  10. package/src/models/bankdetails.js +40 -40
  11. package/src/models/combinedUnits.js +62 -62
  12. package/src/models/company.js +53 -53
  13. package/src/models/customer.js +174 -174
  14. package/src/models/dutyroter.js +33 -0
  15. package/src/models/email.js +24 -24
  16. package/src/models/entry_exit.js +53 -53
  17. package/src/models/facility.js +46 -46
  18. package/src/models/facilityasset.js +25 -25
  19. package/src/models/faq.js +18 -18
  20. package/src/models/guard.js +47 -47
  21. package/src/models/invoice.js +94 -94
  22. package/src/models/lease.js +25 -25
  23. package/src/models/leasetemplate.js +12 -12
  24. package/src/models/levy.js +63 -63
  25. package/src/models/levycontract.js +59 -59
  26. package/src/models/levytype.js +23 -23
  27. package/src/models/message.js +38 -38
  28. package/src/models/module.js +21 -21
  29. package/src/models/notification.js +24 -24
  30. package/src/models/penalty.js +49 -49
  31. package/src/models/refresh_token.js +23 -23
  32. package/src/models/reminder.js +61 -61
  33. package/src/models/report.js +13 -13
  34. package/src/models/resident.js +121 -121
  35. package/src/models/settings.js +19 -19
  36. package/src/models/sms_africastalking.js +20 -20
  37. package/src/models/sms_meliora.js +16 -16
  38. package/src/models/stocksandspare.js +46 -0
  39. package/src/models/tickets.js +38 -0
  40. package/src/models/unitasset.js +25 -25
  41. package/src/models/units.js +70 -70
  42. package/src/models/user.js +94 -94
  43. package/src/models/visitLog.js +86 -86
  44. package/src/models/visitor.js +54 -54
  45. package/src/models/waitlist.js +45 -45
@@ -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'],
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'],
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,86 +1,86 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for visit logs
4
- const visitLogSchema = new mongoose.Schema({
5
- visitorName: {
6
- type: String,
7
- required: true
8
- },
9
- visitorId: {
10
- type: mongoose.Schema.Types.ObjectId,
11
- ref: 'Visitor',
12
- required: true
13
- },
14
- residentName: {
15
- type: String,
16
- required: false
17
- },
18
- residentId: {
19
- type: mongoose.Schema.Types.ObjectId,
20
- },
21
- qrCode:{
22
- type:Boolean,
23
- required:false
24
- },
25
- houseNumber: {
26
- type: String,
27
- required: false
28
- },
29
- startTime: {
30
- type: String, // Changed to Date for better handling of time
31
- required: true
32
- },
33
- endTime: {
34
- type: Date, // Changed to Date for better handling of time
35
- required: false
36
- },
37
- days:{
38
- type:Number,
39
- required:false
40
- },
41
- division:{
42
- type:String,
43
- required:false
44
- },
45
- entryPoint:{
46
- type:String,
47
- required:false
48
- },
49
- exitPoint:{
50
- type:String,
51
- required:false
52
- },
53
- status: {
54
- type: String,
55
- required: true,
56
- enum: ['Visit Confirmation', 'Scheduled', 'Checked In','Checked Out', 'Cancelled'] // Define valid statuses
57
- // Define valid statuses
58
- },
59
- vehicle: {
60
- registration: String,
61
- make: String,
62
- color: String,
63
- occupants: String,
64
- },
65
- visitationCode: {
66
- type: Number,
67
- required: false
68
- },
69
- requestedBy:{
70
- type:mongoose.Schema.Types.ObjectId,
71
- ref:"User",
72
- required:false
73
- },
74
- facilityId: {
75
- type: mongoose.Schema.Types.ObjectId,
76
- ref: 'Facility',
77
- required: true // Ensures a facilityId is always provided
78
- }
79
- }, {
80
- timestamps: true // Automatically add createdAt and updatedAt fields
81
- });
82
-
83
- // Compile the model from the schema
84
- const VisitLog = mongoose.model('VisitLog', visitLogSchema);
85
-
86
- module.exports = VisitLog;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for visit logs
4
+ const visitLogSchema = new mongoose.Schema({
5
+ visitorName: {
6
+ type: String,
7
+ required: true
8
+ },
9
+ visitorId: {
10
+ type: mongoose.Schema.Types.ObjectId,
11
+ ref: 'Visitor',
12
+ required: true
13
+ },
14
+ residentName: {
15
+ type: String,
16
+ required: false
17
+ },
18
+ residentId: {
19
+ type: mongoose.Schema.Types.ObjectId,
20
+ },
21
+ qrCode:{
22
+ type:Boolean,
23
+ required:false
24
+ },
25
+ houseNumber: {
26
+ type: String,
27
+ required: false
28
+ },
29
+ startTime: {
30
+ type: String, // Changed to Date for better handling of time
31
+ required: true
32
+ },
33
+ endTime: {
34
+ type: Date, // Changed to Date for better handling of time
35
+ required: false
36
+ },
37
+ days:{
38
+ type:Number,
39
+ required:false
40
+ },
41
+ division:{
42
+ type:String,
43
+ required:false
44
+ },
45
+ entryPoint:{
46
+ type:String,
47
+ required:false
48
+ },
49
+ exitPoint:{
50
+ type:String,
51
+ required:false
52
+ },
53
+ status: {
54
+ type: String,
55
+ required: true,
56
+ enum: ['Visit Confirmation', 'Scheduled', 'Checked In','Checked Out', 'Cancelled'] // Define valid statuses
57
+ // Define valid statuses
58
+ },
59
+ vehicle: {
60
+ registration: String,
61
+ make: String,
62
+ color: String,
63
+ occupants: String,
64
+ },
65
+ visitationCode: {
66
+ type: Number,
67
+ required: false
68
+ },
69
+ requestedBy:{
70
+ type:mongoose.Schema.Types.ObjectId,
71
+ ref:"User",
72
+ required:false
73
+ },
74
+ facilityId: {
75
+ type: mongoose.Schema.Types.ObjectId,
76
+ ref: 'Facility',
77
+ required: true // Ensures a facilityId is always provided
78
+ }
79
+ }, {
80
+ timestamps: true // Automatically add createdAt and updatedAt fields
81
+ });
82
+
83
+ // Compile the model from the schema
84
+ const VisitLog = mongoose.model('VisitLog', visitLogSchema);
85
+
86
+ module.exports = VisitLog;
@@ -1,54 +1,54 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for companies
4
- const visitorSchema = new mongoose.Schema({
5
- firstName: {
6
- type: String,
7
- required: true
8
- },
9
- lastName: {
10
- type: String,
11
- required: true
12
- },
13
- phoneNumber: {
14
- type: String,
15
- required: true
16
- },
17
- email: {
18
- type: String,
19
- required: false
20
- },
21
- idNumber: {
22
- type: String,
23
- required: false
24
- },
25
- houseNumber: {
26
- type: String,
27
- required: false
28
- },
29
- status:{
30
- type:String,
31
- required:false
32
- },
33
- type: {
34
- type: String,
35
- required: false,
36
- enum: ["Staff", "Other","Service Providers","Government Officials/Agents","Student",""]
37
- },
38
- residentId: {
39
- type: mongoose.Schema.Types.ObjectId,
40
- ref: 'Customer',
41
- },
42
- facilityId: {
43
- type: mongoose.Schema.Types.ObjectId,
44
- ref: 'Facility',
45
- },
46
- }, {
47
- timestamps: true // Automatically add createdAt and updatedAt fields
48
- });
49
-
50
- // Indexes for improved performance
51
- // Compile the model from the schema
52
- const Visitor = mongoose.model('Visitor', visitorSchema);
53
-
54
- module.exports = Visitor;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for companies
4
+ const visitorSchema = new mongoose.Schema({
5
+ firstName: {
6
+ type: String,
7
+ required: true
8
+ },
9
+ lastName: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ phoneNumber: {
14
+ type: String,
15
+ required: true
16
+ },
17
+ email: {
18
+ type: String,
19
+ required: false
20
+ },
21
+ idNumber: {
22
+ type: String,
23
+ required: false
24
+ },
25
+ houseNumber: {
26
+ type: String,
27
+ required: false
28
+ },
29
+ status:{
30
+ type:String,
31
+ required:false
32
+ },
33
+ type: {
34
+ type: String,
35
+ required: false,
36
+ enum: ["Staff", "Other","Service Providers","Government Officials/Agents","Student",""]
37
+ },
38
+ residentId: {
39
+ type: mongoose.Schema.Types.ObjectId,
40
+ ref: 'Customer',
41
+ },
42
+ facilityId: {
43
+ type: mongoose.Schema.Types.ObjectId,
44
+ ref: 'Facility',
45
+ },
46
+ }, {
47
+ timestamps: true // Automatically add createdAt and updatedAt fields
48
+ });
49
+
50
+ // Indexes for improved performance
51
+ // Compile the model from the schema
52
+ const Visitor = mongoose.model('Visitor', visitorSchema);
53
+
54
+ module.exports = Visitor;
@@ -1,45 +1,45 @@
1
- const mongoose = require('mongoose');
2
-
3
- // Define the schema for companies
4
- const waitListSchema = new mongoose.Schema({
5
- firstName: {
6
- type: String,
7
- required: true
8
- },
9
- lastName: {
10
- type: String,
11
- required: true
12
- },
13
- phoneNumber: {
14
- type: String,
15
- required: true
16
- },
17
- division: {
18
- type: mongoose.Schema.Types.ObjectId,
19
- ref: 'Facility',
20
- required: true
21
- },
22
- unit: {
23
- type: mongoose.Schema.Types.ObjectId,
24
- ref: 'Unit',
25
- required: true
26
- },
27
- status: {
28
- type: String,
29
- required: true,
30
- enum: ['Waiting confirmation', 'Approved', 'Denied']
31
- },
32
- facilityId: {
33
- type: mongoose.Schema.Types.ObjectId,
34
- ref: 'Facility',
35
- required: true // Ensures a facilityId is always provided
36
- },
37
-
38
- }, {
39
- timestamps: true // Automatically add createdAt and updatedAt fields
40
- });
41
-
42
-
43
- const WaitList = mongoose.model('WaitList', waitListSchema);
44
-
45
- module.exports = WaitList;
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for companies
4
+ const waitListSchema = new mongoose.Schema({
5
+ firstName: {
6
+ type: String,
7
+ required: true
8
+ },
9
+ lastName: {
10
+ type: String,
11
+ required: true
12
+ },
13
+ phoneNumber: {
14
+ type: String,
15
+ required: true
16
+ },
17
+ division: {
18
+ type: mongoose.Schema.Types.ObjectId,
19
+ ref: 'Facility',
20
+ required: true
21
+ },
22
+ unit: {
23
+ type: mongoose.Schema.Types.ObjectId,
24
+ ref: 'Unit',
25
+ required: true
26
+ },
27
+ status: {
28
+ type: String,
29
+ required: true,
30
+ enum: ['Waiting confirmation', 'Approved', 'Denied']
31
+ },
32
+ facilityId: {
33
+ type: mongoose.Schema.Types.ObjectId,
34
+ ref: 'Facility',
35
+ required: true // Ensures a facilityId is always provided
36
+ },
37
+
38
+ }, {
39
+ timestamps: true // Automatically add createdAt and updatedAt fields
40
+ });
41
+
42
+
43
+ const WaitList = mongoose.model('WaitList', waitListSchema);
44
+
45
+ module.exports = WaitList;