コード例 #1
0
        /// <summary>
        /// Confirmar email de um usuário
        /// </summary>
        /// <param name="confirmRegisterRequest">Dados para validação do email</param>
        /// <returns></returns>
        public async Task<ConfirmRegisterResponse> ConfirmUserEmailAsync
            (ConfirmRegisterRequest confirmRegisterRequest)
        {
            _httpClient.DefaultRequestHeaders.Authorization = null;

            HttpResponseMessage response = await _httpClient.PostAsync(
                Endpoints.Auth.ConfirmRegister_v1_0,
                confirmRegisterRequest.ToStringContent()).ConfigureAwait(false);
            response.StatusCode.Should().Be(HttpStatusCode.OK);

            string bodyResponse = await response.Content.ReadAsStringAsync().ConfigureAwait(false);

            ConfirmRegisterResponse confirmRegisterResponse = JsonConvert.DeserializeObject<ConfirmRegisterResponse>(
                    bodyResponse);

            confirmRegisterResponse.Should().NotBeNull();
            confirmRegisterResponse.FirstName.Should().NotBeNull();
            confirmRegisterResponse.LastName.Should().NotBeNull();
            confirmRegisterResponse.Email.Should().Be(confirmRegisterRequest.Email);
            confirmRegisterResponse.Phone.Should().NotBeNull();
            confirmRegisterResponse.IsEmailValidated.Should().BeTrue();
            confirmRegisterResponse.RecoveryPasswordToken.Should().BeNullOrEmpty();

            return confirmRegisterResponse;
        }
コード例 #2
0
        /// <summary>
        /// Cria e valida um novo usuário, após, vincula uma roleType ao usuário recem criado
        /// </summary>
        /// <param name="registerRequest">Dados para criação do usuário</param>
        /// <param name="roleType">Role para ser adicionada</param>
        /// <returns>Dados de autenticação</returns>
        public async Task<SigninResponse> RegisterNewUserConfirmEmailAndAddRoleAsync(
            RegisterRequest registerRequest,
            int roleType)
        {
            ConfirmRegisterResponse confirmRegisterResponse = await RegisterNewUserAndConfirmEmailAsync(registerRequest).ConfigureAwait(false);

            string sql = $"insert into user_role (user_id, role_type, created_on, created_by) values ({confirmRegisterResponse.Id}, {roleType}, now(), {confirmRegisterResponse.Id});";

            using NpgsqlConnection npgsqlConnection = new NpgsqlConnection(Environment.GetEnvironmentVariable("DATABASE_CONNECTION_STRING"));
            npgsqlConnection.Open();
            npgsqlConnection.State.Should().Be(System.Data.ConnectionState.Open);

            using NpgsqlCommand npgsqlCommand = new NpgsqlCommand(sql, npgsqlConnection);

            int lines = npgsqlCommand.ExecuteNonQuery();
            lines.Should().Be(1);

            return await AuthValidUserAsync(new SigninRequest()
            {
                Email = registerRequest.Email,
                Password = registerRequest.Password
            }).ConfigureAwait(false);
        }