public async Task <CreateInvitation> CreateInvitationAsync([FromBody] CreateInvitationRequest request) { var(auth, tenantId, adminId, adminEmail) = Authorize(); if (!auth) { return(new CreateInvitation()); } var invite = ValidatorLinkEntity.Generate(tenantId, Guid.NewGuid().ToString("N")); invite.InvitationToken = Guid.NewGuid().ToString("N") + Guid.NewGuid().ToString("N") + Guid.NewGuid().ToString("N"); invite.Name = request.Name; invite.Position = request.Position; invite.Description = request.Description; invite.CreatedAt = DateTime.UtcNow; invite.CreatedByAdminId = adminId; invite.CreatedByAdminEmail = adminEmail; await _validationWriter.InsertOrReplaceAsync(invite); _logger.LogInformation("Invitation Created. TenantId: {TenantId}; AdminId: {AdminId}", tenantId, adminId); var resp = new CreateInvitation() { TenantId = invite.TenantId, InvitationToken = invite.InvitationToken, Name = invite.Name, Position = invite.Position, Description = invite.Description }; return(resp); }
public async Task <APIResponse> CreateInvitations(CreateInvitationRequest request) { try { var client = httpClientFactory.CreateClient(EventAssistantServiceOperation.serviceName); var param = JsonConvert.SerializeObject(request); HttpContent contentPost = new StringContent(param, Encoding.UTF8, "application/json"); var response = await client.PostAsync(servicesConfig.EventAssistant + EventAssistantServiceOperation.CreateInvitations(), contentPost); if (response.IsSuccessStatusCode) { var multicode = JsonConvert.DeserializeObject <InvitationResponse>(await response.Content.ReadAsStringAsync()); return(new APIResponse(multicode, HttpStatusCode.Created)); } return(new APIResponse(response.StatusCode)); } catch (Exception ex) { logger.Error(ex, "Exception in method 'CreateMultiCode()'"); var exMessage = ex.InnerException != null ? ex.InnerException.Message : ex.Message; return(new APIResponse(exMessage, HttpStatusCode.InternalServerError)); } }
public async Task <InviteModel> GetOrganizationInvite(string organizationId, string missionId) { try { var request = new CreateInvitationRequest() { InviterId = AppSettings.CurrentUser.Id, MissionId = missionId }; var invite = _mapper.Map <InviteModel>(await _gatewayRepository.ApiOrganizationsByOrganizationIdInvitesPostAsync(organizationId, request)); if (invite is null) { throw new BusinessException("Une erreur s'est produite lors de la création de cette invitation."); } //if (invite.IsRevoked) // throw new BusinessException("Cette invitation est révoquée et ne peut plus être utilisée."); if (invite.Expires <= DateTime.UtcNow) { throw new BusinessException("Cette invitation est expirée et ne peut plus être utilisée."); } return(invite); } catch (ApiException dalExc) { throw dalExc; } catch (Exception exc) { throw; } }
public Handle_Returns ( WebApplicationFactory <Startup> aWebApplicationFactory, JsonSerializerSettings aJsonSerializerSettings ) : base(aWebApplicationFactory, aJsonSerializerSettings) { CreateInvitationRequest = CreateValidCreateInvitationRequest(); }
public void Arrange() { _userId = Guid.NewGuid().ToString(); UserService.FindByEmail("*****@*****.**").Returns(new LoginUser() { Id = _userId }); _createInvitationRequest = BuildCreateInvitationRequest(); }
internal void ValidateCreateInvitationResponse(CreateInvitationRequest aCreateInvitationRequest, CreateInvitationResponse aCreateInvitationResponse) { aCreateInvitationResponse.CorrelationId.Should().Be(aCreateInvitationRequest.CorrelationId); aCreateInvitationResponse.ConnectionInvitationMessage.Id.Should().NotBeNullOrEmpty(); aCreateInvitationResponse.ConnectionInvitationMessage.ImageUrl.Should().BeNull(); aCreateInvitationResponse.ConnectionInvitationMessage.Label.Should().Be("Faber"); aCreateInvitationResponse.ConnectionInvitationMessage.RecipientKeys.Count.Should().Be(1); aCreateInvitationResponse.ConnectionInvitationMessage.RoutingKeys.Count.Should().Be(1); aCreateInvitationResponse.ConnectionInvitationMessage.ServiceEndpoint.Should().Be("https://localhost:5551"); aCreateInvitationResponse.ConnectionInvitationMessage.Type.Should().Be("did:sov:BzCbsNYhMrjHiqZDTUASHg;spec/connections/1.0/invitation"); aCreateInvitationResponse.InvitationUrl.Should().NotBeNull(); }
protected static CreateInvitationRequest BuildCreateInvitationRequest() { var createInvitationRequest = new CreateInvitationRequest() { Email = "*****@*****.**", GivenName = "InvitedGivenName", FamilyName = "InvitedFamilyName", SourceId = "InvitedSourceId", UserRedirect = new Uri("https://localhost/userredirect"), Callback = new Uri("https://localhost/callback"), ClientId = ClientId }; return(createInvitationRequest); }
public async Task <IActionResult> CreateInvitations([FromBody] CreateInvitationRequest request) { var result = await invitationService.CreateInvitations(request); return(StatusCode((int)result.Code, result.Value)); }
protected static CreateInvitationRequest BuildEmptyCreateInvitationRequest() { var createInvitationRequest = new CreateInvitationRequest(); return(createInvitationRequest); }
public ActionResult AddInvitation(CreateInvitationRequest createRequest) { var newInvitation = _repository.AddInvitation(createRequest.UserEmail, createRequest.EventId, createRequest.Link); return(Created($"api/invitation/{newInvitation.Id}", newInvitation)); }