Scott Scoble
deecc1dd7c
feat: add SQLite data store with Lesson and LessonMedia models
...
- Add Microsoft.Data.Sqlite NuGet package to csproj
- Create Lesson model (Id, Title, Grade, Subject, LessonDate, Description, SourcePath, CompiledHtml, CreatedAt, UpdatedAt)
- Create LessonMedia model (LessonId, JellyfinItemId, SortOrder)
- Create LessonStore with SQLite-backed CRUD operations:
- Constructor expands ~ in dbPath to home directory
- Creates lessons and lesson_media tables on init
- GetAllLessons(), GetLessonById(), GetLessonsByGrade()
- UpsertLesson() with media association handling
- DeleteLesson() with FK cascade
- Enables foreign key enforcement via PRAGMA
- Build passes with 0 warnings, 0 errors
Closes #4
2026-05-15 21:37:56 -07:00
Scott Scoble
d94b71d0a1
feat: scaffold Nix flake with dotnet-sdk_9, typst, and nodejs
...
- devShells.default provides dotnetCorePackages.sdk_9_0, typst, nodejs
- packages.default uses buildDotnetModule with net9.0 target via callPackage
- Stub plugin/ project with minimal .csproj
- .gitignore with .NET/Nix build artifacts
2026-05-15 21:18:15 -07:00