fix: Maintainer, Co-maintainer /package search

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2022-02-05 03:42:43 -08:00
parent 7618101b1b
commit 39d6f927e6
No known key found for this signature in database
GPG key ID: F7E46DED420788F3

View file

@ -130,15 +130,15 @@ class PackageSearch:
def _search_by_co_or_maintainer(self, keywords: str) -> orm.Query: def _search_by_co_or_maintainer(self, keywords: str) -> orm.Query:
self._join_user() self._join_user()
exists_subq = db.query(PackageComaintainer).join(User).filter(
and_(PackageComaintainer.PackageBaseID == PackageBase.ID, user = db.query(User).filter(User.Username == keywords).first()
User.Username == keywords) uid = 0 if not user else user.ID
).exists() self.query = self.query.join(
self.query = self.query.filter( PackageComaintainer,
or_(and_(User.Username == keywords, PackageComaintainer.PackageBaseID == PackageBase.ID,
User.ID == PackageBase.MaintainerUID), isouter=True
db.query(exists_subq).scalar_subquery()) ).filter(or_(PackageComaintainer.UsersID == uid, User.ID == uid))
)
return self return self
def _search_by_submitter(self, keywords: str) -> orm.Query: def _search_by_submitter(self, keywords: str) -> orm.Query: