Skip to content

Commit

Permalink
feat(RESTConfiguration): Can delete result and header configs
Browse files Browse the repository at this point in the history
  • Loading branch information
pkuehnel committed Mar 3, 2024
1 parent 3968503 commit ceceace
Show file tree
Hide file tree
Showing 6 changed files with 70 additions and 13 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,10 @@ public interface IRestValueConfigurationService
Task<List<DtoRestValueConfiguration>> GetAllRestValueConfigurations();
Task<List<DtoRestValueConfigurationHeader>> GetHeadersByConfigurationId(int parentId);
Task<int> SaveHeader(int parentId, DtoRestValueConfigurationHeader dtoData);
Task DeleteHeader(int id);
Task<int> SaveRestValueConfiguration(DtoRestValueConfiguration dtoData);
Task<List<DtoRestValueResultConfiguration>> GetResultConfigurationsByConfigurationId(int parentId);
Task<int> SaveResultConfiguration(int parentId, DtoRestValueResultConfiguration dtoData);
Task DeleteResultConfiguration(int id);

}
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,13 @@ public async Task<int> SaveHeader(int parentId, DtoRestValueConfigurationHeader
return dbData.Id;
}

public async Task DeleteHeader(int id)
{
logger.LogTrace("{method}({id})", nameof(DeleteHeader), id);
context.RestValueConfigurationHeaders.Remove(new RestValueConfigurationHeader { Id = id });
await context.SaveChangesAsync().ConfigureAwait(false);
}

public async Task<List<DtoRestValueResultConfiguration>> GetResultConfigurationsByConfigurationId(int parentId)
{
logger.LogTrace("{method}({parentId})", nameof(GetResultConfigurationsByConfigurationId), parentId);
Expand Down Expand Up @@ -127,4 +134,11 @@ public async Task<int> SaveResultConfiguration(int parentId, DtoRestValueResultC
await context.SaveChangesAsync().ConfigureAwait(false);
return dbData.Id;
}

public async Task DeleteResultConfiguration(int id)
{
logger.LogTrace("{method}({id})", nameof(DeleteResultConfiguration), id);
context.RestValueResultConfigurations.Remove(new RestValueResultConfiguration { Id = id });
await context.SaveChangesAsync().ConfigureAwait(false);
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,11 @@
@inject IStringHelper StringHelper
@inject ISnackbar Snackbar

<h2>REST Value configuration</h2>
@foreach (var editableItem in EditableItems)
{
<div class="shadow p-3 mb-5 bg-white rounded">
<h3>HTTP Request configuration</h3>
<EditFormComponent T="DtoRestValueConfiguration" WrappedElement="editableItem" OnValidSubmit="(item) => HandleValidSubmit(item)">
<ChildContent>
<div class="p-2">
Expand Down Expand Up @@ -58,7 +60,7 @@
<div class="p-2">
Save Data to enable result configuration
</div>

}
</div>
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
@inject HttpClient HttpClient
@inject ISnackbar Snackbar

<h3>Headers</h3>
@foreach (var editableItem in EditableItems)
{
<div>
Expand Down Expand Up @@ -80,7 +81,18 @@

private async Task InvokeDeleteClicked(DtoRestValueConfigurationHeader editableItemItem)
{
throw new NotImplementedException();
if(editableItemItem.Id != default)
{
var result = await HttpClient.DeleteAsync($"/api/RestValueConfiguration/DeleteHeader?id={editableItemItem.Id}");
if (!result.IsSuccessStatusCode)
{
Snackbar.Add("Failed to delete header configuration", Severity.Error);
return;
}

}
RestValueResultHeaders.Remove(editableItemItem);
Snackbar.Add("Header deleted", Severity.Success);
}

}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,7 @@
@inject IStringHelper StringHelper
@inject ISnackbar Snackbar

<h3>Results</h3>
@foreach(var editableItem in EditableItems)
{
<div>
Expand Down Expand Up @@ -96,7 +97,7 @@
public NodePatternType NodePatternType { get; set; }

private List<DtoRestValueResultConfiguration> RestValueResultConfigurations { get; set; } = new();

private List<EditableItem<DtoRestValueResultConfiguration>> EditableItems => RestValueResultConfigurations.Select(restValueResultConfiguration => new EditableItem<DtoRestValueResultConfiguration>(restValueResultConfiguration)).ToList();

protected override async Task OnInitializedAsync()
Expand Down Expand Up @@ -137,9 +138,20 @@
editableItemItem.Operator = newItem;
}

private Task InvokeDeleteClicked(DtoRestValueResultConfiguration editableItemItem)
private async Task InvokeDeleteClicked(DtoRestValueResultConfiguration editableItemItem)
{
throw new NotImplementedException();
if(editableItemItem.Id != default)
{
var result = await HttpClient.DeleteAsync($"/api/RestValueConfiguration/DeleteResultConfiguration?id={editableItemItem.Id}");
if (!result.IsSuccessStatusCode)
{
Snackbar.Add("Failed to delete result configuration", Severity.Error);
return;
}

}
RestValueResultConfigurations.Remove(editableItemItem);
Snackbar.Add("Result configuration deleted", Severity.Success);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -22,28 +22,42 @@ public async Task<ActionResult<int>> UpdateRestValueConfiguration([FromBody] Dto
}

[HttpGet]
public async Task<ActionResult<List<DtoRestValueResultConfiguration>>> GetResultConfigurationsByConfigurationId(int parentId)
public async Task<ActionResult<List<DtoRestValueConfigurationHeader>>> GetHeadersByConfigurationId(int parentId)
{
var result = await service.GetResultConfigurationsByConfigurationId(parentId);
var result = await service.GetHeadersByConfigurationId(parentId);
return Ok(result);
}

[HttpPost]
public async Task<ActionResult<int>> SaveResultConfiguration(int parentId, [FromBody] DtoRestValueResultConfiguration dtoData)
public async Task<ActionResult<int>> SaveHeader(int parentId, [FromBody] DtoRestValueConfigurationHeader dtoData)
{
return Ok(new DtoValue<int>(await service.SaveResultConfiguration(parentId, dtoData)));
return Ok(new DtoValue<int>(await service.SaveHeader(parentId, dtoData)));
}

[HttpDelete]
public async Task<ActionResult> DeleteHeader(int id)
{
await service.DeleteHeader(id);
return Ok();
}

[HttpGet]
public async Task<ActionResult<List<DtoRestValueConfigurationHeader>>> GetHeadersByConfigurationId(int parentId)
public async Task<ActionResult<List<DtoRestValueResultConfiguration>>> GetResultConfigurationsByConfigurationId(int parentId)
{
var result = await service.GetHeadersByConfigurationId(parentId);
var result = await service.GetResultConfigurationsByConfigurationId(parentId);
return Ok(result);
}

[HttpPost]
public async Task<ActionResult<int>> SaveHeader(int parentId, [FromBody] DtoRestValueConfigurationHeader dtoData)
public async Task<ActionResult<int>> SaveResultConfiguration(int parentId, [FromBody] DtoRestValueResultConfiguration dtoData)
{
return Ok(new DtoValue<int>(await service.SaveHeader(parentId, dtoData)));
return Ok(new DtoValue<int>(await service.SaveResultConfiguration(parentId, dtoData)));
}

[HttpDelete]
public async Task<ActionResult> DeleteResultConfiguration(int id)
{
await service.DeleteResultConfiguration(id);
return Ok();
}
}

0 comments on commit ceceace

Please sign in to comment.