mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
housekeep(fastapi): rework aurweb.db session API
Changes: ------- - Add aurweb.db.get_session() - Returns aurweb.db's global `session` instance - Provides us a way to change the implementation of the session instance without interrupting user code. - Use aurweb.db.get_session() in session API methods - Add docstrings to session API methods - Refactor aurweb.db.delete - Normalize aurweb.db.delete to an alias of session.delete - Refresh instances in places we depend on their non-PK columns being up to date. Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
f8ba2c5342
commit
4103ab49c9
22 changed files with 212 additions and 138 deletions
|
@ -110,18 +110,26 @@ def get_pkg_or_base(
|
|||
raise HTTPException(status_code=HTTPStatus.NOT_FOUND)
|
||||
|
||||
instance = db.query(cls).filter(cls.Name == name).first()
|
||||
if cls == models.PackageBase and not instance:
|
||||
if not instance:
|
||||
raise HTTPException(status_code=HTTPStatus.NOT_FOUND)
|
||||
|
||||
return instance
|
||||
return db.refresh(instance)
|
||||
|
||||
|
||||
def get_pkgbase_comment(
|
||||
pkgbase: models.PackageBase, id: int) -> models.PackageComment:
|
||||
def get_pkgbase_comment(pkgbase: models.PackageBase, id: int) \
|
||||
-> models.PackageComment:
|
||||
comment = pkgbase.comments.filter(models.PackageComment.ID == id).first()
|
||||
if not comment:
|
||||
raise HTTPException(status_code=HTTPStatus.NOT_FOUND)
|
||||
return comment
|
||||
return db.refresh(comment)
|
||||
|
||||
|
||||
def get_pkgreq_by_id(id: int):
|
||||
pkgreq = db.query(models.PackageRequest).filter(
|
||||
models.PackageRequest.ID == id).first()
|
||||
if not pkgreq:
|
||||
raise HTTPException(status_code=HTTPStatus.NOT_FOUND)
|
||||
return db.refresh(pkgreq)
|
||||
|
||||
|
||||
@register_filter("out_of_date")
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue