Cleans up the code and better normalization practice. Should this ever be a performance issue (such as sorting by vote count on request search page), then it'd probably be better to use meilisearch, but currently with 60k bounties, the query time only takes ~300ms compared to the 40ms previously.
These tables and models aren't used anymore. Seasons and episodes aren't used because most torrents do not follow tmdb's episode and season ordering, but instead follow tvdb's, so it is more accurate to specify the episode and season number directly. Guest stars haven't been used for a long time, if ever.
Fixes#4565
Show all movies in a collection that the current movie is in, in the similar meta. Also show movie posters instead of a collection card in the relations panel on the torrent page. Reorganize the relations so that plurals are correct and match the relation stored in the database. Even though there can be only one collection per movie as defined by tmdb, that's not the way the tables are stored and the queries are done, so use plural naming for now.
Instead of blindly using the respective tmdb associated with the torrent's category. Also fixes wishlist notifications if a user has a wishlist entry with a null tmdb and a user uploads a torrent without a tmdb.
Allows ctrl+clicking to access the underlying function unlike the previous magic implementation. Probably also negligibly faster.
Swapped all instances of `>withSuccess(` -> `>with('success', `, `>withWarning(` -> `>with('warning', `, and `>withInfo(` -> `>with('info', ` with ide's find and replace.
This breaks the pint CI currently. This is probably due to the next version of php (8.4) adding opcache optimizations to sprintf and our config requiring pre-slashing native functions.
This data is already stored in the requests and bounty tables. At this point, the name and comment fields are duplicates of each other and don't need to both be kept.
Separate torrents into cruddy route names. Route model binding isn't possible due to the global scope on unapproved torrents. Use form requests. Simplify the controller flow where possible.
- github action updated with new ruleset in pint.json
- codebase linted with new ruleset
- contributors can now run `./vendor/bin/pint`
- action workflow will auto correct any lint issues upon commit/opened pull request