Added update endpoint for Bookmark
This commit is contained in:
@ -23,7 +23,7 @@ namespace YABA.API.Controllers
|
|||||||
[HttpPost]
|
[HttpPost]
|
||||||
[ProducesResponseType(typeof(GenericResponse<CreateBookmarkRequestDTO>), (int)HttpStatusCode.OK)]
|
[ProducesResponseType(typeof(GenericResponse<CreateBookmarkRequestDTO>), (int)HttpStatusCode.OK)]
|
||||||
[ProducesResponseType((int)HttpStatusCode.BadRequest)]
|
[ProducesResponseType((int)HttpStatusCode.BadRequest)]
|
||||||
public async Task<IActionResult> Create(CreateBookmarkRequestDTO request)
|
public async Task<IActionResult> Create([FromBody] CreateBookmarkRequestDTO request)
|
||||||
{
|
{
|
||||||
var result = await _bookmarkService.CreateBookmark(request);
|
var result = await _bookmarkService.CreateBookmark(request);
|
||||||
|
|
||||||
@ -35,7 +35,7 @@ namespace YABA.API.Controllers
|
|||||||
[HttpPost("{id}/Tags")]
|
[HttpPost("{id}/Tags")]
|
||||||
[ProducesResponseType(typeof(IEnumerable<GenericResponse<string>>),(int)HttpStatusCode.OK)]
|
[ProducesResponseType(typeof(IEnumerable<GenericResponse<string>>),(int)HttpStatusCode.OK)]
|
||||||
[ProducesResponseType((int)HttpStatusCode.NotFound)]
|
[ProducesResponseType((int)HttpStatusCode.NotFound)]
|
||||||
public async Task<IActionResult> UpdateBookmarkTags(int id, IEnumerable<string> tags)
|
public async Task<IActionResult> UpdateBookmarkTags(int id, [FromBody] IEnumerable<string> tags)
|
||||||
{
|
{
|
||||||
var result = await _bookmarkService.UpdateBookmarkTags(id, tags);
|
var result = await _bookmarkService.UpdateBookmarkTags(id, tags);
|
||||||
|
|
||||||
@ -44,6 +44,19 @@ namespace YABA.API.Controllers
|
|||||||
return Ok(result.Select(x => new GenericResponse<string>(x)));
|
return Ok(result.Select(x => new GenericResponse<string>(x)));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
[HttpPut("{id}")]
|
||||||
|
[ProducesResponseType(typeof(GenericResponse<UpdateBookmarkRequestDTO>), (int)HttpStatusCode.OK)]
|
||||||
|
[ProducesResponseType((int)HttpStatusCode.NotFound)]
|
||||||
|
public async Task<IActionResult> UpdateBookmark(int id, [FromBody] UpdateBookmarkRequestDTO request)
|
||||||
|
{
|
||||||
|
// TODO: Add support for HTTP PATCH
|
||||||
|
var result = await _bookmarkService.UpdateBookmark(id, request);
|
||||||
|
|
||||||
|
if (!result.IsSuccessful) return NotFound();
|
||||||
|
|
||||||
|
return Ok(new GenericResponse<UpdateBookmarkRequestDTO>(result));
|
||||||
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
[ProducesResponseType(typeof(GenericResponse<IEnumerable<BookmarkDTO>>), (int)HttpStatusCode.OK)]
|
[ProducesResponseType(typeof(GenericResponse<IEnumerable<BookmarkDTO>>), (int)HttpStatusCode.OK)]
|
||||||
public IActionResult GetAll()
|
public IActionResult GetAll()
|
||||||
|
|||||||
@ -8,6 +8,5 @@ namespace YABA.Common.DTOs.Bookmarks
|
|||||||
public string Description { get; set; }
|
public string Description { get; set; }
|
||||||
public string Note { get; set; }
|
public string Note { get; set; }
|
||||||
public bool IsHidden { get; set; }
|
public bool IsHidden { get; set; }
|
||||||
public string Url { get; set; }
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -32,6 +32,7 @@ namespace YABA.Service
|
|||||||
{
|
{
|
||||||
_roContext = roContext;
|
_roContext = roContext;
|
||||||
_context = context;
|
_context = context;
|
||||||
|
_httpContextAccessor = httpContextAccessor;
|
||||||
_mapper = mapper;
|
_mapper = mapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -106,8 +107,6 @@ namespace YABA.Service
|
|||||||
var crudResult = new CrudResultDTO<UpdateBookmarkRequestDTO>() { Entry = request, CrudResult = CrudResultLookup.UpdateFailed };
|
var crudResult = new CrudResultDTO<UpdateBookmarkRequestDTO>() { Entry = request, CrudResult = CrudResultLookup.UpdateFailed };
|
||||||
var currentUserId = GetCurrentUserId();
|
var currentUserId = GetCurrentUserId();
|
||||||
|
|
||||||
if (!_roContext.Users.UserExists(currentUserId)) return crudResult;
|
|
||||||
|
|
||||||
var bookmark = _context.Bookmarks.FirstOrDefault(x => x.UserId == currentUserId && x.Id == id);
|
var bookmark = _context.Bookmarks.FirstOrDefault(x => x.UserId == currentUserId && x.Id == id);
|
||||||
|
|
||||||
if(bookmark == null) return crudResult;
|
if(bookmark == null) return crudResult;
|
||||||
@ -116,7 +115,6 @@ namespace YABA.Service
|
|||||||
bookmark.Description = request.Description;
|
bookmark.Description = request.Description;
|
||||||
bookmark.Note = request.Note;
|
bookmark.Note = request.Note;
|
||||||
bookmark.IsHidden = request.IsHidden;
|
bookmark.IsHidden = request.IsHidden;
|
||||||
bookmark.Url = request.Url;
|
|
||||||
|
|
||||||
if (await _context.SaveChangesAsync() > 0) crudResult.CrudResult = CrudResultLookup.UpdateSucceeded;
|
if (await _context.SaveChangesAsync() > 0) crudResult.CrudResult = CrudResultLookup.UpdateSucceeded;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user