public async Task <IActionResult> SendEmail([FromBody] SendEmailRequestDTO sendEmailRequest, CancellationToken cancellationToken) { // Reject password tokens if (ClaimsHelper.IsPasswordToken(this.User)) { return(this.Forbid()); } Guid messageId = sendEmailRequest.MessageId.HasValue ? sendEmailRequest.MessageId.Value : Guid.NewGuid(); // Create the command SendEmailRequest request = SendEmailRequest.Create(sendEmailRequest.ConnectionIdentifier, messageId, sendEmailRequest.FromAddress, sendEmailRequest.ToAddresses, sendEmailRequest.Subject, sendEmailRequest.Body, sendEmailRequest.IsHtml); // Route the command await this.Mediator.Send(request, cancellationToken); // return the result return(this.Created($"{EmailController.ControllerRoute}/{messageId}", new SendEmailResponseDTO { MessageId = messageId })); }
public void SendEmailRequest_CanBeCreated_IsCreated() { SendEmailRequest request = SendEmailRequest.Create(TestData.ConnectionIdentifier, TestData.MessageId, TestData.FromAddress, TestData.ToAddresses, TestData.Subject, TestData.Body, TestData.IsHtmlTrue); request.ShouldNotBeNull(); request.ConnectionIdentifier.ShouldBe(TestData.ConnectionIdentifier); request.MessageId.ShouldBe(TestData.MessageId); request.FromAddress.ShouldBe(TestData.FromAddress); request.ToAddresses.ShouldBe(TestData.ToAddresses); request.Subject.ShouldBe(TestData.Subject); request.Body.ShouldBe(TestData.Body); request.IsHtml.ShouldBe(TestData.IsHtmlTrue); }