using Bibblan.Business.Services; using Microsoft.AspNetCore.Mvc; namespace Bibblan.Controllers { [ApiController] [Route("api/[controller]")] public class BibblanController : ControllerBase { DatabaseService _db; CalibreService _calibre; public BibblanController(DatabaseService databaseService, CalibreService calibre) { _db = databaseService; _calibre = calibre; } [HttpGet("cover")] public IActionResult GetCover(string path) { //TODO: Bör kanske inte gå direkt mot calibres filer.. var bytes = _calibre.Cover(path); return File(bytes, "image/jpeg", true); } [HttpGet("books")] public IActionResult GetBooks(string query = null) { BookFilter filter = query != null ? new BookFilter { Query = query } : null; var books = _db.GetBooks(100,filter).ToList(); return Ok(books); } [HttpGet("authors")] public IActionResult GetAuthors(string query = null) { BookFilter filter = query != null ? new BookFilter { Query = query } : null; var authors = _db.GetAuthors(100, filter).ToList(); return Ok(authors); } [HttpGet("books/author/{authorid}")] public IActionResult GetBooksByAuthor(int authorid) { var authors = _db.GetBooks(100, new BookFilter { Author = authorid }).ToList(); return Ok(authors); } [HttpGet("authorcover/{authorid}")] public IActionResult GetAuthorCover(int authorid) { //TODO: fixa vid tillfälle return Ok(new { desc = "picture of banana goes here"}); } } }