payservedb 1.0.6 → 1.0.8

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.
@@ -0,0 +1,50 @@
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for customers
4
+ const guardSchema = new mongoose.Schema({
5
+ firstName: {
6
+ type: String,
7
+ required: [true, 'First name is required'],
8
+ trim: true
9
+ },
10
+ lastName: {
11
+ type: String,
12
+ required: [true, 'Last name is required'],
13
+ trim: true
14
+ },
15
+ phoneNumber: {
16
+ type: String,
17
+ required: [true, 'Phone number is required'],
18
+ trim: true
19
+ },
20
+ entryPoint: {
21
+ type: mongoose.Schema.Types.ObjectId,
22
+ required: [true, 'Entry point is required'],
23
+ trim: true,
24
+ ref: 'Access'
25
+ },
26
+ startTime: {
27
+ type: String,
28
+ required: [true, 'Start time is required'],
29
+ trim: true
30
+ },
31
+ endTime: {
32
+ type: String,
33
+ required: [true, 'End time is required'],
34
+ trim: true
35
+ },
36
+ facilityId: {
37
+ type: mongoose.Schema.Types.ObjectId,
38
+ ref: 'Facility',
39
+ },
40
+ }, {
41
+ timestamps: true // Automatically add createdAt and updatedAt fields
42
+ });
43
+
44
+ // Indexes for improved performance
45
+ guardSchema.index({ firstName: 1 });
46
+
47
+ // Compile the model from the schema
48
+ const Guard = mongoose.model('Guard', guardSchema);
49
+
50
+ module.exports = Guard;
@@ -0,0 +1,49 @@
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for customers
4
+ const levySchema = new mongoose.Schema({
5
+ levyName: {
6
+ type: String,
7
+ required: [true, 'Levy Name is required'],
8
+ trim: true
9
+ },
10
+ levyType: {
11
+ type: String,
12
+ required: [true, 'Levy type is required'],
13
+ trim: true
14
+ },
15
+ levyApplicant: {
16
+ type: String,
17
+ required: [true, 'Levy Applicant is required'],
18
+ trim: true
19
+ },
20
+ collectionFrequency: {
21
+ type: String,
22
+ required: [true, 'Collection frequency is required'],
23
+ trim: true
24
+ },
25
+ invoiceDate: {
26
+ type: String,
27
+ required: [true, 'Date is required'],
28
+ trim: true
29
+ },
30
+ amount: {
31
+ type: String,
32
+ required: [true, 'Amount is required'],
33
+ trim: true
34
+ },
35
+ facilityId: {
36
+ type: mongoose.Schema.Types.ObjectId,
37
+ ref: 'Facility',
38
+ },
39
+ }, {
40
+ timestamps: true // Automatically add createdAt and updatedAt fields
41
+ });
42
+
43
+ // Indexes for improved performance
44
+ levySchema.index({ name: 1 });
45
+
46
+ // Compile the model from the schema
47
+ const Levy = mongoose.model('Levy', levySchema);
48
+
49
+ module.exports = Levy;
@@ -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,23 +1,23 @@
1
- const mongoose = require('mongoose');
2
-
3
- const refreshTokenSchema = new mongoose.Schema({
4
- userId: {
5
- type: String,
6
- required: true,
7
- index: true, // Index for faster lookup by userId
8
- },
9
- token: {
10
- type: String,
11
- required: true,
12
- },
13
- createdAt: {
14
- type: Date,
15
- required: true,
16
- default: Date.now,
17
- expires: '30d', // Example: Token expires after 30 days
18
- },
19
- },{timestamps: true});
20
-
21
- const RefreshToken = mongoose.model('RefreshToken', refreshTokenSchema);
22
-
23
- module.exports = RefreshToken;
1
+ const mongoose = require('mongoose');
2
+
3
+ const refreshTokenSchema = new mongoose.Schema({
4
+ userId: {
5
+ type: String,
6
+ required: true,
7
+ index: true, // Index for faster lookup by userId
8
+ },
9
+ token: {
10
+ type: String,
11
+ required: true,
12
+ },
13
+ createdAt: {
14
+ type: Date,
15
+ required: true,
16
+ default: Date.now,
17
+ expires: '30d', // Example: Token expires after 30 days
18
+ },
19
+ },{timestamps: true});
20
+
21
+ const RefreshToken = mongoose.model('RefreshToken', refreshTokenSchema);
22
+
23
+ module.exports = RefreshToken;
@@ -1,21 +1,21 @@
1
- const mongoose = require('mongoose');
2
- const SMSAfricastalkingSchema = mongoose.Schema({
3
- user: {
4
- type: String,
5
- required: true
6
- },
7
- senderId: {
8
- type: String,
9
- required: true
10
- },
11
- userName: {
12
- type: String,
13
- required: true,
14
- },
15
- apiKey: {
16
- type: String,
17
- required: true
18
- }
19
- })
20
- const SMSAfricastalking = mongoose.model('SMSAfricastalking', SMSAfricastalkingSchema);
1
+ const mongoose = require('mongoose');
2
+ const SMSAfricastalkingSchema = mongoose.Schema({
3
+ user: {
4
+ type: String,
5
+ required: true
6
+ },
7
+ senderId: {
8
+ type: String,
9
+ required: true
10
+ },
11
+ userName: {
12
+ type: String,
13
+ required: true,
14
+ },
15
+ apiKey: {
16
+ type: String,
17
+ required: true
18
+ }
19
+ })
20
+ const SMSAfricastalking = mongoose.model('SMSAfricastalking', SMSAfricastalkingSchema);
21
21
  module.exports = SMSAfricastalking
