payservedb 2.1.5 → 2.1.6

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 +174 -185
  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 +94 -94
  33. package/src/models/visitLog.js +87 -87
  34. package/src/models/visitor.js +54 -54
  35. package/src/models/waitlist.js +44 -44
  36. package/src/models/waterConcentrator.js +50 -50
  37. package/src/models/waterMeter.js +50 -50
  38. package/src/models/waterMeterSetting.js +29 -29
package/index.js CHANGED
@@ -1,98 +1,98 @@
1
- const mongoose = require('mongoose');
2
- const SMSAfricastalking = require('./src/models/sms_africastalking');
3
- const WaterConcentrator = require('./src/models/waterConcentrator');
4
-
5
- // Maintain a record of open connections for each database
6
- const connections = {};
7
- const url = '127.0.0.1:27017';
8
- const source = ''
9
-
10
- // Utility function to connect to MongoDB
11
- async function connectToMongoDB(dbName) {
12
- try {
13
- const connectionString = `mongodb://${url}/${dbName}${source}`;
14
- await mongoose.connect(connectionString, {
15
- useUnifiedTopology: true,
16
- });
17
- console.log('Connected to MongoDB');
18
- } catch (err) {
19
- console.error('Error connecting to MongoDB:', err);
20
- throw err;
21
- }
22
- }
23
-
24
- // Function to switch databases dynamically
25
- async function switchDB(dbName) {
26
- // Check if there's already a connection to the desired database
27
- if (connections[dbName]) {
28
- return connections[dbName]; // Return existing connection
29
- }
30
- try {
31
- const connectionString = `mongodb://${url}/${dbName}${source}`;
32
- const dbConnection = await mongoose.createConnection(connectionString, {
33
- useNewUrlParser: true,
34
- useUnifiedTopology: true,
35
- });
36
- connections[dbName] = dbConnection; // Store the connection for reuse
37
- console.log(`Switched to database: ${dbName}`);
38
- return dbConnection;
39
- } catch (err) {
40
- console.error(`Error switching to database: ${dbName}`, err);
41
- throw err;
42
- }
43
- }
44
-
45
-
46
- // Importing all model files (Note: models may need to be re-registered for different connections)
47
- const models = {
48
- User: require('./src/models/user'),
49
- AuditLog: require('./src/models/auditlog'),
50
- Company: require('./src/models/company'),
51
- Customer:require('./src/models/customer'),
52
- Email: require('./src/models/email'),
53
- Module: require('./src/models/module'),
54
- Facility: require('./src/models/facility'),
55
- RefreshToken: require('./src/models/refresh_token'),
56
- ApiLog: require('./src/models/apilog'),
57
- ArchivedApiLog: require('./src/models/archivedapilog'),
58
- ArchivedAuditLog: require('./src/models/archivedauditlog'),
59
- FacilityAsset: require('./src/models/facilityasset'),
60
- Unit: require('./src/models/units'),
61
- UnitAsset:require('./src/models/unitasset'),
62
- CombinedUnit: require('./src/models/combinedUnits'),
63
- Message: require('./src/models/message'),
64
- SMSAfricastalking: require('./src/models/sms_africastalking'),
65
- SMSMeliora: require('./src/models/sms_meliora'),
66
- WaterConcentrator:require('./src/models/waterConcentrator'),
67
- WaterMeter:require('./src/models/waterMeter'),
68
- WaterMeterSettings:require('./src/models/waterMeterSetting'),
69
- EntryExit:require('./src/models/entry_exit'),
70
- Guard:require('./src/models/guard'),
71
- Visitor:require('./src/models/visitor'),
72
- VisitLog:require('./src/models/visitLog'),
73
- Settings:require('./src/models/settings'),
74
- Contract:require('./src/models/contract'),
75
- Levy:require('./src/models/levy'),
76
- LevyType:require('./src/models/levytype'),
77
- Invoice:require('./src/models/invoice'),
78
- Tax:require('./src/models/tax'),
79
- InvoiceBillingSetting:require('./src/models/invoiceBillingSetting'),
80
- Penalty:require('./src/models/penalty'),
81
- Reminder:require('./src/models/reminder'),
82
- BankDetails:require('./src/models/bankdetails'),
83
- };
84
-
85
- // Function to get models dynamically from a specific database connection
86
- async function getModelFromDB(dbConnection, modelName, schema) {
87
- if (!dbConnection.models[modelName]) {
88
- return dbConnection.model(modelName, schema); // Register the model in the db connection
89
- }
90
- return dbConnection.models[modelName]; // Return existing model if already registered
91
- }
92
-
93
- module.exports = {
94
- connectToMongoDB,
95
- switchDB,
96
- getModelFromDB,
97
- ...models // Spread operator to export all models
98
- };
1
+ const mongoose = require('mongoose');
2
+ const SMSAfricastalking = require('./src/models/sms_africastalking');
3
+ const WaterConcentrator = require('./src/models/waterConcentrator');
4
+
5
+ // Maintain a record of open connections for each database
6
+ const connections = {};
7
+ const url = '127.0.0.1:27017';
8
+ const source = ''
9
+
10
+ // Utility function to connect to MongoDB
11
+ async function connectToMongoDB(dbName) {
12
+ try {
13
+ const connectionString = `mongodb://${url}/${dbName}${source}`;
14
+ await mongoose.connect(connectionString, {
15
+ useUnifiedTopology: true,
16
+ });
17
+ console.log('Connected to MongoDB');
18
+ } catch (err) {
19
+ console.error('Error connecting to MongoDB:', err);
20
+ throw err;
21
+ }
22
+ }
23
+
24
+ // Function to switch databases dynamically
25
+ async function switchDB(dbName) {
26
+ // Check if there's already a connection to the desired database
27
+ if (connections[dbName]) {
28
+ return connections[dbName]; // Return existing connection
29
+ }
30
+ try {
31
+ const connectionString = `mongodb://${url}/${dbName}${source}`;
32
+ const dbConnection = await mongoose.createConnection(connectionString, {
33
+ useNewUrlParser: true,
34
+ useUnifiedTopology: true,
35
+ });
36
+ connections[dbName] = dbConnection; // Store the connection for reuse
37
+ console.log(`Switched to database: ${dbName}`);
38
+ return dbConnection;
39
+ } catch (err) {
40
+ console.error(`Error switching to database: ${dbName}`, err);
41
+ throw err;
42
+ }
43
+ }
44
+
45
+
46
+ // Importing all model files (Note: models may need to be re-registered for different connections)
47
+ const models = {
48
+ User: require('./src/models/user'),
49
+ AuditLog: require('./src/models/auditlog'),
50
+ Company: require('./src/models/company'),
51
+ Customer:require('./src/models/customer'),
52
+ Email: require('./src/models/email'),
53
+ Module: require('./src/models/module'),
54
+ Facility: require('./src/models/facility'),
55
+ RefreshToken: require('./src/models/refresh_token'),
56
+ ApiLog: require('./src/models/apilog'),
57
+ ArchivedApiLog: require('./src/models/archivedapilog'),
58
+ ArchivedAuditLog: require('./src/models/archivedauditlog'),
59
+ FacilityAsset: require('./src/models/facilityasset'),
60
+ Unit: require('./src/models/units'),
61
+ UnitAsset:require('./src/models/unitasset'),
62
+ CombinedUnit: require('./src/models/combinedUnits'),
63
+ Message: require('./src/models/message'),
64
+ SMSAfricastalking: require('./src/models/sms_africastalking'),
65
+ SMSMeliora: require('./src/models/sms_meliora'),
66
+ WaterConcentrator:require('./src/models/waterConcentrator'),
67
+ WaterMeter:require('./src/models/waterMeter'),
68
+ WaterMeterSettings:require('./src/models/waterMeterSetting'),
69
+ EntryExit:require('./src/models/entry_exit'),
70
+ Guard:require('./src/models/guard'),
71
+ Visitor:require('./src/models/visitor'),
72
+ VisitLog:require('./src/models/visitLog'),
73
+ Settings:require('./src/models/settings'),
74
+ Contract:require('./src/models/contract'),
75
+ Levy:require('./src/models/levy'),
76
+ LevyType:require('./src/models/levytype'),
77
+ Invoice:require('./src/models/invoice'),
78
+ Tax:require('./src/models/tax'),
79
+ InvoiceBillingSetting:require('./src/models/invoiceBillingSetting'),
80
+ Penalty:require('./src/models/penalty'),
81
+ Reminder:require('./src/models/reminder'),
82
+ BankDetails:require('./src/models/bankdetails'),
83
+ };
84
+
85
+ // Function to get models dynamically from a specific database connection
86
+ async function getModelFromDB(dbConnection, modelName, schema) {
87
+ if (!dbConnection.models[modelName]) {
88
+ return dbConnection.model(modelName, schema); // Register the model in the db connection
89
+ }
90
+ return dbConnection.models[modelName]; // Return existing model if already registered
91
+ }
92
+
93
+ module.exports = {
94
+ connectToMongoDB,
95
+ switchDB,
96
+ getModelFromDB,
97
+ ...models // Spread operator to export all models
98
+ };
package/package.json CHANGED
@@ -1,15 +1,15 @@
1
- {
2
- "name": "payservedb",
3
- "version": "2.1.5",
4
- "main": "index.js",
5
- "scripts": {
6
- "test": "echo \"Error: no test specified\" && exit 1"
7
- },
8
- "keywords": [],
9
- "author": "",
10
- "license": "ISC",
11
- "description": "",
12
- "dependencies": {
13
- "mongoose": "^8.3.5"
14
- }
15
- }
1
+ {
2
+ "name": "payservedb",
3
+ "version": "2.1.6",
4
+ "main": "index.js",
5
+ "scripts": {
6
+ "test": "echo \"Error: no test specified\" && exit 1"
7
+ },
8
+ "keywords": [],
9
+ "author": "",
10
+ "license": "ISC",
11
+ "description": "",
12
+ "dependencies": {
13
+ "mongoose": "^8.3.5"
14
+ }
15
+ }
@@ -1,18 +1,18 @@
1
- // models/apiLog.js
2
- const mongoose = require('mongoose');
3
- const { Schema } = mongoose;
4
-
5
- const apiLogSchema = new Schema({
6
- url: { type: String, required: true, index: true },
7
- method: { type: String, required: true, index: true },
8
- duration: { type: Number, required: true },
9
- time: { type: Date, default: Date.now, required: true, index: true },
10
- date: { type: String, required: true, index: true },
11
- });
12
-
13
-
14
- apiLogSchema.index({ time: 1 }, { expireAfterSeconds: 60 * 60 * 24 * 365 });
15
-
16
- const ApiLog = mongoose.model('ApiLog', apiLogSchema);
17
-
18
- module.exports = ApiLog;
1
+ // models/apiLog.js
2
+ const mongoose = require('mongoose');
3
+ const { Schema } = mongoose;
4
+
5
+ const apiLogSchema = new Schema({
6
+ url: { type: String, required: true, index: true },
7
+ method: { type: String, required: true, index: true },
8
+ duration: { type: Number, required: true },
9
+ time: { type: Date, default: Date.now, required: true, index: true },
10
+ date: { type: String, required: true, index: true },
11
+ });
12
+
13
+
14
+ apiLogSchema.index({ time: 1 }, { expireAfterSeconds: 60 * 60 * 24 * 365 });
15
+
16
+ const ApiLog = mongoose.model('ApiLog', apiLogSchema);
17
+
18
+ module.exports = ApiLog;
@@ -1,18 +1,18 @@
1
-
2
- const mongoose = require('mongoose');
3
- const { Schema } = mongoose;
4
-
5
- const ArchivedApiLogSchema = new Schema({
6
- url: { type: String, required: true, index: true },
7
- method: { type: String, required: true, enum: ['GET', 'POST', 'PUT', 'DELETE'], index: true },
8
- duration: { type: Number, required: true },
9
- time: { type: Date, default: Date.now, required: true, index: true },
10
- date: { type: String, required: true, index: true },
11
- });
12
-
13
-
14
- ArchivedApiLogSchema.index({ time: 1 }, { expireAfterSeconds: 60 * 60 * 24 * 365 });
15
-
16
- const ArchivedApiLog = mongoose.model('ArchivedApiLog', ArchivedApiLogSchema);
17
-
18
- module.exports = ArchivedApiLog;
1
+
2
+ const mongoose = require('mongoose');
3
+ const { Schema } = mongoose;
4
+
5
+ const ArchivedApiLogSchema = new Schema({
6
+ url: { type: String, required: true, index: true },
7
+ method: { type: String, required: true, enum: ['GET', 'POST', 'PUT', 'DELETE'], index: true },
8
+ duration: { type: Number, required: true },
9
+ time: { type: Date, default: Date.now, required: true, index: true },
10
+ date: { type: String, required: true, index: true },
11
+ });
12
+
13
+
14
+ ArchivedApiLogSchema.index({ time: 1 }, { expireAfterSeconds: 60 * 60 * 24 * 365 });
15
+
16
+ const ArchivedApiLog = mongoose.model('ArchivedApiLog', ArchivedApiLogSchema);
17
+
18
+ module.exports = ArchivedApiLog;
@@ -1,83 +1,83 @@
1
- const mongoose = require('mongoose');
2
-
3
- const ArchivedAuditLogSchema = new mongoose.Schema({
4
- action: {
5
- type: String,
6
- required: true,
7
- trim: true
8
- },
9
- page: {
10
- type: String,
11
- required: true,
12
- trim: true
13
- },
14
- userId: {
15
- type: mongoose.Schema.Types.ObjectId,
16
- ref: 'Company',
17
- required: true
18
- },
19
- userInfo: {
20
- type: mongoose.Schema.Types.Mixed,
21
- required: true
22
- },
23
- projectId: {
24
- type: mongoose.Schema.Types.ObjectId,
25
- ref: 'Project',
26
- required: true
27
- },
28
- projectInfo: {
29
- type: mongoose.Schema.Types.Mixed,
30
- required: true
31
- },
32
- computerName: {
33
- type: String,
34
- required: true,
35
- trim: true
36
- },
37
- browser: {
38
- type: String,
39
- required: true,
40
- trim: true
41
- },
42
- ipAddress: {
43
- type: String,
44
- required: true,
45
- trim: true
46
- },
47
- time: {
48
- type: String,
49
- required: true,
50
- trim: true
51
- },
52
- date: {
53
- type: String,
54
- required: true,
55
- trim: true
56
- },
57
- createdOn: {
58
- type: Date,
59
- default: Date.now,
60
- required: true
61
- },
62
- oldData: {
63
- type: mongoose.Schema.Types.Mixed,
64
- default: {}
65
- },
66
- newData: {
67
- type: mongoose.Schema.Types.Mixed,
68
- default: {}
69
- },
70
- deletedData: {
71
- type: mongoose.Schema.Types.Mixed,
72
- default: {}
73
- }
74
- }, {
75
- timestamps: true
76
- });
77
-
78
- ArchivedAuditLogSchema.index({ userId: 1, projectId: 1, createdOn: -1 });
79
- ArchivedAuditLogSchema.index({ action: 1 });
80
- ArchivedAuditLogSchema.index({ page: 1 });
81
- const ArchivedAuditLog = mongoose.model('ArchivedAuditLog', ArchivedAuditLogSchema);
82
-
83
- module.exports = ArchivedAuditLog;
1
+ const mongoose = require('mongoose');
2
+
3
+ const ArchivedAuditLogSchema = new mongoose.Schema({
4
+ action: {
5
+ type: String,
6
+ required: true,
7
+ trim: true
8
+ },
9
+ page: {
10
+ type: String,
11
+ required: true,
12
+ trim: true
13
+ },
14
+ userId: {
15
+ type: mongoose.Schema.Types.ObjectId,
16
+ ref: 'Company',
17
+ required: true
18
+ },
19
+ userInfo: {
20
+ type: mongoose.Schema.Types.Mixed,
21
+ required: true
22
+ },
23
+ projectId: {
24
+ type: mongoose.Schema.Types.ObjectId,
25
+ ref: 'Project',
26
+ required: true
27
+ },
28
+ projectInfo: {
29
+ type: mongoose.Schema.Types.Mixed,
30
+ required: true
31
+ },
32
+ computerName: {
33
+ type: String,
34
+ required: true,
35
+ trim: true
36
+ },
37
+ browser: {
38
+ type: String,
39
+ required: true,
40
+ trim: true
41
+ },
42
+ ipAddress: {
43
+ type: String,
44
+ required: true,
45
+ trim: true
46
+ },
47
+ time: {
48
+ type: String,
49
+ required: true,
50
+ trim: true
51
+ },
52
+ date: {
53
+ type: String,
54
+ required: true,
55
+ trim: true
56
+ },
57
+ createdOn: {
58
+ type: Date,
59
+ default: Date.now,
60
+ required: true
61
+ },
62
+ oldData: {
63
+ type: mongoose.Schema.Types.Mixed,
64
+ default: {}
65
+ },
66
+ newData: {
67
+ type: mongoose.Schema.Types.Mixed,
68
+ default: {}
69
+ },
70
+ deletedData: {
71
+ type: mongoose.Schema.Types.Mixed,
72
+ default: {}
73
+ }
74
+ }, {
75
+ timestamps: true
76
+ });
77
+
78
+ ArchivedAuditLogSchema.index({ userId: 1, projectId: 1, createdOn: -1 });
79
+ ArchivedAuditLogSchema.index({ action: 1 });
80
+ ArchivedAuditLogSchema.index({ page: 1 });
81
+ const ArchivedAuditLog = mongoose.model('ArchivedAuditLog', ArchivedAuditLogSchema);
82
+
83
+ module.exports = ArchivedAuditLog;
@@ -1,83 +1,83 @@
1
- const mongoose = require('mongoose');
2
-
3
- const auditLogSchema = new mongoose.Schema({
4
- action: {
5
- type: String,
6
- required: true,
7
- trim: true
8
- },
9
- page: {
10
- type: String,
11
- required: true,
12
- trim: true
13
- },
14
- userId: {
15
- type: mongoose.Schema.Types.ObjectId,
16
- ref: 'Company',
17
- required: true
18
- },
19
- userInfo: {
20
- type: mongoose.Schema.Types.Mixed,
21
- required: true
22
- },
23
- projectId: {
24
- type: mongoose.Schema.Types.ObjectId,
25
- ref: 'Project',
26
- required: true
27
- },
28
- projectInfo: {
29
- type: mongoose.Schema.Types.Mixed,
30
- required: true
31
- },
32
- computerName: {
33
- type: String,
34
- required: true,
35
- trim: true
36
- },
37
- browser: {
38
- type: String,
39
- required: true,
40
- trim: true
41
- },
42
- ipAddress: {
43
- type: String,
44
- required: true,
45
- trim: true
46
- },
47
- time: {
48
- type: String,
49
- required: true,
50
- trim: true
51
- },
52
- date: {
53
- type: String,
54
- required: true,
55
- trim: true
56
- },
57
- createdOn: {
58
- type: Date,
59
- default: Date.now,
60
- required: true
61
- },
62
- oldData: {
63
- type: mongoose.Schema.Types.Mixed,
64
- default: {}
65
- },
66
- newData: {
67
- type: mongoose.Schema.Types.Mixed,
68
- default: {}
69
- },
70
- deletedData: {
71
- type: mongoose.Schema.Types.Mixed,
72
- default: {}
73
- }
74
- }, {
75
- timestamps: true
76
- });
77
-
78
- auditLogSchema.index({ userId: 1, projectId: 1, createdOn: -1 });
79
- auditLogSchema.index({ action: 1 });
80
- auditLogSchema.index({ page: 1 });
81
- const AuditLog = mongoose.model('AuditLog', auditLogSchema);
82
-
83
- module.exports = AuditLog;
1
+ const mongoose = require('mongoose');
2
+
3
+ const auditLogSchema = new mongoose.Schema({
4
+ action: {
5
+ type: String,
6
+ required: true,
7
+ trim: true
8
+ },
9
+ page: {
10
+ type: String,
11
+ required: true,
12
+ trim: true
13
+ },
14
+ userId: {
15
+ type: mongoose.Schema.Types.ObjectId,
16
+ ref: 'Company',
17
+ required: true
18
+ },
19
+ userInfo: {
20
+ type: mongoose.Schema.Types.Mixed,
21
+ required: true
22
+ },
23
+ projectId: {
24
+ type: mongoose.Schema.Types.ObjectId,
25
+ ref: 'Project',
26
+ required: true
27
+ },
28
+ projectInfo: {
29
+ type: mongoose.Schema.Types.Mixed,
30
+ required: true
31
+ },
32
+ computerName: {
33
+ type: String,
34
+ required: true,
35
+ trim: true
36
+ },
37
+ browser: {
38
+ type: String,
39
+ required: true,
40
+ trim: true
41
+ },
42
+ ipAddress: {
43
+ type: String,
44
+ required: true,
45
+ trim: true
46
+ },
47
+ time: {
48
+ type: String,
49
+ required: true,
50
+ trim: true
51
+ },
52
+ date: {
53
+ type: String,
54
+ required: true,
55
+ trim: true
56
+ },
57
+ createdOn: {
58
+ type: Date,
59
+ default: Date.now,
60
+ required: true
61
+ },
62
+ oldData: {
63
+ type: mongoose.Schema.Types.Mixed,
64
+ default: {}
65
+ },
66
+ newData: {
67
+ type: mongoose.Schema.Types.Mixed,
68
+ default: {}
69
+ },
70
+ deletedData: {
71
+ type: mongoose.Schema.Types.Mixed,
72
+ default: {}
73
+ }
74
+ }, {
75
+ timestamps: true
76
+ });
77
+
78
+ auditLogSchema.index({ userId: 1, projectId: 1, createdOn: -1 });
79
+ auditLogSchema.index({ action: 1 });
80
+ auditLogSchema.index({ page: 1 });
81
+ const AuditLog = mongoose.model('AuditLog', auditLogSchema);
82
+
83
+ module.exports = AuditLog;