File tree Expand file tree Collapse file tree 1 file changed +36
-0
lines changed
Expand file tree Collapse file tree 1 file changed +36
-0
lines changed Original file line number Diff line number Diff line change 1111 Opportunities ,
1212 RecommendsClassYears ,
1313 User ,
14+ Courses ,
1415)
1516
1617from . import main_blueprint
@@ -586,6 +587,41 @@ def getLabManagerOpportunityCards(rcs_id: str):
586587# return cards
587588
588589
590+ @main_blueprint .get ("/searchCourses/<string:query>" )
591+ def searchCourses (query : str ):
592+ # Perform a search on Courses table by code and name using ILIKE for exact partial matches
593+ stmt = (
594+ db .select (Courses )
595+ .distinct ()
596+ .where (
597+ (Courses .code .ilike (f"%{ query } %" ))
598+ | (
599+ User .last_name .ilike (
600+ f"%{ query } %"
601+ ) # Case-insensitive partial match on course code
602+ )
603+ | (
604+ Courses .name .ilike (
605+ f"%{ query } %"
606+ ) # Case-insensitive partial match on course name
607+ )
608+ )
609+ )
610+
611+ results = db .session .execute (stmt ).scalars ().all ()
612+
613+ # Format results as JSON
614+ courses = [
615+ {
616+ "code" : course .code ,
617+ "name" : course .name ,
618+ }
619+ for course in results
620+ ]
621+
622+ return {"courses" : courses }, 200
623+
624+
589625# functions to create/edit/delete opportunities
590626@main_blueprint .post ("/createOpportunity" )
591627@jwt_required ()
You can’t perform that action at this time.
0 commit comments