974ecb120dd098ccee74c901d1bdb92e34ffce07
Add user-scoped POST /api/sessions/:id/pause and /resume endpoints, mirroring the stop handler's ownership/lookup and 401/404/409 guards. Pause sets paused_at (status stays active); resume folds the open span into paused_seconds and clears paused_at. Change stop to fold any open pause span into paused_seconds, then set duration_seconds = max(0, round((end-start)/1000) - paused_seconds) so saved duration is worked time, and clear paused_at. Add a "Paused Duration" column to /api/export (after "Total Duration") using formatDuration(paused_seconds). Products affected: SoleLog backend (apps/api)
SoleLog docs
Running the backend (Phase 0)
Local (dev):
yarn install
cp apps/api/.env.example apps/api/.env # edit BETTER_AUTH_SECRET
yarn workspace @solelog/api db:migrate
yarn workspace @solelog/api dev
Docker (whole stack):
docker compose up --build
# health: curl http://localhost:3000/health
Description
Languages
TypeScript
91.1%
CSS
6.8%
Dockerfile
1.6%
HTML
0.5%