diff --git a/server/app/book/BookDb.php b/server/app/book/BookDb.php index ef35640cdb12977dbe5599da731e4b1df76140d0..48bcc11217fabcc1b675feabc2f95d36d3886f87 100644 --- a/server/app/book/BookDb.php +++ b/server/app/book/BookDb.php @@ -25,6 +25,26 @@ } return $books; } + + function getBookByTitle($title) { + $books = []; + $sql = 'SELECT * FROM book WHERE title LIKE \'%?%\''; + $stmt = $this->conn->prepare($sql); + $stmt->execute([$title]); + + while($row = $stmt->fetch()) { + $book_id = (int) $row["book_id"]; + $title = $row["title"]; + $author = $row["author"]; + $description = $row["description"]; + $rating = $row["rating"]; + + $book = new Book($book_id, $title, $author, $description, $rating); + array_push($books, $book); + } + + return $books; + } } ?> \ No newline at end of file diff --git a/server/app/book/BookUsecase.php b/server/app/book/BookUsecase.php index 2d5883da3e51699c760198dd154d7afc4be6deff..f133d1c9ccf14f6491f8781b978bcbe2247dcc58 100644 --- a/server/app/book/BookUsecase.php +++ b/server/app/book/BookUsecase.php @@ -18,6 +18,21 @@ writeResponse(500, 'Failed get book detail'); } } + + function searchBook(Request $request) { + $title = (int)$request->params["title"]; + if ($title) { + writeResponse(200, "Mantuls"); + } else { + writeResponse(500, "Goblok"); + } + // $books = $this->bookDb->getBookByTitle($title); + // if ($books) { + // writeResponse(200, "Success get book by title like " + $title, $books); + // } else { + // writeResponse(500, "Failed get book detail"); + // } + } } ?> \ No newline at end of file diff --git a/server/app/book/routes.php b/server/app/book/routes.php index 8d34eabbd7981eed3c8a587d3d00824cc598db1e..c0c2fc03523580dd7022defbaf5a5fd59f7d7e15 100644 --- a/server/app/book/routes.php +++ b/server/app/book/routes.php @@ -1,6 +1,7 @@ <?php function addBookRoutes($router, $bookUsecase){ + $router->add("/book?title=xxx;", "GET", array($bookUsecase, 'searchBook')); $router->add("/book/:book_id/", "GET", array($bookUsecase, 'getBookDetail')); // $router->add("/", "GET", $homepage, $middlewareExample); // $router->add("/book/:book_id/user/:user_id/", "POST", $postCallbackExample, $middlewareExample);