change(fastapi): simplify package details database queries

Signed-off-by: Kevin Morris <kevr@0cost.org>
This commit is contained in:
Kevin Morris 2021-11-11 19:30:21 -08:00
parent a33e9bd571
commit e8e9edbb21
No known key found for this signature in database
GPG key ID: F7E46DED420788F3
2 changed files with 5 additions and 13 deletions

View file

@ -229,9 +229,7 @@ async def package(request: Request, name: str) -> Response:
context["package"] = pkg context["package"] = pkg
# Package sources. # Package sources.
context["sources"] = db.query(models.PackageSource).join( context["sources"] = pkg.package_sources
models.Package).join(models.PackageBase).filter(
models.PackageBase.ID == pkgbase.ID)
# Package dependencies. # Package dependencies.
dependencies = db.query(models.PackageDependency).join( dependencies = db.query(models.PackageDependency).join(
@ -246,16 +244,10 @@ async def package(request: Request, name: str) -> Response:
models.Package.Name.asc()) models.Package.Name.asc())
context["required_by"] = required_by context["required_by"] = required_by
licenses = db.query(models.License).join(models.PackageLicense).join( context["licenses"] = pkg.package_licenses
models.Package).join(models.PackageBase).filter(
models.PackageBase.ID == pkgbase.ID)
context["licenses"] = licenses
conflicts = db.query(models.PackageRelation).join(models.Package).join( conflicts = pkg.package_relations.filter(
models.PackageBase).filter( models.PackageRelation.RelTypeID == CONFLICTS_ID)
and_(models.PackageRelation.RelTypeID == CONFLICTS_ID,
models.PackageBase.ID == pkgbase.ID)
)
context["conflicts"] = conflicts context["conflicts"] = conflicts
provides = pkg.package_relations.filter( provides = pkg.package_relations.filter(

View file

@ -66,7 +66,7 @@
{% if show_package_details and licenses and licenses.count() %} {% if show_package_details and licenses and licenses.count() %}
<tr> <tr>
<th>{{ "Licenses" | tr }}:</th> <th>{{ "Licenses" | tr }}:</th>
<td>{{ licenses.all() | join(', ', attribute='Name') | default('None' | tr) }} </td> <td>{{ licenses.all() | join(', ', attribute='License.Name') }} </td>
</tr> </tr>
{% endif %} {% endif %}
{% if show_package_details and conflicts and conflicts.count() %} {% if show_package_details and conflicts and conflicts.count() %}