mirror of
				https://github.com/Ylianst/MeshCentral.git
				synced 2025-03-09 15:40:18 +00:00 
			
		
		
		
	Merge branch 'master' into plugin-admin
This commit is contained in:
		
						commit
						8e35f432c8
					
				
					 30 changed files with 884 additions and 412 deletions
				
			
		
							
								
								
									
										16
									
								
								db.js
									
										
									
									
									
								
							
							
						
						
									
										16
									
								
								db.js
									
										
									
									
									
								
							|  | @ -687,7 +687,13 @@ module.exports.CreateDB = function (parent, func) { | |||
|             // TODO: Starting in MongoDB 4.0.3, you should use countDocuments() instead of count() that is deprecated. We should detect MongoDB version and switch.
 | ||||
|             // https://docs.mongodb.com/manual/reference/method/db.collection.countDocuments/
 | ||||
|             //obj.isMaxType = function (max, type, domainid, func) { if (max == null) { func(false); } else { obj.file.countDocuments({ type: type, domain: domainid }, function (err, count) { func((err != null) || (count > max)); }); } }
 | ||||
|             obj.isMaxType = function (max, type, domainid, func) { if (max == null) { func(false); } else { obj.file.count({ type: type, domain: domainid }, function (err, count) { func((err != null) || (count > max), count); }); } } | ||||
|             obj.isMaxType = function (max, type, domainid, func) { | ||||
|                 if (obj.eventsfile.countDocuments) { | ||||
|                     if (max == null) { func(false); } else { obj.file.countDocuments({ type: type, domain: domainid }, function (err, count) { func((err != null) || (count > max), count); }); } | ||||
|                 } else { | ||||
|                     if (max == null) { func(false); } else { obj.file.count({ type: type, domain: domainid }, function (err, count) { func((err != null) || (count > max), count); }); } | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             // Database actions on the events collection
 | ||||
|             obj.GetAllEvents = function (func) { obj.eventsfile.find({}).toArray(func); }; | ||||
|  | @ -703,6 +709,13 @@ module.exports.CreateDB = function (parent, func) { | |||
|             obj.GetNodeEventsSelfWithLimit = function (nodeid, domain, userid, limit, func) { obj.eventsfile.find({ domain: domain, nodeid: nodeid, userid: { $in: [userid, null] } }).project({ type: 0, etype: 0, _id: 0, domain: 0, ids: 0, node: 0, nodeid: 0 }).sort({ time: -1 }).limit(limit).toArray(func); }; | ||||
|             obj.RemoveAllEvents = function (domain) { obj.eventsfile.deleteMany({ domain: domain }, { multi: true }); }; | ||||
|             obj.RemoveAllNodeEvents = function (domain, nodeid) { obj.eventsfile.deleteMany({ domain: domain, nodeid: nodeid }, { multi: true }); }; | ||||
|             obj.GetFailedLoginCount = function (username, domainid, lastlogin, func) { | ||||
|                 if (obj.eventsfile.countDocuments) { | ||||
|                     obj.eventsfile.countDocuments({ action: 'authfail', username: username, domain: domainid, time: { "$gte": lastlogin } }, function (err, count) { func((err == null) ? count : 0); }); | ||||
|                 } else { | ||||
|                     obj.eventsfile.count({ action: 'authfail', username: username, domain: domainid, time: { "$gte": lastlogin } }, function (err, count) { func((err == null) ? count : 0); }); | ||||
|                 } | ||||
|             } | ||||
| 
 | ||||
|             // Database actions on the power collection
 | ||||
|             obj.getAllPower = function (func) { obj.powerfile.find({}).toArray(func); }; | ||||
|  | @ -852,6 +865,7 @@ module.exports.CreateDB = function (parent, func) { | |||
|             obj.GetNodeEventsSelfWithLimit = function (nodeid, domain, userid, limit, func) { if (obj.databaseType == 1) { obj.eventsfile.find({ domain: domain, nodeid: nodeid, userid: { $in: [userid, null] } }, { type: 0, etype: 0, _id: 0, domain: 0, ids: 0, node: 0, nodeid: 0 }).sort({ time: -1 }).limit(limit).exec(func); } else { obj.eventsfile.find({ domain: domain, nodeid: nodeid }, { type: 0, etype: 0, _id: 0, domain: 0, ids: 0, node: 0, nodeid: 0 }).sort({ time: -1 }).limit(limit, func); } }; | ||||
|             obj.RemoveAllEvents = function (domain) { obj.eventsfile.remove({ domain: domain }, { multi: true }); }; | ||||
|             obj.RemoveAllNodeEvents = function (domain, nodeid) { obj.eventsfile.remove({ domain: domain, nodeid: nodeid }, { multi: true }); }; | ||||
|             obj.GetFailedLoginCount = function (username, domainid, lastlogin, func) { obj.eventsfile.count({ action: 'authfail', username: username, domain: domainid, time: { "$gte": lastlogin } }, function (err, count) { func((err == null) ? count : 0); }); } | ||||
| 
 | ||||
|             // Database actions on the power collection
 | ||||
|             obj.getAllPower = function (func) { obj.powerfile.find({}, func); }; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue