Implemented the ability to delete a Library.

This commit is contained in:
Joseph Milazzo 2021-01-02 12:59:04 -06:00
parent 7b1714349d
commit 5e18c1bf3a
3 changed files with 16 additions and 0 deletions

View File

@ -146,5 +146,12 @@ namespace API.Controllers
{ {
return Ok(await _seriesRepository.GetSeriesDtoForLibraryIdAsync(libraryId)); return Ok(await _seriesRepository.GetSeriesDtoForLibraryIdAsync(libraryId));
} }
[Authorize(Policy = "RequireAdminRole")]
[HttpDelete("delete")]
public async Task<ActionResult<bool>> DeleteLibrary(int libraryId)
{
return Ok(await _libraryRepository.DeleteLibrary(libraryId));
}
} }
} }

View File

@ -53,6 +53,13 @@ namespace API.Data
.SingleAsync(); .SingleAsync();
} }
public async Task<bool> DeleteLibrary(int libraryId)
{
var library = await GetLibraryForIdAsync(libraryId);
_context.Library.Remove(library);
return await _context.SaveChangesAsync() > 0;
}
public async Task<IEnumerable<LibraryDto>> GetLibrariesAsync() public async Task<IEnumerable<LibraryDto>> GetLibrariesAsync()
{ {
return await _context.Library return await _context.Library

View File

@ -15,5 +15,7 @@ namespace API.Interfaces
bool SaveAll(); bool SaveAll();
Task<IEnumerable<LibraryDto>> GetLibrariesDtoForUsernameAsync(string userName); Task<IEnumerable<LibraryDto>> GetLibrariesDtoForUsernameAsync(string userName);
Task<Library> GetLibraryForNameAsync(string libraryName); Task<Library> GetLibraryForNameAsync(string libraryName);
Task<bool> DeleteLibrary(int libraryId);
} }
} }