diff --git a/lesson_26/api/java/api_app/src/main/java/com/codedifferently/lesson26/web/MediaItemsController.java b/lesson_26/api/java/api_app/src/main/java/com/codedifferently/lesson26/web/MediaItemsController.java index bbbc45e41..00e342f92 100644 --- a/lesson_26/api/java/api_app/src/main/java/com/codedifferently/lesson26/web/MediaItemsController.java +++ b/lesson_26/api/java/api_app/src/main/java/com/codedifferently/lesson26/web/MediaItemsController.java @@ -6,7 +6,10 @@ import com.codedifferently.lesson26.library.search.SearchCriteria; import java.io.IOException; import java.util.List; +import java.util.Optional; import java.util.Set; +import java.util.UUID; + import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.CrossOrigin; import org.springframework.web.bind.annotation.GetMapping; @@ -27,8 +30,22 @@ public MediaItemsController(Library library) throws IOException { @GetMapping("/items") public ResponseEntity<GetMediaItemsResponse> getItems() { Set<MediaItem> items = library.search(SearchCriteria.builder().build()); + if (items.isEmpty()) { + ResponseEntity.noContent(); + } List<MediaItemResponse> responseItems = items.stream().map(MediaItemResponse::from).toList(); var response = GetMediaItemsResponse.builder().items(responseItems).build(); return ResponseEntity.ok(response); } + @GetMapping(value = "/{id}") + public ResponseEntity<MediaItemResponse> getItemById(@PathVariable("id") UUID id) { + + System.out.println(id.toString()); + + Set<MediaItem> items = library.search(SearchCriteria.builder().id(id.toString()).build()); + Optional<MediaItem> matchedItem = + items.stream().filter(item -> item.getId().equals(id)).findFirst(); + System.out.println("items"); + return null; } +} \ No newline at end of file diff --git a/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryUserModel.java b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryUserModel.java new file mode 100644 index 000000000..92ecf698e --- /dev/null +++ b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryUserModel.java @@ -0,0 +1,19 @@ +package com.codedifferently.lesson28.models; + +public class LibraryUserModel { + private String id; + private String email; + private String firstName; + private String lastName; + private String password; + private Integer phoneNUmber; + + public LibraryUserModel(String id, String email, String firstName, String lastName, String password, Integer phoneNUmber) { + this.id = id; + this.email = email; + this.firstName = firstName; + this.lastName = lastName; + this.password = password; + this .phoneNUmber = phoneNUmber; + } +} diff --git a/lesson_28/db/db_app/src/main/resources/queries/montezbradley.sql b/lesson_28/db/db_app/src/main/resources/queries/montezbradley.sql new file mode 100644 index 000000000..f99808f68 --- /dev/null +++ b/lesson_28/db/db_app/src/main/resources/queries/montezbradley.sql @@ -0,0 +1,36 @@ +SELECT * + +FROM media_items + +SELECT type, COUNT(*) +AS item_count +FROM media_items +GROUP BY type; + +SELECT SUM(media_items.pages) +AS total_pages_checked_out +FROM checked_out_items c +JOIN media_items m ON c.item_id = m.id; + +SELECT g.name, c.* +FROM guests g +LEFT JOIN checked_out_items c ON g.email = c.email + +DROP TABLE library_users; + +CREATE TABLE library_users ( + id TEXT PRIMARY KEY, + email TEXT NOT NULL UNIQUE, + first_name TEXT NOT NULL, + last_name TEXT NOT NULL, + password TEXT NOT NULL +); + +INSERT INTO library_users (id, email, first_name, last_name, password) +VALUES +('1', 'jane@example.com', 'Jane', 'Doe', '$2a$10$8Sbo8w4UTo7PYYMRAfE8ieBaQYqDZV9AYw2x9AlFFeFZ3Y3q1TxMi'), +('2', 'john@example.com', 'John', 'Smith', '$2a$10$L8lWx.L3QhxiKyzYJCTi7uYTeKKbqElxRYHO6mGjc5Cfb5pY3HHQO'), +('3', 'olivia@example.com', 'Olivia', 'James', '$2a$10$kRrQ3YbeXYbXl9F6sUYOYOX5pK8flNOuNcByVRKz9ChfLYUM6ZKAe'); + +SELECT * FROM library_users; +/*End of code*/ \ No newline at end of file