Adjust course search semester and attribute values - #16
Merged
Conversation
Updated the group_concat for semesters to only include distinct semester values, removing concatenation with year. This simplifies the 'sem_list' output in the course search query. Co-Authored-By: Jack Zgombic <69125339+jzgom067@users.noreply.github.com>
Co-Authored-By: Jack Zgombic <69125339+jzgom067@users.noreply.github.com>
jzgom067
approved these changes
Nov 14, 2025
There was a problem hiding this comment.
Pull Request Overview
This PR modifies the course search endpoint to return general semester names (e.g., "Fall", "Spring") instead of specific semester-year combinations (e.g., "Fall 2023"), and converts the sem_list and attr_list fields from comma-separated strings to arrays.
- Modified SQL query to return only distinct semester names without years
- Added post-processing logic to convert comma-separated strings to arrays
- Updated return type annotation to reflect the array changes
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| attrFilters: str | None = None, | ||
| semFilters: str | None = None, | ||
| ) -> list[dict[str, str | int | None]]: | ||
| ) -> list[dict[str, str | int | list[str]]]: |
There was a problem hiding this comment.
The return type annotation is incomplete. It should include None as a possible type for the dictionary values since subj_code, code_num, title, desc_text, credit_min, and credit_max can potentially be None. Consider updating to: list[dict[str, str | int | list[str] | None]]
Suggested change
| ) -> list[dict[str, str | int | list[str]]]: | |
| ) -> list[dict[str, str | int | list[str] | None]]: |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What?
Changes the behavior of the course search endpoint such that it returns a list of general semesters in which the course has been offered in, as opposed to a list of all specific semesters and years in which the course has been offered in the past.
Also introduces a change that array-ifies both semester and attribute fields in the course search endpoint return value.
Closes #7.
Why?
See #7.
How?
We changed one line in the monster course search query and used some basic Python code to array-ify values.
Testing?
It seems to work via testing on Postman.
Anything Else?
Have a nice day.