Example #1
0
        public async Task <IActionResult> CreateArticle([FromBody] ArticleRequestDTO articleDTO, [FromQuery(Name = "t")] string token)
        {
            if (!await recaptcha.Authenticate(token))
            {
                return(BadRequest());
            }

            if (articleDTO.IsPublic && string.IsNullOrWhiteSpace(articleDTO.Title) || string.IsNullOrWhiteSpace(articleDTO.Content) || articleDTO.Content.Length < 10)
            {
                return(BadRequest());
            }

            var article = new Article(articleDTO);
            await articleService.New(article);

            return(CreatedAtAction("CreateArticle", article));
        }
        public async Task <ActionResult <Collection> > CreateCollection([FromBody] CollectionRequestDTO requestDTO, [FromQuery(Name = "t")] string token)
        {
            if (!await recaptchaService.Authenticate(token))
            {
                return(BadRequest());
            }

            if (string.IsNullOrWhiteSpace(requestDTO.Name))
            {
                return(BadRequest());
            }

            var collectionObj = new Collection(requestDTO);
            await collectionService.New(collectionObj);

            return(Ok(collectionObj));
        }
Example #3
0
        public async Task <ActionResult> CreateUser(UserDTO userDTO)
        {
            if (string.IsNullOrWhiteSpace(userDTO.RecaptchaToken))
            {
                return(BadRequest(new ReturnMessage()
                {
                    StatusCode = Model.StatusCode.EmptyRecaptchaToken, Message = ResponseMessage.EmptyRecaptchaToken
                }));
            }

            if (!await recaptchaService.Authenticate(userDTO.RecaptchaToken))
            {
                return(BadRequest(new ReturnMessage()
                {
                    StatusCode = Model.StatusCode.InvalidRecaptchaToken, Message = ResponseMessage.InvalidRecaptchaToken
                }));
            }

            var user = new User()
            {
                Username = userDTO.Username, Password = userDTO.Password
            };

            if (!userService.ValidateUserData(user))
            {
                return(BadRequest(new ReturnMessage()
                {
                    StatusCode = Model.StatusCode.InvalidUsernameOrPassword, Message = ResponseMessage.InvalidUsernameOrPassword
                }));
            }

            if (await userService.IsUsernameExistsAsync(user.Username))
            {
                return(BadRequest(new ReturnMessage()
                {
                    StatusCode = Model.StatusCode.DuplicateUsername, Message = ResponseMessage.DuplicateUsername
                }));
            }


            await userService.CreateUserAsync(user);

            return(CreatedAtAction("CreateUser", user));
        }