diff --git a/EnvelopeGenerator.Application/DIExtensions.cs b/EnvelopeGenerator.Application/DIExtensions.cs index 1fcd6bc8..4a4f5f0f 100644 --- a/EnvelopeGenerator.Application/DIExtensions.cs +++ b/EnvelopeGenerator.Application/DIExtensions.cs @@ -52,8 +52,7 @@ namespace EnvelopeGenerator.Application services.Configure(dispatcherConfigSection); services.Configure(mailConfigSection); - //services.Configure(mailConfig.GetSection(typeof(MailConfig).ToString())); - //IConfigurationSection section = builder.Configuration.GetSection(typeof(T).Name); + return services; } diff --git a/EnvelopeGenerator.Application/DTOs/EnvelopeReceiverReadOnly/EnvelopeReceiverReadOnlyCreateDto.cs b/EnvelopeGenerator.Application/DTOs/EnvelopeReceiverReadOnly/EnvelopeReceiverReadOnlyCreateDto.cs index d75d3621..88ae982e 100644 --- a/EnvelopeGenerator.Application/DTOs/EnvelopeReceiverReadOnly/EnvelopeReceiverReadOnlyCreateDto.cs +++ b/EnvelopeGenerator.Application/DTOs/EnvelopeReceiverReadOnly/EnvelopeReceiverReadOnlyCreateDto.cs @@ -3,13 +3,16 @@ namespace EnvelopeGenerator.Application.DTOs.EnvelopeReceiverReadOnly { public record EnvelopeReceiverReadOnlyCreateDto( - long EnvelopeId, string ReceiverMail, DateTime DateValid) { + [JsonIgnore] + public long? EnvelopeId { get; set; } = null; + [JsonIgnore] public string? AddedWho { get; set; } + [JsonIgnore] public DateTime AddedWhen { get; } = DateTime.Now; }; } \ No newline at end of file diff --git a/EnvelopeGenerator.Web/Controllers/ControllerBaseExtensions.cs b/EnvelopeGenerator.Web/Controllers/ControllerBaseExtensions.cs index a505e848..0ad1e9f0 100644 --- a/EnvelopeGenerator.Web/Controllers/ControllerBaseExtensions.cs +++ b/EnvelopeGenerator.Web/Controllers/ControllerBaseExtensions.cs @@ -18,6 +18,12 @@ namespace EnvelopeGenerator.Web.Controllers public static string? GetAuthEnvelopeTitle(this ControllerBase controller) => controller.User.FindFirstValue(EnvelopeClaimTypes.Title); + public static int? GetAuthEnvelopeId(this ControllerBase controller) + { + var env_id_str = controller.User.FindFirstValue(EnvelopeClaimTypes.Id); + return int.TryParse(env_id_str, out int env_id) ? env_id : null; + } + //TODO: integrate localizer for ready-to-use views public static ViewResult ViewError(this Controller controller, ErrorViewModel errorViewModel) => controller.View("_Error", errorViewModel); diff --git a/EnvelopeGenerator.Web/Controllers/HomeController.cs b/EnvelopeGenerator.Web/Controllers/HomeController.cs index 3139f331..87203565 100644 --- a/EnvelopeGenerator.Web/Controllers/HomeController.cs +++ b/EnvelopeGenerator.Web/Controllers/HomeController.cs @@ -199,14 +199,15 @@ namespace EnvelopeGenerator.Web.Controllers { _logger.LogEnvelopeError(envelopeReceiverId: envelopeReceiverId, message: "No document was found."); return this.ViewDocumentNotFound(); - } + } var claims = new List { new(ClaimTypes.NameIdentifier, uuid), new(ClaimTypes.Hash, signature), new(ClaimTypes.Name, er.Name ?? string.Empty), new(ClaimTypes.Email, er.Receiver.EmailAddress), - new(EnvelopeClaimTypes.Title, er.Envelope.Title) + new(EnvelopeClaimTypes.Title, er.Envelope.Title), + new(EnvelopeClaimTypes.Id, er.Envelope.Id.ToString()) }; var claimsIdentity = new ClaimsIdentity(claims, CookieAuthenticationDefaults.AuthenticationScheme); diff --git a/EnvelopeGenerator.Web/EnvelopeClaimTypes.cs b/EnvelopeGenerator.Web/EnvelopeClaimTypes.cs index dc32c4cb..a53fece9 100644 --- a/EnvelopeGenerator.Web/EnvelopeClaimTypes.cs +++ b/EnvelopeGenerator.Web/EnvelopeClaimTypes.cs @@ -9,5 +9,10 @@ /// Claim type for the title of an envelope. /// public static readonly string Title = $"Envelope{nameof(Title)}"; + + /// + /// Claim type for the ID of an envelope. + /// + public static readonly string Id = $"Envelope{nameof(Id)}"; } } \ No newline at end of file