Beispiel #1
0
        public async Task <IActionResult> CreateUser([FromBody] UserProfileRequestInfo userProfileRequestInfo)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }

            if (AppInfoModel.Current.IsAuthADB2C_elseDev_TestJWT)
            {
                return(this.ApiErrorMessage404NotFound(""));
            }

            var existingUserProfiles = await _bl.FindUserProfiles_byEmailAsync(userProfileRequestInfo.Email, true);

            if (existingUserProfiles == null || existingUserProfiles.Count == 0)
            {
                var newUserProfile = await _bl.CreateUserAsync(userProfileRequestInfo.Email, Guid.NewGuid().ToString("N").ToUpper(), true, userProfileRequestInfo.Email.ToLower(), userProfileRequestInfo.Email.ToUpper(), null);

                return(Created("me", ""));
            }
            else
            {
                return(this.ApiErrorMessage404NotFound($"Unable to create user, '{userProfileRequestInfo.Email}' already exists."));
            }
        }
Beispiel #2
0
        /// <summary>
        /// Create and Update a new userProfile and return the AuthToken that can be used for subsequent web api calls for that userProfile
        /// The passed in http client will be updated with relevant AuthToken (same as being returned)
        /// </summary>
        /// <param name="client"></param>
        /// <param name="callerMemberName"></param>
        /// <param name="assemblyFilePath"></param>
        /// <returns></returns>
        public async Task <string> CreateDevUserProfile(HttpClient client, [CallerMemberName] string callerMemberName = null, [CallerFilePath] string assemblyFilePath = null)
        {
            //Add clientKey token to header
            BaseWebApiTest.SetAuthToken(client, ClientKey, false);

            //Create Dev user
            var newEmail = $"Test-{assemblyFilePath.ExGetFileNameFromAssemblyPath()}.{callerMemberName}@lifecouple.net";
            var userProfileRequestInfo = new UserProfileRequestInfo {
                Email = newEmail
            };
            var postCreateUserResponse = await client.PostAsync($"api/userprofiles/devuser", BaseWebApiTest.GetJsonContent(userProfileRequestInfo));

            postCreateUserResponse.EnsureSuccessStatusCode();

            //Create Token
            var tokenRequestInfo = new TokenRequestInfo {
                Email = newEmail, Password = newEmail.Split('@')[0] + "@"
            };
            var postResponse = await client.PostAsync($"api/tokens", BaseWebApiTest.GetJsonContent(tokenRequestInfo));

            postResponse.EnsureSuccessStatusCode();
            var tokenResponseInfo = BaseWebApiTest.Deserialize <TokenResponseInfo>(await postResponse.Content.ReadAsStringAsync());

            //Add token to header
            BaseWebApiTest.SetAuthToken(client, tokenResponseInfo.Token, true);

            // Set User profile
            var reqPayload = new UserProfileRegAboutYouRequestInfo
            {
                DateOfBirth        = DateTime.Now.AddYears(-20),
                FirstName          = "Tester",
                LastName           = "Testlastname",
                Gender             = "m",
                MobilePhone        = "7605006125",
                NotificationOption = "True"
            };

            postResponse = await client.PutAsync(ApiEndpoints.userprofiles_me_registration_aboutyou, BaseWebApiTest.GetJsonContent(reqPayload));

            postResponse.EnsureSuccessStatusCode();

            return(tokenResponseInfo.Token);
        }