feat: Referenztypen zwischen Backend und Frontend standardisieren

- `GetReferenceTypes`-Endpunkt im `HistoryController` hinzugefügt, um Key-Value-Paare des `ReferenceType`-Enums im camelCase-Format bereitzustellen.
- `ConfigurationService` in Angular erweitert, um die `ReferenceType`-Werte vom neuen API-Endpunkt abzurufen und zu speichern.
This commit is contained in:
Developer 02 2024-09-07 01:12:50 +02:00
parent eb775da7d4
commit ab41e25071
2 changed files with 25 additions and 1 deletions

View File

@ -14,6 +14,8 @@ export class ConfigurationService implements OnInit {
private _envelopeTypeTitles! : any[];
private referenceType!: any;
constructor(private http: HttpClient) {
const api_url = inject(API_URL);
this.url = `${api_url}`;
@ -25,6 +27,10 @@ export class ConfigurationService implements OnInit {
this._envelopeTypes = res;
this._envelopeTypeTitles = res.map(e => e.title);
}});
this.http.get<any>(`${this.url}/History/reference-type`).subscribe({
next: res => this.referenceType = res
})
}
public get envelopeTypes() {
@ -34,4 +40,4 @@ export class ConfigurationService implements OnInit {
public get envelopeTypeTitles() {
return this._envelopeTypeTitles;
}
}
}

View File

@ -21,7 +21,25 @@ namespace EnvelopeGenerator.GeneratorAPI.Controllers
_service = service;
}
[HttpGet("reference-type")]
[Authorize]
public IActionResult GetReferenceTypes()
{
// Enum to Key-Value pair
var referenceTypes = Enum.GetValues(typeof(ReferenceType))
.Cast<ReferenceType>()
.ToDictionary(rt =>
{
var key = rt.ToString();
var keyAsCamelCase = char.ToLower(key[0]) + key[1..];
return keyAsCamelCase;
}, rt => (int)rt);
return Ok(referenceTypes);
}
[HttpGet]
[Authorize]
public async Task<IActionResult> GetAllAsync([FromQuery] int? envelopeId = null, [FromQuery] string? userReference = null, [FromQuery] int? referenceType = null, [FromQuery] int? status = null, [FromQuery] bool withSender = false, [FromQuery] bool withReceiver = false)
{
ReferenceType? refTypEnum = null;