payservedb 2.0.1 → 2.0.2

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 (38) hide show
  1. package/index.js +98 -98
  2. package/package.json +15 -15
  3. package/src/models/apilog.js +18 -18
  4. package/src/models/archivedapilog.js +18 -18
  5. package/src/models/archivedauditlog.js +83 -83
  6. package/src/models/auditlog.js +83 -83
  7. package/src/models/bankdetails.js +40 -40
  8. package/src/models/combinedUnits.js +62 -62
  9. package/src/models/company.js +52 -52
  10. package/src/models/contract.js +42 -42
  11. package/src/models/customer.js +173 -173
  12. package/src/models/email.js +24 -24
  13. package/src/models/entry_exit.js +53 -53
  14. package/src/models/facility.js +39 -39
  15. package/src/models/facilityasset.js +25 -25
  16. package/src/models/guard.js +47 -47
  17. package/src/models/invoice.js +105 -105
  18. package/src/models/invoiceBillingSetting.js +29 -29
  19. package/src/models/levy.js +49 -49
  20. package/src/models/levytype.js +19 -19
  21. package/src/models/message.js +38 -38
  22. package/src/models/module.js +21 -21
  23. package/src/models/penalty.js +51 -51
  24. package/src/models/refresh_token.js +23 -23
  25. package/src/models/reminder.js +47 -47
  26. package/src/models/settings.js +19 -19
  27. package/src/models/sms_africastalking.js +20 -20
  28. package/src/models/sms_meliora.js +16 -16
  29. package/src/models/tax.js +35 -35
  30. package/src/models/unitasset.js +25 -25
  31. package/src/models/units.js +70 -70
  32. package/src/models/user.js +93 -93
  33. package/src/models/visitLog.js +83 -83
  34. package/src/models/visitor.js +50 -50
  35. package/src/models/waitlist.js +44 -28
  36. package/src/models/waterConcentrator.js +50 -50
  37. package/src/models/waterMeter.js +50 -50
  38. package/src/models/waterMeterSetting.js +29 -29
