예제 #1
0
        public async Task <ApiResponseViewModel> ChangePassword([FromBody] ChangePasswordViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                var success = await _authService.TryChangePassword(model.Username, model.Password, model.Token);

                if (success)
                {
                    return(ApiResponseViewModel.Success());
                }
            }

            await Task.Delay(100); // Small timeout to prevent password guess

            return(ApiResponseViewModel.Failed());
        }
예제 #2
0
        public async Task <ApiResponseViewModel> Authorize([FromBody] AuthViewModel model)
        {
            if (model != null && ModelState.IsValid)
            {
                var user = await _authService.TryAuthorize(model.Username, model.Password);

                if (user != null)
                {
                    return(ApiResponseViewModel.Success(user));
                }
            }

            await Task.Delay(100); // Small timeout to prevent password guess

            return(ApiResponseViewModel.Failed());
        }
예제 #3
0
        public async Task <IActionResult> SavePost([FromBody] PostViewModel model)
        {
            var dto = model.ToDto();
            var id  = await _postDataService.Upsert(dto);

            if (!string.IsNullOrWhiteSpace(id))
            {
                var newDto = await _postDataService.Get(id);

                var result = new PostViewModel(newDto);

                return(Json(ApiResponseViewModel.Success(result)));
            }
            else
            {
                return(Json(ApiResponseViewModel.Failed()));
            }
        }
예제 #4
0
        public async Task <IActionResult> DeletePost(string id)
        {
            var success = await _postDataService.Delete(id);

            return(Json(success ? ApiResponseViewModel.Success() : ApiResponseViewModel.Failed()));
        }
예제 #5
0
        public async Task <IActionResult> PublishPost([FromBody] PublishPostViewModel model)
        {
            var success = await _postDataService.TogglePublish(model.Id, model.Publish);

            return(Json(success ? ApiResponseViewModel.Success() : ApiResponseViewModel.Failed()));
        }
예제 #6
0
        public async Task <IActionResult> SaveLayout([FromBody] LayoutViewModel model)
        {
            var result = await _layoutDataService.Save(model.BuildDto());

            return(Json(result ? ApiResponseViewModel.Success() : ApiResponseViewModel.Failed()));
        }
예제 #7
0
        public async Task <IActionResult> Save([FromBody] UserViewModel model)
        {
            var result = await _authService.SaveUser(model);

            return(Json(result ? ApiResponseViewModel.Success() : ApiResponseViewModel.Failed()));
        }
예제 #8
0
        public async Task <IActionResult> Delete([FromBody] UserViewModel model)
        {
            var result = await _userDataService.Delete(model.Username);

            return(Json(result ? ApiResponseViewModel.Success() : ApiResponseViewModel.Failed()));
        }