feat(course-package): add org_visible to course_group and course_package_item table

Migrations:
- htyws: add org_id, org_visible columns to course_group
- htykc: create course_package_item table

Backend:
- CourseGroup: add org_visible, org_id fields; find_org_visible_by_org_id query
- CoursePackageItem: new model with sync/list API
- SUPERVISOR role check for package item management
- New endpoint: GET /api/v1/ws/find_org_visible_course_groups
- New endpoints: POST /api/v1/clazz/course-package/item/sync,
  GET /api/v1/clazz/course-package/item/list/{package_id}

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
2026-04-30 14:26:27 +08:00
parent 542fb2461a
commit db08280f6e
12 changed files with 296 additions and 2 deletions
@@ -0,0 +1,8 @@
DROP INDEX IF EXISTS idx_course_group_org_visible;
DROP INDEX IF EXISTS idx_course_group_org_id;
ALTER TABLE course_group
DROP COLUMN IF EXISTS org_visible;
ALTER TABLE course_group
DROP COLUMN IF EXISTS org_id;
@@ -0,0 +1,8 @@
ALTER TABLE course_group
ADD COLUMN IF NOT EXISTS org_id varchar;
ALTER TABLE course_group
ADD COLUMN IF NOT EXISTS org_visible boolean DEFAULT false;
CREATE INDEX IF NOT EXISTS idx_course_group_org_id ON course_group (org_id);
CREATE INDEX IF NOT EXISTS idx_course_group_org_visible ON course_group (org_visible);