Commit Graph
21 Commits
Author SHA1 Message Date
lobo 9ff00c1f8f fix(library): keep backlog edits made during a sync, reject fractional ratings
Build, Test & Push Core Service / quality-check (push) Successful in 29s
Build, Test & Push Core Service / docker (push) Successful in 1m21s
UserGame now uses @DynamicUpdate, so the sync flush writes only the columns it
changed and no longer overwrites a backlog update committed meanwhile.
2026-09-24 11:04:02 +02:00
lobo c815a29993 feat(library): backlog status, rating, notes and priority per game
New games start as BACKLOG, or PLAYING when they have playtime. The sync
never changes a status later. PUT /api/library/games/{appid}/backlog sets
all four fields; /api/library/games filters by status and name (q).
2026-09-24 10:51:17 +02:00
lobo 22bc036c9c fix(security): close the Steam test endpoint, /internal and Prometheus to the public
/api/steam/test/{steamId} let anyone query any Steam profile with our API key. /internal/** had no controller but was open for any future one. Actuator now exposes only health, without details. The management block was also indented under endpoints, so show-details never applied.
2026-09-24 10:24:34 +02:00
lobo 8499678a4d chore(deps): update Spring Boot to 4.1.1, ArchUnit to 1.5.0, resilience4j to 2.4.0
Build, Test & Push Core Service / quality-check (push) Successful in 39s
Build, Test & Push Core Service / docker (push) Successful in 1m37s
resilience4j-spring-boot3 does not match Spring Boot 4, so switch to resilience4j-spring-boot4.
2026-09-24 08:56:45 +02:00
lobo b29cff76c8 fix(library): sync again after a Steam ID change and keep library on empty result
An empty Steam answer (error, private profile, wrong ID) was stored as OK and
soft-deleted the whole library. It is now FAILED, keeps the library and is
retried after 15 minutes (app.library.failed-retry-minutes).

The automatic sync now also runs when the Steam ID in the token differs from
the stored one, and removes the games of the previous Steam account.
2026-09-24 08:56:45 +02:00
Andreas Dahm 342ce1bea1 Small fix
Build, Test & Push Core Service / quality-check (push) Successful in 18s
Build, Test & Push Core Service / docker (push) Successful in 2m2s
2026-05-12 09:50:47 +02:00
lobo 6706db5b6e Merge pull request 'Changed from JWT token to public/privat key' (#1) from feat/jwt-eddsa-verify into main
Build, Test & Push Core Service / quality-check (push) Failing after 12s
Build, Test & Push Core Service / docker (push) Has been skipped
Reviewed-on: #1
2026-05-12 08:58:43 +02:00
Andreas Dahm f8d39bcda6 Changed from JWT token to public/privat key 2026-05-12 08:57:12 +02:00
Andreas DahmandClaude Opus 4.7 50366eb6bd Add Core-owned product roadmap to README
Build, Test & Push Core Service / quality-check (push) Failing after 11s
Build, Test & Push Core Service / docker (push) Has been skipped
Captures the Core slices of the cross-service product roadmap: per-game
tracking schema (status, rating, notes, completion date), picker
endpoint, HLTB integration, achievement aggregation, goals + digest
data, wishlist + sale alerts, library enrichment, and public profile
data. Cross-links to the umbrella roadmap in ToBePlayed-Deployment.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-11 14:51:29 +02:00
Andreas Dahm 6e31373a6e Changed README.md
Build, Test & Push Core Service / quality-check (push) Failing after 11s
Build, Test & Push Core Service / docker (push) Has been skipped
2026-05-11 14:40:29 +02:00
Andreas Dahm b8b427b9f9 Added tests
Build, Test & Push Core Service / quality-check (push) Failing after 12s
Build, Test & Push Core Service / docker (push) Has been skipped
2026-05-11 14:31:38 +02:00
Andreas Dahm fb3a5140b8 Added more insight to the games of a user
Build, Test & Push Core Service / quality-check (push) Failing after 9s
Build, Test & Push Core Service / docker (push) Has been skipped
2026-05-04 15:14:25 +02:00
Andreas Dahm 9d8bb674d6 Added new endpoints to sync the list of games from steam if a user logged in.
Build, Test & Push Core Service / quality-check (push) Failing after 31s
Build, Test & Push Core Service / docker (push) Has been skipped
2026-05-04 11:47:26 +02:00
Andreas Dahm 44783ea523 Added dev impersonation and changed api a little bit
Build, Test & Push Core Service / quality-check (push) Failing after 10s
Build, Test & Push Core Service / docker (push) Has been skipped
2026-04-29 08:50:02 +02:00
Andreas Dahm 697fdcb208 Try to fetch steam game count if requested and cache it
Build, Test & Push Core Service / quality-check (push) Successful in 44s
Build, Test & Push Core Service / docker (push) Successful in 1m48s
2026-04-28 15:43:02 +02:00
lobo 2e3896b00d Add owned-games DTO and full profile support
Build, Test & Push Core Service / quality-check (push) Successful in 10s
Build, Test & Push Core Service / docker (push) Successful in 1m44s
Introduce SteamOwnedGamesResponse and SteamProfileAndGamesResponse DTOs and extend SteamApiService with getOwnedGames(...) and getFullPlayerProfile(...) to fetch and combine player summary and owned games. Update SteamTestController to return the combined profile/games response. Remove redundant Steam service URL entries from application.yml. Add SteamApiServiceTest to cover player summary, owned games (including null fields), and the combined profile flow; service falls back to empty lists on errors.
2026-04-19 15:15:15 +02:00
lobo 1f980c50af Refactor Steam adapter packages and update docs
Build, Test & Push Core Service / quality-check (push) Successful in 8s
Build, Test & Push Core Service / docker (push) Successful in 1m39s
Move steam_adapter sources from domain.* to modules.* and rename controller package to api. Update package declarations and imports across SteamTestController, SteamPlayerSummaryResponse, SteamClientConfig, and SteamApiService. Update README to re-label Controller -> API layer and Domain -> Business layer and adjust wording about layer boundaries. Also normalize file endings/newlines in several Java files. No functional logic changes were made.
2026-04-19 12:49:32 +02:00
lobo bba756728d Add Steam API client, service, controller
Build, Test & Push Core Service / quality-check (push) Successful in 9s
Build, Test & Push Core Service / docker (push) Successful in 1m44s
Introduce Steam integration: add SteamClientConfig (RestClient bean), SteamApiService (calls GetPlayerSummaries and returns a Player DTO), SteamPlayerSummaryResponse DTO, and SteamTestController (/api/steam/test/{steamId}) for quick testing. Update SecurityConfig to permit the test endpoint and adjust the SecurityFilterChain bean signature. Add Steam API settings: base-url in application.yml and a dev API key in application-dev.yml. Includes basic error logging and optional response handling when no player is found.
2026-04-19 11:38:31 +02:00
lobo 04dcab45da Initial project setup: CI, Docker & configs
Build, Test & Push Core Service / quality-check (push) Successful in 42s
Build, Test & Push Core Service / docker (push) Successful in 2m4s
Add project bootstrap for build, CI/CD, and local development. Introduces Maven Wrapper (mvnw, mvnw.cmd, .mvn/wrapper), multi-stage Dockerfile, docker-compose files (compose.yaml, docker-compose.dev.yml), .env, banner and README. Adds Gitea Actions workflow to build, test and push container images. Update application.yml (port -> 8090, virtual threads, API versioning, management/actuator/prometheus settings, Steam API config) and add application-dev.yml for local overrides. Extend pom.xml with caching, observability (actuator, micrometer/prometheus), testing/dev dependencies (testcontainers, devtools, additional spring test modules) to support CI and local testing.
2026-04-19 10:44:29 +02:00
lobo a2ae667a23 Added gitignore rules for 2026-04-19 09:37:47 +02:00
lobo a941000425 Initial commit 2026-04-18 12:08:17 +02:00