allow setting meshcentral assistant type for agentinvites (#5672)

* allow setting meshcentral assistant type for agentinvites Signed-off-by: si458 <simonsmith5521@gmail.com> * forgot webserver for assistantTypeAgentInvite Signed-off-by: si458 <simonsmith5521@gmail.com> * dont use capital letters with domain args Signed-off-by: si458 <simonsmith5521@gmail.com> --------- Signed-off-by: si458 <simonsmith5521@gmail.com>

Simon Smith committed Jan 8, 2024 at 06:21 UTC e967f0097718c3451aa1619cf7b01bc31a3bef49
4 files changed +9 -3
meshcentral-config-schema.json
+5
@@ -1389,6 +1389,11 @@
1389 }
1390 }
1391 },
1392 + "assistantTypeAgentInvite": {
1393 + "type": "integer",
1394 + "default": 0,
1395 + "description": "0 = System Tray, Connect on user request, 1 = System Tray, Always Connected, 2 = Application, Connect on user request, 3 = Application, Always connected, 4 = System Tray, Monitor Only"
1396 + },
1397 "certUrl": {
1398 "type": "string",
1399 "format": "uri",
sample-config-advanced.json
+1
@@ -248,6 +248,7 @@
248 }
249 ]
250 },
251 + "_assistantTypeAgentInvite": 2,
252 "PreconfiguredScripts": [
253 {
254 "name": "Run NotePad as user",
views/agentinvite.handlebars
+1 -1
@@ -389,7 +389,7 @@
389 QH('unlinuxinstall', linuxUnInstall);
390
391 // MeshCentral Assistant
392 - url = 'meshagents?id=10006&meshid=' + meshid;
392 + url = 'meshagents?id=10006&meshid=' + meshid + '&ac={{{assistanttype}}}';
393 Q('assisturl').href = url;
394
395 // Android Setup
webserver.js
+2 -2
@@ -2255,7 +2255,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
2255 var magenturl = 'mc://' + agentServerName + ((agentHttpsPort != 443) ? (':' + agentHttpsPort) : '') + ((xdomain != '') ? ('/' + xdomain) : '') + ',' + obj.agentCertificateHashBase64 + ',' + mesh._id.split('/')[2];
2256
2257 var meshcookie = parent.encodeCookie({ m: mesh._id.split('/')[2] }, parent.invitationLinkEncryptionKey);
2258 - render(req, res, getRenderPage('agentinvite', req, domain), getRenderArgs({ meshid: meshcookie, serverport: ((args.aliasport != null) ? args.aliasport : args.port), serverhttps: 1, servernoproxy: ((domain.agentnoproxy === true) ? '1' : '0'), meshname: encodeURIComponent(mesh.name).replace(/'/g, '%27'), installflags: installflags, showagents: showagents, magenturl: magenturl }, req, domain));
2258 + render(req, res, getRenderPage('agentinvite', req, domain), getRenderArgs({ meshid: meshcookie, serverport: ((args.aliasport != null) ? args.aliasport : args.port), serverhttps: 1, servernoproxy: ((domain.agentnoproxy === true) ? '1' : '0'), meshname: encodeURIComponent(mesh.name).replace(/'/g, '%27'), installflags: installflags, showagents: showagents, magenturl: magenturl, assistanttype: (domain.assistanttypeagentinvite ? domain.assistanttypeagentinvite : 0) }, req, domain));
2259 } else if (req.query.m != null) {
2260 // The MeshId is specified in the query string, use that
2261 var mesh = obj.meshes['mesh/' + domain.id + '/' + req.query.m.toLowerCase()];
@@ -2278,7 +2278,7 @@ module.exports.CreateWebServer = function (parent, db, args, certificates, doneF
2278 var magenturl = 'mc://' + agentServerName + ((agentHttpsPort != 443) ? (':' + agentHttpsPort) : '') + ((xdomain != '') ? ('/' + xdomain) : '') + ',' + obj.agentCertificateHashBase64 + ',' + mesh._id.split('/')[2];
2279
2280 var meshcookie = parent.encodeCookie({ m: mesh._id.split('/')[2] }, parent.invitationLinkEncryptionKey);
2281 - render(req, res, getRenderPage('agentinvite', req, domain), getRenderArgs({ meshid: meshcookie, serverport: ((args.aliasport != null) ? args.aliasport : args.port), serverhttps: 1, servernoproxy: ((domain.agentnoproxy === true) ? '1' : '0'), meshname: encodeURIComponent(mesh.name).replace(/'/g, '%27'), installflags: installflags, showagents: showagents, magenturl: magenturl }, req, domain));
2281 + render(req, res, getRenderPage('agentinvite', req, domain), getRenderArgs({ meshid: meshcookie, serverport: ((args.aliasport != null) ? args.aliasport : args.port), serverhttps: 1, servernoproxy: ((domain.agentnoproxy === true) ? '1' : '0'), meshname: encodeURIComponent(mesh.name).replace(/'/g, '%27'), installflags: installflags, showagents: showagents, magenturl: magenturl, assistanttype: (domain.assistanttypeagentinvite ? domain.assistanttypeagentinvite : 0) }, req, domain));
2282 }
2283 }
2284