10 Commits

Author SHA1 Message Date
Whykioh 42a388cbe1 Harden for public launch: rate limiting, CORS, error display, Gitea webhook sig
- User::login() locks an account for 15 min after 5 failed attempts
- CORS now restricted to an explicit origin whitelist instead of *
- display_errors disabled in production (errors still logged server-side)
- webhook.php now checks Gitea's actual signature header (X-Gitea-Signature,
  raw hex) instead of GitHub's format, which never matched on this Gitea instance

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 17:53:28 +02:00
Whykioh 4c61b7f276 Fix crash bugs and secure webhook/TMDB key
- Add missing MovieController::remove/markWatched (routes called undefined methods)
- Fix linkPartner(): commit() was unreachable after an early return, so partner
  linking was never actually persisted in the DB
- Add missing removeMovie/markWatched functions in app.js
- webhook.php now verifies a GitHub HMAC signature before running git reset --hard
- Move TMDB API key server-side via a new TmdbController proxy (tmdb-search/tmdb-details)
  instead of exposing it in client-side JS

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-12 16:54:40 +02:00
Whykioh 72d563416b Add Remove & Mark watched movie 2026-07-11 14:08:44 +02:00
Whykioh b2787a4b8e Add debug logs 2026-07-11 11:17:21 +02:00
Whykioh b44a5a39e1 Fix Movie list 2026-07-11 11:05:47 +02:00
Whykioh 717dbd25b3 Add JWT to enhance security 2026-07-11 09:28:49 +02:00
Whykioh d7328ae9d3 Add pairing between users 2026-07-11 09:20:26 +02:00
Whykioh 81b1b3b835 Add User system 2026-07-11 09:13:29 +02:00
Whykioh 5a6f55b59d Cleanup 2026-07-11 09:00:24 +02:00
Noah 342ba616ba Initial commit: Structure de base de l'API 2026-07-11 06:37:45 +00:00