diff --git a/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryDataModel.java b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryDataModel.java index 7442bd63a..31e362fa4 100644 --- a/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryDataModel.java +++ b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryDataModel.java @@ -16,6 +16,7 @@ public class LibraryDataModel { public List mediaItems; public List guests; + public List users; public List getMediaItems() { List results = new ArrayList<>(); @@ -58,4 +59,9 @@ public Map> getCheckoutsByEmail() { } return results; } + + public List getUsers() { + + return users; + } } diff --git a/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryUsersModel.java b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryUsersModel.java new file mode 100644 index 000000000..f4ca25427 --- /dev/null +++ b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/models/LibraryUsersModel.java @@ -0,0 +1,17 @@ +package com.codedifferently.lesson28.models; + +import jakarta.persistence.Entity; +import jakarta.persistence.Id; +import jakarta.persistence.Table; +import java.util.UUID; + +@Entity +@Table(name = "library_users") +public class LibraryUsersModel { + @Id public UUID id; + + public String email; + public String firstName; + public String lastName; + public String passwordString; +} diff --git a/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/repository/LibraryUsersRepository.java b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/repository/LibraryUsersRepository.java new file mode 100644 index 000000000..26939d9dc --- /dev/null +++ b/lesson_28/db/db_app/src/main/java/com/codedifferently/lesson28/repository/LibraryUsersRepository.java @@ -0,0 +1,11 @@ +package com.codedifferently.lesson28.repository; + +import com.codedifferently.lesson28.models.LibraryUsersModel; +import java.util.List; +import java.util.UUID; +import org.springframework.data.repository.CrudRepository; + +public interface LibraryUsersRepository extends CrudRepository { + @Override + List findAll(); +} diff --git a/lesson_28/db/db_app/src/main/resources/queries/dylanlafferty.sql b/lesson_28/db/db_app/src/main/resources/queries/dylanlafferty.sql new file mode 100644 index 000000000..199d69aae --- /dev/null +++ b/lesson_28/db/db_app/src/main/resources/queries/dylanlafferty.sql @@ -0,0 +1,28 @@ +-- 1. Count of media items by type +SELECT + type, + COUNT(*) AS total +FROM + media_items +GROUP BY + type; + +-- 2. Sum of total pages checked out by guests +SELECT + SUM(pages) AS total_pages +FROM + media_items m +JOIN + checked_out_items c ON m.id = c.item_id; + +-- 3. All 5 guests and their corresponding checked-out items +SELECT + g.*, + c.email, + item.title +FROM + guests g +LEFT JOIN + checked_out_items c ON c.email = g.email +LEFT JOIN + media_items item ON item.id = c.item_id; \ No newline at end of file diff --git a/lesson_28/db/db_app/src/main/resources/sqlite/data.db b/lesson_28/db/db_app/src/main/resources/sqlite/data.db index 8baa982d2..12027c549 100644 Binary files a/lesson_28/db/db_app/src/main/resources/sqlite/data.db and b/lesson_28/db/db_app/src/main/resources/sqlite/data.db differ