1010import org .springframework .web .bind .annotation .ModelAttribute ;
1111import org .springframework .web .bind .annotation .PathVariable ;
1212import org .springframework .web .bind .annotation .PostMapping ;
13- import org .springframework .web .bind .annotation .RequestParam ;
14-
1513import com .bookstore .bookstore .Model .Book ;
1614import com .bookstore .bookstore .service .BookService ;
1715
@@ -63,22 +61,32 @@ public String deleteBookForm(Model model) {
6361 // }
6462
6563 @ PostMapping ("/delete" )
66- public String deleteBookByTitle ( @ RequestParam String title ) {
67- bookService .deleteBookByTitle ( title );
64+ public String deleteBookById ( Book book ) {
65+ bookService .deleteBookById ( book );
6866 return "redirect:/" ;
6967 }
7068
7169 // For Updatting the Book attributes(Price,stocks,etc.)
72- @ GetMapping ("/update" )
73- public String updateBookForm (Model model ) {
74- model .addAttribute ("book" , new Book ());
70+ @ GetMapping ("/update/{id}" )
71+ public String updateBookForm (@ PathVariable Long id , Model model ) {
72+ Optional <Book > existingBook = bookService .findById (id );
73+ if (existingBook .isEmpty ()) {
74+ return "redirect:/select-book" ; // book not found
75+ }
76+ model .addAttribute ("book" , existingBook .get ());
7577 return "updatebook" ;
7678 }
7779
7880 @ PostMapping ("/update" )
79- public String updateBookByTitle (@ ModelAttribute Book book ) {
80- bookService .updateBookByTitle (book );
81- return "redirect:/" ;
81+ public String updateBookById (Book book ) {
82+ bookService .updateBookById (book );
83+ return "redirect:/admin" ;
84+ }
85+
86+ @ GetMapping ("/select-book" )
87+ public String selectBookPage (Model model ) {
88+ model .addAttribute ("books" , bookService .getAllBooks ());
89+ return "selectbook" ;
8290 }
8391
8492 @ GetMapping ("/add-to-cart/{id}" )
@@ -90,7 +98,7 @@ public String addToCart(@PathVariable Long id, HttpSession session) {
9098 }
9199
92100 // Get book from DB
93- Optional <Book > optionalBook = bookService .getBookById (id );
101+ Optional <Book > optionalBook = bookService .findById (id );
94102 if (optionalBook .isPresent ()) {
95103 cart .add (optionalBook .get ());
96104 session .setAttribute ("cart" , cart );
@@ -119,4 +127,15 @@ public String viewCart(HttpSession session, Model model) {
119127 return "cart" ;
120128 }
121129
130+ @ GetMapping ("/booklist" )
131+ public String getListBook (Model model ) {
132+ List <Book > books = bookService .getAllBooks ();
133+ System .out .println ("📚 Total books fetched: " + books .size ());
134+ for (Book b : books ) {
135+ System .out .println ("📷 Book: " + b .getTitle () + ", Image: " + b .getImageUrl ());
136+ }
137+ model .addAttribute ("books" , books );
138+ return "booklist" ;
139+ }
140+
122141}
0 commit comments