@@ -1,17 +1,17 @@
1
- const mongoose = require('mongoose');
2
- const SMSMelioraSchema = mongoose.Schema({
3
- user: {
4
- type: String,
5
- required: true
6
- },
7
- senderId: {
8
- type: String,
9
- required: true
10
- },
11
- apiKey: {
12
- type: String,
13
- required: true
14
- }
15
- })
16
- const SMSMeliora = mongoose.model('SMSMeliora', SMSMelioraSchema);
1
+ const mongoose = require('mongoose');
2
+ const SMSMelioraSchema = mongoose.Schema({
3
+ user: {
4
+ type: String,
5
+ required: true
6
+ },
7
+ senderId: {
8
+ type: String,
9
+ required: true
10
+ },
11
+ apiKey: {
12
+ type: String,
13
+ required: true
14
+ }
15
+ })
16
+ const SMSMeliora = mongoose.model('SMSMeliora', SMSMelioraSchema);
17
17
  module.exports = SMSMeliora
@@ -0,0 +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,57 +1,65 @@
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
-
47
- }, {
48
- timestamps: true // Automatically add createdAt and updatedAt fields
49
- });
50
-
51
- // Indexes for improved performance
52
- unitSchema.index({ name: 1 });
53
-
54
- // Compile the model from the schema
55
- const Unit = mongoose.model('Unit', unitSchema);
56
-
57
- 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
+ homeOwnerId: {
46
+ type: mongoose.Schema.Types.ObjectId,
47
+ ref: 'Customer',
48
+ },
49
+ tenantId: {
50
+ type: mongoose.Schema.Types.ObjectId,
51
+ ref: 'Customer',
52
+ }
53
+
54
+
55
+ }, {
56
+ timestamps: true // Automatically add createdAt and updatedAt fields
57
+ });
58
+
59
+ // Indexes for improved performance
60
+ unitSchema.index({ name: 1 });
61
+
62
+ // Compile the model from the schema
63
+ const Unit = mongoose.model('Unit', unitSchema);
64
+
65
+ module.exports = Unit;
@@ -1,59 +1,59 @@
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
- unique: true,
13
- lowercase: true,
14
- trim: true,
15
- },
16
- phoneNumber: {
17
- type: String,
18
- required: false,
19
- trim: 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', 'Customer'],
29
- },
30
- role: {
31
- type: String,
32
- required: [true, 'Role is required'],
33
- enum: ['admin', 'editor', 'user'],
34
- },
35
- kyc:{
36
-
37
- Id:{
38
- type:String
39
- }
40
- },
41
- companies: [{
42
- type: mongoose.Schema.Types.ObjectId,
43
- ref: 'Company',
44
- }],
45
- password: {
46
- type: String,
47
- required: [true, 'Password is required'],
48
- minlength: 8,
49
- },
50
- }, {
51
- timestamps: true, // Automatically add createdAt and updatedAt fields
52
- });
53
-
54
-
55
- userSchema.index({ fullName: 'text', email: 'text' });
56
-
57
- const User = mongoose.model('User', userSchema);
58
-
59
- 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
+ unique: true,
13
+ lowercase: true,
14
+ trim: true,
15
+ },
16
+ phoneNumber: {
17
+ type: String,
18
+ required: false,
19
+ trim: 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', 'Customer'],
29
+ },
30
+ role: {
31
+ type: String,
32
+ required: [true, 'Role is required'],
33
+ enum: ['admin', 'editor', 'user'],
34
+ },
35
+ kyc:{
36
+
37
+ Id:{
38
+ type:String
39
+ }
40
+ },
41
+ companies: [{
42
+ type: mongoose.Schema.Types.ObjectId,
43
+ ref: 'Company',
44
+ }],
45
+ password: {
46
+ type: String,
47
+ required: [true, 'Password is required'],
48
+ minlength: 8,
49
+ },
50
+ }, {
51
+ timestamps: true, // Automatically add createdAt and updatedAt fields
52
+ });
53
+
54
+
55
+ userSchema.index({ fullName: 'text', email: 'text' });
56
+
57
+ const User = mongoose.model('User', userSchema);
58
+
59
+ module.exports = User;
@@ -0,0 +1,73 @@
1
+ const mongoose = require('mongoose');
2
+
3
+ // Define the schema for customers
4
+ const visitorSchema = new mongoose.Schema({
5
+ firstName: {
6
+ type: String,
7
+ required: [true, 'First name is required'],
8
+ trim: true
9
+ },
10
+ lastName: {
11
+ type: String,
12
+ required: [true, 'Last name is required'],
13
+ trim: true
14
+ },
15
+ phoneNumber: {
16
+ type: String,
17
+ required: [true, 'Phone number is required'],
18
+ trim: true
19
+ },
20
+ idNumber: {
21
+ type: String,
22
+ required: [true, 'ID number is required'],
23
+ trim: true
24
+ },
25
+ carRegistration: {
26
+ type: String,
27
+ trim: true
28
+ },
29
+ carMake: {
30
+ type: String,
31
+ trim: true
32
+ },
33
+ carOccupants: {
34
+ type: String,
35
+ trim: true
36
+ },
37
+ carColor: {
38
+ type: String,
39
+ trim: true
40
+ },
41
+ visitorType: {
42
+ type: String,
43
+ trim: true
44
+ },
45
+ entryPoint: {
46
+ type: String,
47
+ trim: true
48
+ },
49
+ houseNumber: {
50
+ type: String,
51
+ trim: true
52
+ },
53
+ resident: {
54
+ type: mongoose.Schema.Types.ObjectId,
55
+ required: [true, 'Resident is required'],
56
+ trim: true,
57
+ ref: 'Customer',
58
+ },
59
+ facilityId: {
60
+ type: mongoose.Schema.Types.ObjectId,
61
+ ref: 'Facility',
62
+ },
63
+ }, {
64
+ timestamps: true // Automatically add createdAt and updatedAt fields
65
+ });
66
+
67
+ // Indexes for improved performance
68
+ visitorSchema.index({ fullName: 1 });
69
+
70
+ // Compile the model from the schema
71
+ const Visitor = mongoose.model('Visitor', visitorSchema);
72
+
73
+ module.exports = Visitor;