]> git.ipfire.org Git - pbs.git/commitdiff
builders: Implement fetching uploads
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 21 Jan 2025 17:21:06 +0000 (17:21 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 21 Jan 2025 17:21:06 +0000 (17:21 +0000)
Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
src/buildservice/builders.py

index 0b680dc9140a35752b57b8704c9f3f7cab7da096..d66a99ad2dd3b46b9a78c149e46ac6f991d3ca60 100644 (file)
@@ -12,6 +12,7 @@ from sqlalchemy import BigInteger, Boolean, Column, DateTime, ForeignKey, Intege
 from . import base
 from . import database
 from . import jobs
+from . import uploads
 
 from .decorators import *
 from .errors import *
@@ -823,6 +824,27 @@ class Builder(database.Base, database.BackendMixin, database.SoftDeleteMixin):
                })
 
 
+       # Uploads
+
+       def get_uploads(self):
+               """
+                       Returns all uploads that belong to this builder
+               """
+               stmt = (
+                       sqlalchemy
+                       .select(uploads.Upload)
+                       .where(
+                               uploads.Upload.builder == self,
+                               uploads.Upload.expires_at > sqlalchemy.func.current_timestamp(),
+                       )
+                       .order_by(
+                               uploads.Upload.created_at.desc(),
+                       )
+               )
+
+               return self.db.fetch(stmt)
+
+
 class BuilderStats(base.Object):
        def init(self, builder, data):
                self.builder = builder