mirror of
https://gitea.publichub.eu/oscar.krause/fastapi-dls.git
synced 2026-04-06 16:15:48 +03:00
implemented endpoint for expired origins (origins without active leases)
This commit is contained in:
10
app/orm.py
10
app/orm.py
@@ -66,6 +66,16 @@ class Origin(Base):
|
||||
session.close()
|
||||
return deletions
|
||||
|
||||
@staticmethod
|
||||
def delete_expired(engine: Engine) -> int:
|
||||
session = sessionmaker(bind=engine)()
|
||||
origins = session.query(Origin).join(Lease, Origin.origin_ref == Lease.origin_ref, isouter=True).filter(Lease.lease_ref.is_(None)).all()
|
||||
origin_refs = [origin.origin_ref for origin in origins]
|
||||
deletions = session.query(Origin).filter(Origin.origin_ref.in_(origin_refs)).delete()
|
||||
session.commit()
|
||||
session.close()
|
||||
return deletions
|
||||
|
||||
|
||||
class Lease(Base):
|
||||
__tablename__ = "lease"
|
||||
|
||||
Reference in New Issue
Block a user