Create a more general AssetResponseModel and use in delete

This commit is contained in:
anomny
2025-10-06 20:32:48 +02:00
parent 839cee9292
commit 7d167aa877
3 changed files with 14 additions and 20 deletions

View File

@@ -4,6 +4,7 @@ using Berufsschule_HAM.Services;
using System.Text.Json;
using Novell.Directory.Ldap;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc.ModelBinding;
[Authorize]
[Route("[controller]")]
@@ -107,26 +108,26 @@ public class AssetsController : Controller
}
}
[HttpGet("Delete")]
public async Task<AssetsDeleteResponseModel> Delete(string cn)
[HttpDelete("Delete")]
public async Task<AssetsResponseModel> Delete([BindRequired] string cn)
{
AssetsDeleteResponseModel response;
AssetsResponseModel response;
return await Task.Run(async () =>
{
if (cn is null)
{
response = new AssetsDeleteResponseModel(false, AssetsDeleteErrorEnum.CnIsNull);
response = new AssetsResponseModel(false, "Cn was not provided.");
return response;
}
try
{
await _ldap.DeleteAssetAsync(cn);
response = new AssetsDeleteResponseModel(true, AssetsDeleteErrorEnum.None);
response = new AssetsResponseModel(true);
}
catch (Exception e)
{
response = new AssetsDeleteResponseModel(false, AssetsDeleteErrorEnum.UnableToDeleteAsset, e.Message);
response = new AssetsResponseModel(false, e.Message);
}
return response;

View File

@@ -1,14 +0,0 @@
public class AssetsDeleteResponseModel(bool successful, AssetsDeleteErrorEnum errorReason, string exception = "none")
{
public bool Success { get; set; } = successful;
public AssetsDeleteErrorEnum Reason { get; set; } = errorReason;
public string? Exception { get; set; } = exception;
}
public enum AssetsDeleteErrorEnum
{
None,
CnIsNull,
UnableToDeleteAsset
}

View File

@@ -0,0 +1,7 @@
public class AssetsResponseModel(bool successful, string exception = "none")
{
public bool Success { get; set; } = successful;
public string? Exception { get; set; } = exception;
}