diff --git a/src/Controllers/AssetsController.cs b/src/Controllers/AssetsController.cs index 4b62399..2d3002c 100644 --- a/src/Controllers/AssetsController.cs +++ b/src/Controllers/AssetsController.cs @@ -20,20 +20,29 @@ public class AssetsController : Controller } [HttpGet("GetAll")] - public async Task> GetAllAssetModelAsync() + public async Task 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 Create(AssetsCreateRequestModel assetModel) + public async Task 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 Delete([BindRequired] string cn) + public async Task 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 Update(AssetsModifyRequestModel requestModel) + public async Task 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; diff --git a/src/Models/AssetsResponseModel.cs b/src/Models/AssetsResponseModel.cs index 9bec9c5..e9a899e 100644 --- a/src/Models/AssetsResponseModel.cs +++ b/src/Models/AssetsResponseModel.cs @@ -1,7 +1,32 @@ -public class AssetsResponseModel(bool successful, string exception = "None") +using Berufsschule_HAM.Models; + +public class AssetsCreateResponseModel(bool successful, string exception = "None") { public bool Success { get; set; } = successful; public string? Exception { get; set; } = exception; } +public class AssetsUpdateResponseModel(bool successful, string exception = "None") +{ + public bool Success { get; set; } = successful; + + public string? Exception { get; set; } = exception; +} + +public class AssetsDeleteResponseModel(bool successful, string exception = "None") +{ + public bool Success { get; set; } = successful; + + public string? Exception { get; set; } = exception; +} + +public class AssetsIndexResponseModel(bool successful, IEnumerable? assetsModel = null, string exception = "None") +{ + public bool Success { get; set; } = successful; + + public IEnumerable? AssetsModel { get; set; } = assetsModel; + + public string? Exception { get; set; } = exception; +} +