Add GetEnvelopeStatus method to HistoryController

Implemented a new method `GetEnvelopeStatus` in the `HistoryController` class. This method is accessible via HTTP GET and requires authorization. It returns a dictionary of envelope statuses, enhancing the API's functionality. Additional comments and documentation have been included to clarify the method's purpose and the statuses it handles.
This commit is contained in:
Developer 02 2025-04-11 22:35:47 +02:00
parent afa6dda16f
commit 1b9b51fbd2

View File

@ -32,7 +32,7 @@ public class HistoryController : ControllerBase
/// <summary>
/// An der Versendung eines Umschlags können mehrere Beteiligte beteiligt sein, darunter der Absender, der Empfänger und das System selbst.
/// Der Prozess liefert alle relevanten Nenner, die mit der Schlüsselnummer verbunden sind, und ermöglicht es dem Kunden,
/// Der Prozess liefert alle relevanten Nenner, die mit der Schlüsselnummer verbunden sind, und ermöglicht es dem Client,
/// die Aktualität und Richtigkeit der Informationen zu überprüfen.
/// <list type="bullet">
/// <item><description><c>0</c>: Receiver</description></item>
@ -61,6 +61,56 @@ public class HistoryController : ControllerBase
return Ok(referenceTypes);
}
/// <summary>
/// Gibt alle möglichen Status in einem Verlaufsdatensatz zurück.
/// Dies wird hinzugefügt, damit Client-Anwendungen sich selbst auf dem neuesten Stand halten können.
/// <list type="bullet">
/// <item><description><c>0</c>: Invalid</description></item>
/// <item><description><c>1001</c>: EnvelopeCreated</description></item>
/// <item><description><c>1002</c>: EnvelopeSaved</description></item>
/// <item><description><c>1003</c>: EnvelopeQueued</description></item>
/// <item><description><c>1004</c>: EnvelopeSent (Nicht verwendet)</description></item>
/// <item><description><c>1005</c>: EnvelopePartlySigned</description></item>
/// <item><description><c>1006</c>: EnvelopeCompletelySigned</description></item>
/// <item><description><c>1007</c>: EnvelopeReportCreated</description></item>
/// <item><description><c>1008</c>: EnvelopeArchived</description></item>
/// <item><description><c>1009</c>: EnvelopeDeleted</description></item>
/// <item><description><c>2001</c>: AccessCodeRequested</description></item>
/// <item><description><c>2002</c>: AccessCodeCorrect</description></item>
/// <item><description><c>2003</c>: AccessCodeIncorrect</description></item>
/// <item><description><c>2004</c>: DocumentOpened</description></item>
/// <item><description><c>2005</c>: DocumentSigned</description></item>
/// <item><description><c>4001</c>: DocumentForwarded</description></item>
/// <item><description><c>2006</c>: SignatureConfirmed</description></item>
/// <item><description><c>2007</c>: DocumentRejected</description></item>
/// <item><description><c>2008</c>: EnvelopeShared</description></item>
/// <item><description><c>2009</c>: EnvelopeViewed</description></item>
/// <item><description><c>3001</c>: MessageInvitationSent (Wird von Trigger verwendet)</description></item>
/// <item><description><c>3002</c>: MessageAccessCodeSent</description></item>
/// <item><description><c>3003</c>: MessageConfirmationSent</description></item>
/// <item><description><c>3004</c>: MessageDeletionSent</description></item>
/// <item><description><c>3005</c>: MessageCompletionSent</description></item>
/// </list>
/// </summary>
/// <returns></returns>
/// <response code="200"></response>
[HttpGet("status")]
[Authorize]
public IActionResult GetEnvelopeStatus(ReferenceType? related = null)
{
// Enum zu Schlüssel-Wert-Paar
var referenceTypes = Enum.GetValues(typeof(EnvelopeStatus))
.Cast<EnvelopeStatus>()
.ToDictionary(rt =>
{
var key = rt.ToString();
var keyAsCamelCase = char.ToLower(key[0]) + key[1..];
return keyAsCamelCase;
}, rt => (int)rt);
return Ok(referenceTypes);
}
/// <summary>
/// Ruft die gesamte Umschlaghistorie basierend auf den angegebenen Abfrageparametern ab.
/// </summary>