Skip to content

Commit 41ce2af

Browse files
ramonechenjzgom067
andcommitted
Array-ify semester and attributes in course search
Co-Authored-By: Jack Zgombic <[email protected]>
1 parent ad85f1e commit 41ce2af

File tree

1 file changed

+8
-2
lines changed

1 file changed

+8
-2
lines changed

app/routers/course.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -144,7 +144,7 @@ def search_course(
144144
deptFilters: str | None = None,
145145
attrFilters: str | None = None,
146146
semFilters: str | None = None,
147-
) -> list[dict[str, str | int | None]]:
147+
) -> list[dict[str, str | int | list[str]]]:
148148
# FastAPI does not support list query parameters
149149
dept_filters = deptFilters.split(",") if deptFilters else None
150150
attr_filters = attrFilters.split(",") if attrFilters else None
@@ -210,7 +210,13 @@ def search_course(
210210
sem_filter_regex,
211211
)
212212
).all()
213-
return [dict(row._mapping) for row in results]
213+
results_dict = [dict(row._mapping) for row in results]
214+
for course in results_dict:
215+
course["sem_list"] = course["sem_list"].split(",") if course["sem_list"] else []
216+
course["attr_list"] = (
217+
course["attr_list"].split(",") if course["attr_list"] else []
218+
)
219+
return results_dict
214220

215221

216222
@router.get("/filter/values/{filter}")

0 commit comments

Comments
 (0)