Commit Graph

13 Commits

Author SHA1 Message Date
494d05c755 Merge branch 'security/sakuin/throttler' 2026-04-05 07:52:31 +02:00
d3e9dc61a5 security: add @nestjs/throttler — rate limiting global 60/min + search 20/min 2026-04-05 07:51:05 +02:00
2e9e438baa security: AuthGuard cache max size — eviction FIFO 1000 entries 2026-04-05 07:49:56 +02:00
7b7f2ac8e7 Merge branch 'refacto/sakuin/auth-cache'
Some checks failed
CI/CD — Build & Deploy / Build & Deploy (push) Failing after 14s
2026-04-05 07:41:44 +02:00
075afa1063 refacto: DTOs class-validator — validation active sur tous les endpoints 2026-04-05 07:41:01 +02:00
7106791372 refacto: AuthGuard token cache — memory TTL 5min, skip round-trip
Map<token, {user, expiresAt}> avec lazy cleanup.
Token en cache et valide → zero HTTP, latence ~0.
Expiration ou miss → round-trip SuperOAuth comme avant.
6 tests unitaires couvrent cache hit, miss, expiry, et edge cases.
2026-04-05 07:39:55 +02:00
6dcb6bf4b5 test: flip anti-regression double XP — fix merged, assertion inversée 2026-04-05 07:37:55 +02:00
f83b07863d Merge branch 'sprint/sakuin/setup-jest'
Some checks failed
CI/CD — Build & Deploy / Build & Deploy (push) Failing after 25s
2026-04-05 07:30:25 +02:00
e68c8d1f19 test: 60 tests backend — user, list, work, anilist services
4 spec files, mocks TypeORM, zero DB reelle.
Anti-regression double XP documentee dans list.service.spec.
Coverage : 0% → services critiques couverts.
2026-04-05 07:29:37 +02:00
2504c3756d feat: setup Jest backend — config + deps + scripts test/watch/cov 2026-04-05 07:25:46 +02:00
1059d4ae17 fix: prevent double XP on completion — guard already-completed status 2026-04-05 07:19:44 +02:00
108f021bd8 feat: Sprint 1 core tracker + SuperOAuth PKCE E2E
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 31s
Backend: cookie-parser, auth guard token introspection (SuperOAuth profile API),
fix réponse wrappée { success, data: { user, linkedProviders } }.
Frontend: page login 4 providers PKCE, callback SSR-safe (browser guard),
search améliorée (debounce, pagination, toast, feedback visuel ajout),
list complète (7 tabs, progression inline, score, vue grille/liste, cards goldées),
profil (XP bar, grades, 8 stats), user store partagé, toast system.
2026-03-25 02:43:36 +01:00
f1cff74d83 init: scaffold complet Sakuin — backend NestJS + frontend SvelteKit + CI/CD + deploy VPS
All checks were successful
CI/CD — Build & Deploy / Build & Deploy (push) Successful in 29s
Backend: 5 modules (auth, user, work, list, health), AniList GraphQL proxy,
SuperOAuth PKCE introspection, XP system, migrations TypeORM.
Frontend: SvelteKit adapter-node, PWA manifest, dark theme, pages home/search/list/profile/callback.
Infra: CI/CD Gitea vps-runner, Apache vhost SSL, pm2 sakuin-backend + sakuin-frontend, port 4002.
License: BSL 1.1 (Apache 2.0 en 2028).
2026-03-25 01:43:32 +01:00