Implemented ResponseModels for Assets, Reverted error handling removal

This commit is contained in:
2025-10-08 21:50:57 +02:00
parent 1d26781e8e
commit 9acc650707
2 changed files with 53 additions and 19 deletions

View File

@@ -20,20 +20,29 @@ public class AssetsController : Controller
}
[HttpGet("GetAll")]
public async Task<IEnumerable<AssetModel>> GetAllAssetModelAsync()
public async Task<AssetsIndexResponseModel> GetAllAssetModelAsync()
{
var assetsList = await _ldap.ListDeviceAsync();
AssetsIndexResponseModel result;
try
{
var assetList = await _ldap.ListDeviceAsync();
result = new AssetsIndexResponseModel(successful: true, assetsModel: assetList);
}
catch (Exception e)
{
result = new AssetsIndexResponseModel(successful: false, exception: e.Message);
}
return assetsList;
return result;
}
[HttpPost("Create")]
public async Task<AssetsResponseModel> Create(AssetsCreateRequestModel assetModel)
public async Task<AssetsCreateResponseModel> Create(AssetsCreateRequestModel assetModel)
{
AssetsResponseModel result;
AssetsCreateResponseModel result;
if (assetModel is null)
{
result = new AssetsResponseModel(
result = new AssetsCreateResponseModel(
successful: false,
exception: "Unable to create an asset because the AssetsCreateRequestModel is null.");
@@ -103,36 +112,36 @@ public class AssetsController : Controller
}
await _ldap.CreateAsset(attributeSet);
result = new AssetsResponseModel(successful: true);
result = new AssetsCreateResponseModel(successful: true);
}
catch (Exception e)
{
result = new AssetsResponseModel(successful: false, exception: e.Message);
result = new AssetsCreateResponseModel(successful: false, exception: e.Message);
}
return result;
}
[HttpDelete("Delete")]
public async Task<AssetsResponseModel> Delete([BindRequired] string cn)
public async Task<AssetsDeleteResponseModel> Delete([BindRequired] string cn)
{
AssetsResponseModel response;
AssetsDeleteResponseModel response;
return await Task.Run(async () =>
{
if (cn is null)
{
response = new AssetsResponseModel(successful: false, exception: "Cn was not provided.");
response = new AssetsDeleteResponseModel(successful: false, exception: "Cn was not provided.");
return response;
}
try
{
await _ldap.DeleteAssetAsync(cn);
response = new AssetsResponseModel(true);
response = new AssetsDeleteResponseModel(true);
}
catch (Exception e)
{
response = new AssetsResponseModel(successful: false, exception: e.Message);
response = new AssetsDeleteResponseModel(successful: false, exception: e.Message);
}
return response;
@@ -140,12 +149,12 @@ public class AssetsController : Controller
}
[HttpPatch("Update")]
public async Task<AssetsResponseModel> Update(AssetsModifyRequestModel requestModel)
public async Task<AssetsUpdateResponseModel> Update(AssetsModifyRequestModel requestModel)
{
AssetsResponseModel result;
AssetsUpdateResponseModel result;
if (requestModel is null)
{
result = new AssetsResponseModel(
result = new AssetsUpdateResponseModel(
successful: false,
exception: "Unable to update an asset because the AssetsModifyRequestModel is null");
@@ -201,11 +210,11 @@ public class AssetsController : Controller
await _ldap.UpdateAsset(cn, "description", JsonSerializer.Serialize(requestModel.Description));
}
result = new AssetsResponseModel(successful: true);
result = new AssetsUpdateResponseModel(successful: true);
}
catch (Exception e)
{
result = new AssetsResponseModel(successful: false, exception: e.Message);
result = new AssetsUpdateResponseModel(successful: false, exception: e.Message);
}
return result;