mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Implemented group creation button
This commit is contained in:
@@ -61,12 +61,20 @@ public class GroupsController : Controller
|
||||
});
|
||||
}
|
||||
|
||||
[HttpGet("Create")]
|
||||
public async Task<bool> Create(string cn, string gidNumber, GroupPermission[] permissions, string description)
|
||||
{
|
||||
[HttpPost("Create")]
|
||||
public async Task<GroupsCreateResponseModel> Create([FromBody]GroupsCreateRequestModel model)
|
||||
{
|
||||
if (model is null)
|
||||
{
|
||||
return new GroupsCreateResponseModel(
|
||||
successful: false,
|
||||
exception: "Unable to create a group because the GroupsCreateRequestModel is null.");
|
||||
}
|
||||
try
|
||||
{
|
||||
description ??= JsonSerializer.Serialize(new GroupPermissions() {Permissions = []});
|
||||
List<GroupPermission> permissions = model.Permissions;
|
||||
string gidNumber = "0"; // TODO implement counter
|
||||
string cn = model.Cn;
|
||||
|
||||
LdapAttributeSet attributeSet =
|
||||
[
|
||||
@@ -76,19 +84,16 @@ public class GroupsController : Controller
|
||||
new LdapAttribute("gidNumber", gidNumber),
|
||||
new LdapAttribute(
|
||||
"description",
|
||||
JsonSerializer.Serialize(new GroupPermissions()
|
||||
{
|
||||
Permissions = [.. permissions]
|
||||
}))
|
||||
JsonSerializer.Serialize(new GroupPermissions(){Permissions = permissions}))
|
||||
];
|
||||
|
||||
await _ldap.CreateGroup(cn, attributeSet);
|
||||
return true;
|
||||
return new(true);
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError("Unable to create user: {ex.Message} - {ex.StackTrace}", [ex.Message, ex.StackTrace]);
|
||||
return false;
|
||||
_logger.LogError("Unable to create group: {ex.Message} - {ex.StackTrace}", [ex.Message, ex.StackTrace]);
|
||||
return new(false, ex.Message);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user