mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
change(python): move request & pkgbase request routes
Move package request routes and related routes to their respective routers. In addition, move some utility used for requests over from `aurweb.packages`. Introduced routers: - `aurweb.routers.requests` Introduced package: - `aurweb.requests` Introduced module: - `aurweb.requests.util` Changes: - Moved `aurweb.packages.validate` to `aurweb.pkgbase.validate` - Moved requests listing & request closure routes to `aurweb.routers.requests` - Moved pkgbase request creation route to `aurweb.routers.pkgbase` - Moved `get_pkgreq_by_id` from `aurweb.packages.util` to `aurweb.requests.util` and fixed its return type hint. Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
parent
a77d44e919
commit
a1f46611e1
10 changed files with 218 additions and 195 deletions
|
@ -115,14 +115,6 @@ def get_pkgbase_comment(pkgbase: models.PackageBase, id: int) \
|
|||
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")
|
||||
def out_of_date(packages: orm.Query) -> orm.Query:
|
||||
return packages.filter(models.PackageBase.OutOfDateTS.isnot(None))
|
||||
|
|
|
@ -1,34 +0,0 @@
|
|||
from typing import Any, Dict
|
||||
|
||||
from aurweb import db, models
|
||||
from aurweb.exceptions import ValidationError
|
||||
|
||||
|
||||
def request(pkgbase: models.PackageBase,
|
||||
type: str, comments: str, merge_into: str,
|
||||
context: Dict[str, Any]) -> None:
|
||||
if not comments:
|
||||
raise ValidationError(["The comment field must not be empty."])
|
||||
|
||||
if type == "merge":
|
||||
# Perform merge-related checks.
|
||||
if not merge_into:
|
||||
# TODO: This error needs to be translated.
|
||||
raise ValidationError(
|
||||
['The "Merge into" field must not be empty.'])
|
||||
|
||||
target = db.query(models.PackageBase).filter(
|
||||
models.PackageBase.Name == merge_into
|
||||
).first()
|
||||
if not target:
|
||||
# TODO: This error needs to be translated.
|
||||
raise ValidationError([
|
||||
"The package base you want to merge into does not exist."
|
||||
])
|
||||
|
||||
db.refresh(target)
|
||||
if target.ID == pkgbase.ID:
|
||||
# TODO: This error needs to be translated.
|
||||
raise ValidationError([
|
||||
"You cannot merge a package base into itself."
|
||||
])
|
Loading…
Add table
Add a link
Reference in a new issue