Skip to content

Commit fe95614

Browse files
authored
Merge pull request #129 from profcomff/filter_by_subject
Filter by subject
2 parents e19e434 + efd2d86 commit fe95614

File tree

2 files changed

+9
-1
lines changed

2 files changed

+9
-1
lines changed

rating_api/models/db.py

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,14 +137,20 @@ def order_by_mark(self, query: str, asc_order: bool) -> UnaryExpression[float] |
137137
def search_by_lectorer_id(self, query: int) -> bool:
138138
if not query:
139139
return true()
140-
return and_(Comment.review_status == ReviewStatus.APPROVED, Comment.lecturer_id == query)
140+
return Comment.lecturer_id == query
141141

142142
@hybrid_method
143143
def search_by_user_id(self, query: int) -> bool:
144144
if not query:
145145
return true()
146146
return Comment.user_id == query
147147

148+
@hybrid_method
149+
def search_by_subject(self, query: str) -> bool:
150+
if not query:
151+
return true()
152+
return func.lower(Comment.subject).contains(query.lower())
153+
148154

149155
class LecturerUserComment(BaseDbModel):
150156
id: Mapped[int] = mapped_column(Integer, primary_key=True)

rating_api/routes/comment.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,7 @@ async def get_comments(
173173
offset: int = 0,
174174
lecturer_id: int | None = None,
175175
user_id: int | None = None,
176+
subject: str | None = None,
176177
order_by: str = Query(
177178
enum=["create_ts", "mark_kindness", "mark_freebie", "mark_clarity", "mark_general"],
178179
default="create_ts",
@@ -206,6 +207,7 @@ async def get_comments(
206207
Comment.query(session=db.session)
207208
.filter(Comment.search_by_lectorer_id(lecturer_id))
208209
.filter(Comment.search_by_user_id(user_id))
210+
.filter(Comment.search_by_subject(subject))
209211
.order_by(
210212
Comment.order_by_mark(order_by, asc_order)
211213
if "mark" in order_by

0 commit comments

Comments
 (0)