diff --git a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs
index e245608d..17a0940a 100644
--- a/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs
+++ b/EnvelopeGenerator.Application/EnvelopeReceivers/Queries/ReadEnvelopeReceiverQuery.cs
@@ -66,6 +66,22 @@ public static class Extensions
var q = new ReadEnvelopeReceiverQuery() { Key = key };
return mediator.Send(q, cancel).Then(envRcvs => envRcvs.FirstOrDefault());
}
+
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ ///
+ public static Task ReadEnvelopeReceiverAsync(this IMediator mediator, string uuid, string signature, CancellationToken cancel = default)
+ {
+ var q = new ReadEnvelopeReceiverQuery();
+ q.Envelope.Uuid = uuid;
+ q.Receiver.Signature = signature;
+ return mediator.Send(q, cancel).Then(envRcvs => envRcvs.FirstOrDefault());
+ }
}
///
diff --git a/EnvelopeGenerator.Application/Model/EnvelopeQueryBase.cs b/EnvelopeGenerator.Application/Model/EnvelopeQueryBase.cs
index 53ec08de..80cb577c 100644
--- a/EnvelopeGenerator.Application/Model/EnvelopeQueryBase.cs
+++ b/EnvelopeGenerator.Application/Model/EnvelopeQueryBase.cs
@@ -8,10 +8,10 @@ public record EnvelopeQueryBase
///
/// Die eindeutige Kennung des Umschlags.
///
- public virtual int? Id { get; init; }
+ public virtual int? Id { get; set; }
///
/// Die universell eindeutige Kennung des Umschlags.
///
- public virtual string? Uuid { get; init; }
+ public virtual string? Uuid { get; set; }
}
\ No newline at end of file
diff --git a/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs b/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs
index 1aaba955..058fb7da 100644
--- a/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs
+++ b/EnvelopeGenerator.Web/Controllers/EnvelopeController.cs
@@ -41,8 +41,8 @@ public class EnvelopeController : ControllerBase
}
[Authorize(Roles = ReceiverRole.FullyAuth)]
- [HttpPost("{envelopeKey}")]
- public async Task CreateOrUpdate([FromRoute] string envelopeKey, [FromBody] ExpandoObject annotations, CancellationToken cancel = default)
+ [HttpPost]
+ public async Task CreateOrUpdate([FromBody] ExpandoObject annotations, CancellationToken cancel = default)
{
// get claims
var signature = User.GetAuthReceiverSignature();
@@ -58,11 +58,12 @@ public class EnvelopeController : ControllerBase
if (await _mediator.IsSignedAsync(uuid, signature, cancel))
return Problem(statusCode: 403);
- var notification = await _mediator.ReadEnvelopeReceiverAsync(envelopeKey, cancel)
+ var docSignedNotification = await _mediator
+ .ReadEnvelopeReceiverAsync(uuid, signature, cancel)
.ToDocSignedNotification(annotations)
?? throw new NotFoundException("Envelope receiver is not found.");
- await _mediator.Publish(notification, cancel);
+ await _mediator.Publish(docSignedNotification, cancel);
return Ok();
}
diff --git a/EnvelopeGenerator.Web/wwwroot/js/app.js b/EnvelopeGenerator.Web/wwwroot/js/app.js
index dbb5dc7a..56d5403f 100644
--- a/EnvelopeGenerator.Web/wwwroot/js/app.js
+++ b/EnvelopeGenerator.Web/wwwroot/js/app.js
@@ -272,7 +272,7 @@ class App {
// Export annotation data and save to database
try {
- const res = await postEnvelope(this.envelopeKey, await iJSON);
+ const res = await postEnvelope(await iJSON);
if (!res.ok) {
if (res.status === 403) {
diff --git a/EnvelopeGenerator.Web/wwwroot/js/network.js b/EnvelopeGenerator.Web/wwwroot/js/network.js
index 317a9643..4baf0676 100644
--- a/EnvelopeGenerator.Web/wwwroot/js/network.js
+++ b/EnvelopeGenerator.Web/wwwroot/js/network.js
@@ -8,7 +8,7 @@ const csrfToken = { 'X-XSRF-TOKEN': document.getElementsByName('__RequestVerific
* @param {any} envelopeKey
* @param {any} annotations
*/
-function postEnvelope(envelopeKey, annotations) {
+function postEnvelope(annotations) {
const token = csrfToken
const options = {
credentials: 'include',
@@ -20,7 +20,7 @@ function postEnvelope(envelopeKey, annotations) {
body: JSON.stringify(annotations)
}
- return fetch(`/api/envelope/${envelopeKey}`, options)
+ return fetch(`/api/envelope`, options)
}
async function setLangAsync(language, flagCode) {