package ports import ( "Yimaru-Backend/internal/domain" "context" ) type CourseStore interface { CreateCourse(ctx context.Context, programID int64, input domain.CreateCourseInput) (domain.Course, error) GetCourseByID(ctx context.Context, id int64) (domain.Course, error) ListCoursesByProgramID(ctx context.Context, programID int64, limit, offset int32) ([]domain.Course, int64, error) ListCourseIDsByProgram(ctx context.Context, programID int64) ([]int64, error) ReorderCoursesInProgram(ctx context.Context, programID int64, orderedIDs []int64) error UpdateCourse(ctx context.Context, id int64, input domain.UpdateCourseInput) (domain.Course, error) DeleteCourse(ctx context.Context, id int64) error }