Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v5 api: initial schemas, types & basic routes #680

Merged
merged 105 commits into from
Jan 10, 2025
Merged

v5 api: initial schemas, types & basic routes #680

merged 105 commits into from
Jan 10, 2025

Conversation

zoriya
Copy link
Owner

@zoriya zoriya commented Nov 15, 2024

This is the first PR for the v5's api (see #597).

Checklist for this PR:

  • Database schemas for:
    • shows (movies | series)
    • entries (episode | movie | special | extra)
    • videos
    • seasons
  • Api types & examples for:
    • movies
    • series
    • episodes
    • specials
    • extras
    • movies contained in series (called movie-entry here)
    • seasons
  • Api setup:
    • Authorization
    • Error-Problems
    • Clean validations errors (readable)
    • Data seeding for tests (use examples)
    • Clean swagger
  • Routes to fetch
    • a movie via id/slug
      • languages
        • query user's requested language
        • fallback if we are missing a field not planned
        • allow a preferOriginal setting for images
      • with all translations (if requested)
      • with all videos
    • all movies
      • w/ arbitrary filters
      • keyset pagination
      • sorts
      • w/ video (at least if we have one or not, idk if we include all videos at all time)
    • get a random movie (or sort by random)

Future PRs will be:

  • Search (with postgres as the backing db, not meilisearch)
  • Images handling
    • Download images
    • Scale images (low/medium/high)
    • Calculate blurhash
    • Serve images via id
    • Serve image via /movie/id/poster & co (& support language header here)
  • Other get routes (collections, seasons, series, episodes, extra...)
  • Mixed routes (shows, news...)
  • User specific information (watch-status, history)
  • Other metadata (studios, staff...)
  • Scanner's workflow (see Document scanner's v5 workflow #678 for the spec)

@zoriya zoriya added the api label Nov 15, 2024
@zoriya zoriya added this to the v5.0.0 milestone Nov 15, 2024
@zoriya zoriya self-assigned this Nov 15, 2024
@zoriya zoriya mentioned this pull request Jan 3, 2025
@zoriya zoriya force-pushed the feat/elysia branch 4 times, most recently from 9022fcf to e70f224 Compare January 7, 2025 15:20
@zoriya
Copy link
Owner Author

zoriya commented Jan 7, 2025

It now has all the features i want for a first valid version, i'll add some tests & merge soon

@zoriya zoriya force-pushed the feat/elysia branch 2 times, most recently from 3a23991 to ef44640 Compare January 9, 2025 22:28
@zoriya zoriya marked this pull request as ready for review January 10, 2025 11:16
@zoriya zoriya enabled auto-merge January 10, 2025 11:17
@zoriya zoriya merged commit 3aee4bd into master Jan 10, 2025
13 checks passed
@zoriya zoriya deleted the feat/elysia branch January 10, 2025 11:17
@zoriya zoriya mentioned this pull request Jan 10, 2025
14 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant