Introduce course_package table and API for selling course templates.
Supports teacher-owned and org-wide active package queries with keyword
search, sort order, and pagination.
Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
Downgrade list failures when loading ref resources for a section so one bad row does not fail the entire page; log warn with section id.
Made-with: Cursor
Require current_org_id for lianxi deletion and relation traversal, and add org-scoped relation lookups to prevent cross-organization hits in daka/jihua counters.
Made-with: Cursor
Add org_id fields and migrations for course, section, lianxi, piyue, and jihua/daka data paths, and enforce organization-scoped filtering in ws service queries.
Made-with: Cursor
Add org_id schema migrations and service-level filtering for teacher-student and class workflows, then cover org-context behavior with focused unit/e2e tests for leave and hour statistics.
Made-with: Cursor
nginx proxy_pass with location /api/v2/ts/ strips the prefix and appends
the remaining path to /api/v1/ts/, resulting in /api/v1/ts/ for root requests.
axum routes are exact-match by default, so add the trailing slash variant.
Make moicen env copying compatible with sibling AuthCore repo and add start/stop/build helper scripts for huiwings stack bring-up on moicen hosts.
Made-with: Cursor
Rename remaining qumu_category db artifacts to course_category and document jsonb key migration procedure for existing production data.
Made-with: Cursor
Track required workspace crates, scripts, and historical diesel migrations so the repository contains the complete runnable backend baseline.
Made-with: Cursor
Add diesel migrations and synchronize backend/frontend model fields plus jsonb key migration to support generic teaching subjects beyond piano-specific naming.
Made-with: Cursor