mirror of
https://github.com/tgstation/tgstation-server.git
synced 2026-08-21 12:06:59 +01:00
Allow null permission sets and enabled status on user/group creation
This commit is contained in:
@@ -20,7 +20,7 @@ namespace Tgstation.Server.Host.GraphQL.Mutations
|
||||
{
|
||||
public ValueTask<UserGroup> CreateUserGroup(
|
||||
string name,
|
||||
PermissionSetInput permissionSet,
|
||||
PermissionSetInput? permissionSet,
|
||||
[Service] IUserGroupAuthority userGroupAuthority,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
@@ -30,7 +30,7 @@ namespace Tgstation.Server.Host.GraphQL.Mutations
|
||||
public ValueTask<UserGroup> UpdateUserGroup(
|
||||
[ID(nameof(UserGroup))] long id,
|
||||
string? newName,
|
||||
PermissionSetInput newPermissionSet,
|
||||
PermissionSetInput? newPermissionSet,
|
||||
[Service] IUserGroupAuthority userGroupAuthority,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
|
||||
@@ -40,15 +40,14 @@ namespace Tgstation.Server.Host.GraphQL.Mutations
|
||||
public ValueTask<User> CreateUserByPasswordAndPermissionSet(
|
||||
string name,
|
||||
string password,
|
||||
bool enabled,
|
||||
bool? enabled,
|
||||
IEnumerable<OAuthConnection>? oAuthConnections,
|
||||
PermissionSetInput permissionSet,
|
||||
PermissionSetInput? permissionSet,
|
||||
[Service] IGraphQLAuthorityInvoker<IUserAuthority> userAuthority,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(name);
|
||||
ArgumentException.ThrowIfNullOrEmpty(password);
|
||||
ArgumentNullException.ThrowIfNull(permissionSet);
|
||||
ArgumentNullException.ThrowIfNull(userAuthority);
|
||||
|
||||
return userAuthority.InvokeTransformable<Models.User, User, UserGraphQLTransformer>(
|
||||
@@ -58,11 +57,13 @@ namespace Tgstation.Server.Host.GraphQL.Mutations
|
||||
Name = name,
|
||||
Password = password,
|
||||
Enabled = enabled,
|
||||
PermissionSet = new Api.Models.PermissionSet
|
||||
{
|
||||
AdministrationRights = permissionSet.AdministrationRights,
|
||||
InstanceManagerRights = permissionSet.InstanceManagerRights,
|
||||
},
|
||||
PermissionSet = permissionSet != null
|
||||
? new Api.Models.PermissionSet
|
||||
{
|
||||
AdministrationRights = permissionSet.AdministrationRights,
|
||||
InstanceManagerRights = permissionSet.InstanceManagerRights,
|
||||
}
|
||||
: null,
|
||||
OAuthConnections = oAuthConnections
|
||||
?.Select(oAuthConnection => new Api.Models.OAuthConnection
|
||||
{
|
||||
@@ -88,14 +89,13 @@ namespace Tgstation.Server.Host.GraphQL.Mutations
|
||||
[Error(typeof(ErrorMessageException))]
|
||||
public ValueTask<User> CreateUserBySystemIDAndPermissionSet(
|
||||
string systemIdentifier,
|
||||
bool enabled,
|
||||
bool? enabled,
|
||||
IEnumerable<OAuthConnection>? oAuthConnections,
|
||||
PermissionSetInput permissionSet,
|
||||
[Service] IGraphQLAuthorityInvoker<IUserAuthority> userAuthority,
|
||||
CancellationToken cancellationToken)
|
||||
{
|
||||
ArgumentException.ThrowIfNullOrWhiteSpace(systemIdentifier);
|
||||
ArgumentNullException.ThrowIfNull(permissionSet);
|
||||
ArgumentNullException.ThrowIfNull(userAuthority);
|
||||
|
||||
return userAuthority.InvokeTransformable<Models.User, User, UserGraphQLTransformer>(
|
||||
@@ -104,11 +104,13 @@ namespace Tgstation.Server.Host.GraphQL.Mutations
|
||||
{
|
||||
SystemIdentifier = systemIdentifier,
|
||||
Enabled = enabled,
|
||||
PermissionSet = new Api.Models.PermissionSet
|
||||
{
|
||||
AdministrationRights = permissionSet.AdministrationRights,
|
||||
InstanceManagerRights = permissionSet.InstanceManagerRights,
|
||||
},
|
||||
PermissionSet = permissionSet != null
|
||||
? new Api.Models.PermissionSet
|
||||
{
|
||||
AdministrationRights = permissionSet.AdministrationRights,
|
||||
InstanceManagerRights = permissionSet.InstanceManagerRights,
|
||||
}
|
||||
: null,
|
||||
OAuthConnections = oAuthConnections
|
||||
?.Select(oAuthConnection => new Api.Models.OAuthConnection
|
||||
{
|
||||
@@ -136,7 +138,7 @@ namespace Tgstation.Server.Host.GraphQL.Mutations
|
||||
public ValueTask<User> CreateUserByPasswordAndGroup(
|
||||
string name,
|
||||
string password,
|
||||
bool enabled,
|
||||
bool? enabled,
|
||||
IEnumerable<OAuthConnection>? oAuthConnections,
|
||||
[ID(nameof(UserGroup))] long groupId,
|
||||
[Service] IGraphQLAuthorityInvoker<IUserAuthority> userAuthority,
|
||||
@@ -182,7 +184,7 @@ namespace Tgstation.Server.Host.GraphQL.Mutations
|
||||
[Error(typeof(ErrorMessageException))]
|
||||
public ValueTask<User> CreateUserBySystemIDAndGroup(
|
||||
string systemIdentifier,
|
||||
bool enabled,
|
||||
bool? enabled,
|
||||
IEnumerable<OAuthConnection>? oAuthConnections,
|
||||
[ID(nameof(UserGroup))] long groupId,
|
||||
[Service] IGraphQLAuthorityInvoker<IUserAuthority> userAuthority,
|
||||
|
||||
Reference in New Issue
Block a user