From ab41e250715a297e3e2360f8ecc38c60323a66d0 Mon Sep 17 00:00:00 2001 From: Developer 02 Date: Sat, 7 Sep 2024 01:12:50 +0200 Subject: [PATCH] feat: Referenztypen zwischen Backend und Frontend standardisieren MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `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. --- .../src/app/services/configuration.service.ts | 8 +++++++- .../Controllers/HistoryController.cs | 18 ++++++++++++++++++ 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/configuration.service.ts b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/configuration.service.ts index 1f2b41e5..e27fa9aa 100644 --- a/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/configuration.service.ts +++ b/EnvelopeGenerator.GeneratorAPI/ClientApp/envelope-generator-ui/src/app/services/configuration.service.ts @@ -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(`${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; } -} \ No newline at end of file +} diff --git a/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs b/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs index 02516ecb..17431ca8 100644 --- a/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs +++ b/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs @@ -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() + .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 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;