mirror of
https://github.com/LD-Reborn/Berufsschule_HAM.git
synced 2025-12-20 06:51:55 +00:00
Create a more general AssetResponseModel and use in delete
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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
|
||||
}
|
||||
7
src/Models/AssetsResponseModel.cs
Normal file
7
src/Models/AssetsResponseModel.cs
Normal 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;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user