POWR/CHANGELOG.md

2.4 KiB

Changelog

All notable changes to the POWR project will be documented in this file.

[Unreleased]

2024-02-04

Added

  • Complete template database schema
  • Extended LibraryService with template support:
    • Template fetching
    • Exercise to template conversion
    • Template exercise handling
  • Type-safe library content handling

Changed

  • Updated database schema to version 3
  • Enhanced template type system
  • Improved exercise loading in library

Technical Details

  1. Database Schema Updates:

    • Added templates table with metadata support
    • Added template_exercises junction table
    • Added template_tags table
    • Added proper constraints and foreign keys
  2. Type System Improvements:

    • Added LibraryContent interface for unified content handling
    • Enhanced exercise types with format support
    • Added proper type assertions for template data
  3. Library Service Enhancements:

    • Added getTemplates method with proper typing
    • Added getTemplate helper methods
    • Improved error handling and transaction support

Migration Notes

  • New database tables for templates require migration
  • Template data structure now supports future Nostr integration
  • Library views should be updated to use new content types

2024-02-03

Added

  • Unified type system for exercises, workouts, and templates
  • New database utilities and service layer
  • Nostr integration utilities:
    • Event type definitions
    • Data transformers for Nostr compatibility
    • Validation utilities for Nostr events

Changed

  • Refactored WorkoutContext to use new unified types
  • Updated LibraryService to use new database utilities
  • Consolidated exercise types into a single source of truth

Technical Details

  1. Type System Updates:

    • Created BaseExercise type as foundation
    • Added WorkoutExercise and TemplateExercise types
    • Implemented SyncableContent interface for Nostr compatibility
  2. Database Improvements:

    • Added new DbService class for better transaction handling
    • Updated schema for exercise format storage
    • Added migration system
  3. Nostr Integration:

    • Added event validation utilities
    • Created transformers for converting between local and Nostr formats
    • Added utility functions for tag handling

Migration Notes

  • Database schema version increased to 2
  • Exercise format data will need migration
  • Existing code using old exercise types will need updates