diff --git a/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs b/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs index a05dcf2b..844b7f7e 100644 --- a/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs +++ b/EnvelopeGenerator.GeneratorAPI/Controllers/HistoryController.cs @@ -30,6 +30,32 @@ public class HistoryController : ControllerBase _service = service; } + /// + /// Ruft die verfügbaren Referenztypen ab und gibt sie als Schlüssel-Wert-Paare zurück. + /// + /// Ein Ok-Ergebnis mit einem Wörterbuch, das die Referenztypen als Schlüssel-Wert-Paare enthält. + /// Die Anfrage war erfolgreich, und die Referenztypen werden zurückgegeben. + /// Die Anfrage war ungültig oder unvollständig. + /// Der Benutzer ist nicht authentifiziert. + /// Der Benutzer hat keine Berechtigung, auf die Ressource zuzugreifen. + /// Ein unerwarteter Fehler ist aufgetreten. + [HttpGet("reference-type")] + [Authorize] + public IActionResult GetReferenceTypes() + { + // Enum zu Schlüssel-Wert-Paar + 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); + } + /// /// Ruft die gesamte Umschlaghistorie basierend auf den angegebenen Abfrageparametern ab. ///