Commit graph

6 commits

Author SHA1 Message Date
1efc75e9b3 CI: Forgejo-Actions-Workflow (Multi-Repo: server+common als Siblings, sb-common-Patch-Pfad fuer CI umgeschrieben)
Some checks are pending
server-ci / build-test (push) Waiting to run
2026-09-07 13:38:41 +02:00
Jan-Peter von Hunnius
65a765e7af CI: symlink sb-common as sibling of workspace (include_str! paths resolve relative to sb-core sources)
All checks were successful
build / build-test (push) Successful in 48s
2026-09-01 11:28:58 +02:00
Jan-Peter von Hunnius
6d5491e176 CI: mkdir -p before cloning sb-common (git clone creates no parent dirs)
Some checks failed
build / build-test (push) Failing after 1m42s
2026-09-01 11:00:31 +02:00
Jan-Peter von Hunnius
b4502999da CI: add workspace build/test workflow; clones skara-brae-common to the absolute path expected by the sb-common path dependency
Some checks failed
build / build-test (push) Failing after 57s
2026-09-01 06:25:00 +02:00
Jan-Peter von Hunnius
6410e0a86d Implement auth, persistence, typed responses, and injectable RNG
Auth: JWT tokens (sb-auth) with argon2 password hashing, login/register
endpoints, Bearer token middleware protecting all routes except auth.
Authorization checks ensure users can only access their own characters.

Persistence: SQLite via rusqlite (sb-db) with write-through on all
mutations. Optional via SB_DB_PATH env var; falls back to in-memory.

Typed responses: ~20 response DTOs in sb-shared replacing ad-hoc JSON.

Combat: Injectable RNG via &mut impl Rng for deterministic tests.

Clean Architecture: Combat types and response DTOs in sb-shared; domain
services in sb-core; auth in sb-auth; persistence in sb-db.
2026-08-09 16:51:52 +02:00
Jan-Peter von Hunnius
7a75a523f0 Initial scaffold: Rust server workspace (sb-api, sb-core, sb-db, sb-auth, sb-shared) + sb-common dependency + systemd 2026-08-02 12:48:08 +02:00