mitai-jinkendo/backend/migrations
Lars b63d15fd02
All checks were successful
Deploy Development / deploy (push) Successful in 44s
Build Test / lint-backend (push) Successful in 0s
Build Test / build-frontend (push) Successful in 14s
feat: flexible rest days system with JSONB config (v9d Phase 2a)
PROBLEM: Simple full_rest/active_recovery model doesn't support
context-specific rest days (e.g., strength rest but cardio allowed).

SOLUTION: JSONB-based flexible rest day configuration.

## Changes:

**Migration 010:**
- Refactor rest_days.type → rest_config JSONB
- Schema: {focus, rest_from[], allows[], intensity_max}
- Validation function with check constraint
- GIN index for performant JSONB queries

**Backend (routers/rest_days.py):**
- CRUD: list, create (upsert by date), get, update, delete
- Stats: count per week, focus distribution
- Validation: check activity conflicts with rest day config

**Frontend (api.js):**
- 7 new methods: listRestDays, createRestDay, updateRestDay,
  deleteRestDay, getRestDaysStats, validateActivity

**Integration:**
- Router registered in main.py
- Ready for weekly planning validation rules

## Next Steps:
- Frontend UI (RestDaysPage with Quick/Custom mode)
- Activity conflict warnings
- Dashboard widget

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-22 16:20:52 +01:00
..
003_add_email_verification.sql feat: add self-registration with email verification 2026-03-21 09:53:11 +01:00
004_training_types.sql feat(v9d): add training types system + logout button 2026-03-21 13:05:33 +01:00
005_training_types_extended.sql feat: add extended training types (cardio walk/dance, mind & meditation) 2026-03-21 15:16:07 +01:00
006_training_types_abilities.sql feat: admin CRUD for training types + distribution chart in ActivityPage 2026-03-21 15:32:32 +01:00
007_activity_type_mappings.sql feat: learnable activity type mapping system (DB-based, auto-learning) 2026-03-21 19:31:58 +01:00
008_vitals_rest_days.sql feat: add missing migration 008 (vitals, rest days, sleep_goal_minutes) 2026-03-22 10:59:55 +01:00
009_sleep_log.sql fix: migration 009 - change profile_id from VARCHAR(36) to UUID 2026-03-22 08:22:58 +01:00
010_rest_days_jsonb.sql feat: flexible rest days system with JSONB config (v9d Phase 2a) 2026-03-22 16:20:52 +01:00
check_features.sql feat: v9c Phase 1 - Feature consolidation & cleanup migration 2026-03-20 18:57:39 +01:00
v9c_cleanup_features.sql feat: v9c Phase 1 - Feature consolidation & cleanup migration 2026-03-20 18:57:39 +01:00
v9c_fix_features.sql fix: add missing feature check endpoint and features 2026-03-20 12:57:29 +01:00
v9c_subscription_system.sql fix: correct UUID foreign key constraints in v9c migration 2026-03-19 12:50:12 +01:00