Conversation
Basic tests also implmented. Co-authored-by: Oscar Nidemar <oscar.nidemar@gmail.com> Co-authored-by: Oskar Lundqvist <oskar.lundqvist3@icloud.com> Co-authored-by: Mark Cavric <cavric_123@hotmail.se> Co-authored-by: Linus Westling <westling.linus@gmail.com>
Co-authored-by: Oscar Nidemar <oscar.nidemar@gmail.com> Co-authored-by: Oskar Lundqvist <oskar.lundqvist3@icloud.com> Co-authored-by: Mark Cavric <cavric_123@hotmail.se> Co-authored-by: Linus Westling <westling.linus@gmail.com>
…ontiued implementation of switch menue's. Co-authored-by: Oscar Nidemar <oscar.nidemar@gmail.com> Co-authored-by: Oskar Lundqvist <oskar.lundqvist3@icloud.com> Co-authored-by: Mark Cavric <cavric_123@hotmail.se> Co-authored-by: Linus Westling <westling.linus@gmail.com>
Co-authored-by: Oscar Nidemar <oscar.nidemar@gmail.com> Co-authored-by: Oskar Lundqvist <oskar.lundqvist3@icloud.com> Co-authored-by: Mark Cavric <cavric_123@hotmail.se> Co-authored-by: Linus Westling <westling.linus@gmail.com>
Co-authored-by: Oscar Nidemar <oscar.nidemar@gmail.com> Co-authored-by: Oskar Lundqvist <oskar.lundqvist3@icloud.com> Co-authored-by: Mark Cavric <cavric_123@hotmail.se> Co-authored-by: Linus Westling <westling.linus@gmail.com>
Simplified the EntityManager mess for CliAdminApp. TODO: Simplify em for CliApp.
Co-authored-by: Oscar Nidemar <oscar.nidemar@gmail.com> Co-authored-by: Oskar Lundqvist <oskar.lundqvist3@icloud.com> Co-authored-by: Mark Cavric <cavric_123@hotmail.se> Co-authored-by: Linus Westling <westling.linus@gmail.com>
Co-authored-by: Oskar Lundqvist <oskar.lundqvist3@icloud.com> Co-authored-by: Mark Cavric <cavric_123@hotmail.se> Co-authored-by: Linus Westling <westling.linus@gmail.com>
|
Caution Review failedThe pull request is closed. 📝 WalkthroughWalkthroughThis PR introduces a CLI-driven application layer with separate admin and user interfaces, refactors the application entry point to include a database emptiness guard with conditional seeding, adds transaction and entity manager utility classes, extends the repository layer with comprehensive querying methods, converts rating precision from float to double, and substantially expands test coverage with integration tests for seeding and user interaction flows. Changes
Sequence Diagram(s)sequenceDiagram
participant User as User
participant App as App.main
participant DBCheck as DatabaseFiller
participant Seed as Seed*
participant Repo as Repositories
participant DB as Database
participant Login as CLI Login
participant CliApp as CliApp/CliAdminApp
User->>App: Start Application
App->>DBCheck: isDatabaseEmpty()
DBCheck->>Repo: Query Movie count
Repo->>DB: COUNT(movies)
DB-->>Repo: count result
Repo-->>DBCheck: count
DBCheck-->>App: true/false
alt Database is Empty
App->>Seed: seedAll()
Seed->>Repo: addGenres, addActors, addDirectors
Repo->>DB: INSERT entities
Seed->>Repo: addMovies with relations
Repo->>DB: INSERT movies + relations
Seed->>Repo: attachRelations (genres, cast)
Repo->>DB: UPDATE movie relations
Seed->>Repo: addUsers + ratings
Repo->>DB: INSERT users, user_ratings
end
App->>Login: Display Welcome & Login Prompt
Login->>User: Username/Password Input
User-->>Login: Credentials
Login->>Repo: Verify User
Repo->>DB: SELECT user
DB-->>Repo: user or null
alt Login Successful
Repo-->>Login: User found
Login->>App: Authentication OK
App->>App: Check if Admin
alt User is Admin
App->>CliAdminApp: runAdminMenu(user)
CliAdminApp->>CliAdminApp: Display Admin Options
else User is Regular User
App->>CliApp: runUserMenu(user)
CliApp->>CliApp: Display User Options
end
else Login Failed
Repo-->>Login: User not found
Login->>User: Invalid Credentials
Login->>App: Retry Loop
end
Estimated code review effort🎯 4 (Complex) | ⏱️ ~75 minutes Possibly related PRs
Poem
✨ Finishing touches
📜 Recent review detailsConfiguration used: defaults Review profile: CHILL Plan: Pro 📒 Files selected for processing (20)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary by CodeRabbit
Release Notes
New Features
Chores
✏️ Tip: You can customize this high-level summary in your review settings.