mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-29 08:00:19 +01:00
Add user group limit to config
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Tgstation.Server.Api.Models.Internal
|
||||
{
|
||||
@@ -22,6 +22,11 @@ namespace Tgstation.Server.Api.Models.Internal
|
||||
/// </summary>
|
||||
public uint UserLimit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// The maximum number of <see cref="Models.UserGroup"/>s allowed.
|
||||
/// </summary>
|
||||
public uint UserGroupLimit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Limits the locations instances may be created or attached from.
|
||||
/// </summary>
|
||||
|
||||
@@ -43,6 +43,11 @@ namespace Tgstation.Server.Host.Configuration
|
||||
/// </summary>
|
||||
const uint DefaultUserLimit = 100;
|
||||
|
||||
/// <summary>
|
||||
/// The default value for <see cref="ServerInformation.UserGroupLimit"/>.
|
||||
/// </summary>
|
||||
const uint DefaultUserGroupLimit = 25;
|
||||
|
||||
/// <summary>
|
||||
/// The default value for <see cref="ByondTopicTimeout"/>
|
||||
/// </summary>
|
||||
@@ -102,6 +107,7 @@ namespace Tgstation.Server.Host.Configuration
|
||||
MinimumPasswordLength = DefaultMinimumPasswordLength;
|
||||
InstanceLimit = DefaultInstanceLimit;
|
||||
UserLimit = DefaultUserLimit;
|
||||
UserGroupLimit = DefaultUserGroupLimit;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -191,6 +191,7 @@ namespace Tgstation.Server.Host.Controllers
|
||||
MinimumPasswordLength = generalConfiguration.MinimumPasswordLength,
|
||||
InstanceLimit = generalConfiguration.InstanceLimit,
|
||||
UserLimit = generalConfiguration.UserLimit,
|
||||
UserGroupLimit = generalConfiguration.UserGroupLimit,
|
||||
ValidInstancePaths = generalConfiguration.ValidInstancePaths,
|
||||
WindowsHost = platformIdentifier.IsWindows,
|
||||
SwarmServers = swarmService.GetSwarmServers(),
|
||||
|
||||
@@ -8,6 +8,7 @@
|
||||
"ApiPort": 5000,
|
||||
"UseBasicWatchdog": false,
|
||||
"UserLimit": 100,
|
||||
"UserGroupLimit": 25,
|
||||
"InstanceLimit": 10,
|
||||
"ValidInstancePaths": null,
|
||||
"HostApiDocumentation": false
|
||||
|
||||
@@ -162,6 +162,7 @@ namespace Tgstation.Server.Tests
|
||||
Assert.AreEqual(10U, serverInfo.MinimumPasswordLength);
|
||||
Assert.AreEqual(11U, serverInfo.InstanceLimit);
|
||||
Assert.AreEqual(150U, serverInfo.UserLimit);
|
||||
Assert.AreEqual(47U, serverInfo.UserGroupLimit);
|
||||
Assert.AreEqual(RuntimeInformation.IsOSPlatform(OSPlatform.Windows), serverInfo.WindowsHost);
|
||||
|
||||
//check that modifying the token even slightly fucks up the auth
|
||||
|
||||
@@ -80,6 +80,7 @@ namespace Tgstation.Server.Tests
|
||||
String.Format(CultureInfo.InvariantCulture, "General:MinimumPasswordLength={0}", 10),
|
||||
String.Format(CultureInfo.InvariantCulture, "General:InstanceLimit={0}", 11),
|
||||
String.Format(CultureInfo.InvariantCulture, "General:UserLimit={0}", 150),
|
||||
String.Format(CultureInfo.InvariantCulture, "General:UserGroupLimit={0}", 47),
|
||||
String.Format(CultureInfo.InvariantCulture, "General:HostApiDocumentation={0}", DumpOpenApiSpecpath),
|
||||
String.Format(CultureInfo.InvariantCulture, "FileLogging:Directory={0}", Path.Combine(Directory, "Logs")),
|
||||
String.Format(CultureInfo.InvariantCulture, "FileLogging:LogLevel={0}", "Trace"),
|
||||
|
||||
Reference in New Issue
Block a user