public void CreateUser(UserControllerRootPost payload) { // Validate Payload DataValidator.ValidateField(nameof(payload.UserIdentifier), payload.UserIdentifier); DataValidator.ValidateGuid(payload.UserIdentifier); // Create User _storageService.CreateUser(payload.UserIdentifier); }
public async Task ShouldCreateUser() { // Arrange var userIdentifier = Guid.NewGuid().ToString(); var payload = new UserControllerRootPost { UserIdentifier = userIdentifier }; // Act var createResponse = await Shared.CreateUser(Client, payload); // Assert Assert.Equal(HttpStatusCode.OK, createResponse.StatusCode); }
public ActionResult Post([FromBody] UserControllerRootPost payload) { // Check if payload is present if (payload == null) { return(BadRequest("UserController (POST) - Missing payload.")); } try { // Request user to be created _userService.CreateUser(payload); } catch (JsonSerializationException e) { // Return 422 if we can't parse the payload as JSON return(UnprocessableEntity(e.Message)); } catch (InvalidCastException e) { // Return 422 if we can't parse the user identifier as GUID return(UnprocessableEntity(e.Message)); } catch (InvalidOperationException e) { // Return 409 if the user already exists return(Conflict(e.Message)); } catch (Exception e) { // Return 500 if any other exception occurred return(Problem(e.Message, e.Source, 500, "UserController (POST)", e.GetType().ToString())); } return(Ok()); }