@@ -1,93 +1,93 @@
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: false,
18
- trim: true,
19
- },
20
- idNumber: {
21
- type: String,
22
- required: false
23
- },
24
- type: {
25
- type: String,
26
- required: [true, 'Type is required'],
27
- enum: ['Company', 'Project Manager', 'Universal', 'Core', 'Resident'],
28
- },
29
- role: {
30
- type: String,
31
- required: [true, 'Role is required'],
32
- enum: ['admin', 'editor', 'user', 'guard','family'],
33
- },
34
- kyc: {
35
-
36
- Id: {
37
- type: String
38
- }
39
- },
40
- isEnabled:{
41
- type:Boolean,
42
- required:false
43
- },
44
- companies: [{
45
- type: mongoose.Schema.Types.ObjectId,
46
- ref: 'Company',
47
- }],
48
- customerData: [{
49
- facilityId: {
50
- type: mongoose.Schema.Types.ObjectId,
51
- ref: 'Facility',
52
- },
53
- customerId: {
54
- type: mongoose.Schema.Types.ObjectId,
55
- ref: 'Customer',
56
- },
57
- isEnabled:{
58
- type:Boolean,
59
- required:false
60
- }
61
- }],
62
- facilityId:{
63
- type: mongoose.Schema.Types.ObjectId,
64
- ref: 'Facility',
65
- },
66
- password: {
67
- type: String,
68
- required: [true, 'Password is required'],
69
- minlength: 8,
70
- },
71
- guardId: {
72
- type: mongoose.Schema.Types.ObjectId,
73
- ref: 'Guard',
74
- required: false,
75
- },
76
- verificationCode: {
77
- type: Number,
78
- required: false
79
- },
80
- verificationExpiration: {
81
- type: Date,
82
- required: false
83
- }
84
- }, {
85
- timestamps: true, // Automatically add createdAt and updatedAt fields
86
- });
87
-
88
-
89
- userSchema.index({ fullName: 'text', email: 'text' });
90
-
91
- const User = mongoose.model('User', userSchema);
92
-
93
- 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: false,
18
+ trim: true,
19
+ },
20
+ idNumber: {
21
+ type: String,
22
+ required: false
23
+ },
24
+ type: {
25
+ type: String,
26
+ required: [true, 'Type is required'],
27
+ enum: ['Company', 'Project Manager', 'Universal', 'Core', 'Resident'],
28
+ },
29
+ role: {
30
+ type: String,
31
+ required: [true, 'Role is required'],
32
+ enum: ['admin', 'editor', 'user', 'guard','family'],
33
+ },
34
+ kyc: {
35
+
36
+ Id: {
37
+ type: String
38
+ }
39
+ },
40
+ isEnabled:{
41
+ type:Boolean,
42
+ required:false
43
+ },
44
+ companies: [{
45
+ type: mongoose.Schema.Types.ObjectId,
46
+ ref: 'Company',
47
+ }],
48
+ customerData: [{
49
+ facilityId: {
50
+ type: mongoose.Schema.Types.ObjectId,
51
+ ref: 'Facility',
52
+ },
53
+ customerId: {
54
+ type: mongoose.Schema.Types.ObjectId,
55
+ ref: 'Customer',
56
+ },
57
+ isEnabled:{
58
+ type:Boolean,
59
+ required:false
60
+ }
61
+ }],
62
+ facilityId:{
63
+ type: mongoose.Schema.Types.ObjectId,
64
+ ref: 'Facility',
65
+ },
66
+ password: {
67
+ type: String,
68
+ required: [true, 'Password is required'],
69
+ minlength: 8,
70
+ },
71
+ guardId: {
72
+ type: mongoose.Schema.Types.ObjectId,
73
+ ref: 'Guard',
74
+ required: false,
75
+ },
76
+ verificationCode: {
77
+ type: Number,
78
+ required: false
79
+ },
80
+ verificationExpiration: {
81
+ type: Date,
82
+ required: false
83
+ }
84
+ }, {
85
+ timestamps: true, // Automatically add createdAt and updatedAt fields
86
+ });
87
+
88
+
89
+ userSchema.index({ fullName: 'text', email: 'text' });
90
+
91
+ const User = mongoose.model('User', userSchema);
92
+
93
+ module.exports = User;
@@ -1,83 +1,83 @@
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
- ref: 'Customer',
21
- },
22
- qrCode:{
23
- type:Boolean,
24
- required:false
25
- },
26
- houseNumber: {
27
- type: String,
28
- required: false
29
- },
30
- startTime: {
31
- type: Date, // Changed to Date for better handling of time
32
- required: true
33
- },
34
- endTime: {
35
- type: Date, // Changed to Date for better handling of time
36
- required: false
37
- },
38
- days:{
39
- type:Number,
40
- required:false
41
- },
42
- entryPoint:{
43
- type:String,
44
- required:false
45
- },
46
- exitPoint:{
47
- type:String,
48
- required:false
49
- },
50
- status: {
51
- type: String,
52
- required: true,
53
- enum: ['Visit Confirmation', 'Scheduled', 'Checked In','Checked Out', 'Cancelled'] // Define valid statuses
54
- // Define valid statuses
55
- },
56
- vehicle: {
57
- registration: String,
58
- make: String,
59
- color: String,
60
- occupants: String,
61
- },
62
- visitationCode: {
63
- type: Number,
64
- required: false
65
- },
66
- requestedBy:{
67
- type:mongoose.Schema.Types.ObjectId,
68
- ref:"User",
69
- required:false
70
- },
71
- facilityId: {
72
- type: mongoose.Schema.Types.ObjectId,
73
- ref: 'Facility',
74
- required: true // Ensures a facilityId is always provided
75
- }
76
- }, {
77
- timestamps: true // Automatically add createdAt and updatedAt fields
78
- });
79
-
80
- // Compile the model from the schema
81
- const VisitLog = mongoose.model('VisitLog', visitLogSchema);
82
-
83
- 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
+ ref: 'Customer',
21
+ },
22
+ qrCode:{
23
+ type:Boolean,
24
+ required:false
25
+ },
26
+ houseNumber: {
27
+ type: String,
28
+ required: false
29
+ },
30
+ startTime: {
31
+ type: Date, // Changed to Date for better handling of time
32
+ required: true
33
+ },
34
+ endTime: {
35
+ type: Date, // Changed to Date for better handling of time
36
+ required: false
37
+ },
38
+ days:{
39
+ type:Number,
40
+ required:false
41
+ },
42
+ entryPoint:{
43
+ type:String,
44
+ required:false
45
+ },
46
+ exitPoint:{
47
+ type:String,
48
+ required:false
49
+ },
50
+ status: {
51
+ type: String,
52
+ required: true,
53
+ enum: ['Visit Confirmation', 'Scheduled', 'Checked In','Checked Out', 'Cancelled'] // Define valid statuses
54
+ // Define valid statuses
55
+ },
56
+ vehicle: {
57
+ registration: String,
58
+ make: String,
59
+ color: String,
60
+ occupants: String,
61
+ },
62
+ visitationCode: {
63
+ type: Number,
64
+ required: false
65
+ },
66
+ requestedBy:{
67
+ type:mongoose.Schema.Types.ObjectId,
68
+ ref:"User",
69
+ required:false
70
+ },
71
+ facilityId: {
72
+ type: mongoose.Schema.Types.ObjectId,
73
+ ref: 'Facility',
74
+ required: true // Ensures a facilityId is always provided
75
+ }
76
+ }, {
77
+ timestamps: true // Automatically add createdAt and updatedAt fields
78
+ });
79
+
80
+ // Compile the model from the schema
81
+ const VisitLog = mongoose.model('VisitLog', visitLogSchema);
82
+
83
+ module.exports = VisitLog;
@@ -1,50 +1,50 @@
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
- type: {
30
- type: String,
31
- required: false,
32
- enum: ["Staff", "Other","Service Providers","Government Officials/Agents","Student",""]
33
- },
34
- residentId: {
35
- type: mongoose.Schema.Types.ObjectId,
36
- ref: 'Customer',
37
- },
38
- facilityId: {
39
- type: mongoose.Schema.Types.ObjectId,
40
- ref: 'Facility',
41
- },
42
- }, {
43
- timestamps: true // Automatically add createdAt and updatedAt fields
44
- });
45
-
46
- // Indexes for improved performance
47
- // Compile the model from the schema
48
- const Visitor = mongoose.model('Visitor', visitorSchema);
49
-
50
- 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
+ type: {
30
+ type: String,
31
+ required: false,
32
+ enum: ["Staff", "Other","Service Providers","Government Officials/Agents","Student",""]
33
+ },
34
+ residentId: {
35
+ type: mongoose.Schema.Types.ObjectId,
36
+ ref: 'Customer',
37
+ },
38
+ facilityId: {
39
+ type: mongoose.Schema.Types.ObjectId,
40
+ ref: 'Facility',
41
+ },
42
+ }, {
43
+ timestamps: true // Automatically add createdAt and updatedAt fields
44
+ });
45
+
46
+ // Indexes for improved performance
47
+ // Compile the model from the schema
48
+ const Visitor = mongoose.model('Visitor', visitorSchema);
49
+
50
+ module.exports = Visitor;
@@ -1,28 +1,44 @@
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
- email: {
18
- type: String,
19
- required: false
20
- },
21
- }, {
22
- timestamps: true // Automatically add createdAt and updatedAt fields
23
- });
24
-
25
-
26
- const WaitList = mongoose.model('WaitList', waitListSchema);
27
-
28
- 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
+ timestamps: true // Automatically add createdAt and updatedAt fields
39
+ });
40
+
41
+
42
+ const WaitList = mongoose.model('WaitList', waitListSchema);
43
+
44
+ module.exports = WaitList;
@@ -1,50 +1,50 @@
1
- const mongoose = require('mongoose');
2
-
3
- const waterConcentratorSchema = new mongoose.Schema({
4
- serialNumber: {
5
- type: String,
6
- required: true
7
- },
8
- manufacturer: {
9
- type: String,
10
- required: true
11
- },
12
- range: {
13
- type: Number,
14
- required: true
15
- },
16
- isInstalled: {
17
- type: Boolean,
18
- required: true
19
- },
20
- isFaulty: {
21
- type: Boolean,
22
- required: true
23
- },
24
- inStock: {
25
- type: Boolean,
26
- required: true
27
- },
28
- status: {
29
- type: String,
30
- required: true,
31
- enum: ['Offline', 'Online']
32
- },
33
- location: {
34
- lat: {
35
- type: Number,
36
- required: false
37
- },
38
- long: {
39
- type: Number,
40
- required: false
41
- }
42
- },
43
- facilityId: {
44
- type: [String], // Assuming facilityId is an array of strings
45
- required: true
46
- }
47
- });
48
-
49
- const WaterConcentrator = mongoose.model('WaterConcentrator', waterConcentratorSchema);
50
- module.exports = WaterConcentrator;
1
+ const mongoose = require('mongoose');
2
+
3
+ const waterConcentratorSchema = new mongoose.Schema({
4
+ serialNumber: {
5
+ type: String,
6
+ required: true
7
+ },
8
+ manufacturer: {
9
+ type: String,
10
+ required: true
11
+ },
12
+ range: {
13
+ type: Number,
14
+ required: true
15
+ },
16
+ isInstalled: {
17
+ type: Boolean,
18
+ required: true
19
+ },
20
+ isFaulty: {
21
+ type: Boolean,
22
+ required: true
23
+ },
24
+ inStock: {
25
+ type: Boolean,
26
+ required: true
27
+ },
28
+ status: {
29
+ type: String,
30
+ required: true,
31
+ enum: ['Offline', 'Online']
32
+ },
33
+ location: {
34
+ lat: {
35
+ type: Number,
36
+ required: false
37
+ },
38
+ long: {
39
+ type: Number,
40
+ required: false
41
+ }
42
+ },
43
+ facilityId: {
44
+ type: [String], // Assuming facilityId is an array of strings
45
+ required: true
46
+ }
47
+ });
48
+
49
+ const WaterConcentrator = mongoose.model('WaterConcentrator', waterConcentratorSchema);
50
+ module.exports = WaterConcentrator;