@@ -112,16 +112,21 @@ async def get_course_by_code(self, course_code: str) -> Optional[Course]:
112112 """Retrieve a course by course code."""
113113 query = FilterQuery (
114114 filter_expression = Tag ("course_code" ) == course_code ,
115- return_fields = ["id" , "course_code" , "title" , "description" , "department" , "major" ,
115+ return_fields = ["id" , "course_code" , "title" , "description" , "department" , "major" ,
116116 "difficulty_level" , "format" , "semester" , "year" , "credits" , "tags" ,
117117 "instructor" , "max_enrollment" , "current_enrollment" , "learning_objectives" ,
118118 "prerequisites" , "schedule" , "created_at" , "updated_at" ]
119119 )
120120 results = self .vector_index .query (query )
121-
121+
122122 if results .docs :
123123 return self ._dict_to_course (results .docs [0 ].__dict__ )
124124 return None
125+
126+ async def get_all_courses (self ) -> List [Course ]:
127+ """Retrieve all courses from the catalog."""
128+ # Use search with empty query to get all courses
129+ return await self .search_courses (query = "" , limit = 1000 , similarity_threshold = 0.0 )
125130
126131 async def search_courses (
127132 self ,
0 commit comments