Skip to content

Commit

Permalink
implemented endpoint to remove expired leases
Browse files Browse the repository at this point in the history
  • Loading branch information
collinwebdesigns committed Jun 12, 2023
1 parent 7cd4e6f commit 7e5f8b6
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 0 deletions.
6 changes: 6 additions & 0 deletions app/main.py
Original file line number Diff line number Diff line change
Expand Up @@ -186,6 +186,12 @@ async def _leases(request: Request, origin: bool = False):
return JSONr(response)


@app.delete('/-/leases/expired', summary='* Leases')
async def _lease_delete_expired(request: Request):
Lease.delete_expired(db)
return Response(status_code=201)


@app.delete('/-/lease/{lease_ref}', summary='* Lease')
async def _lease_delete(request: Request, lease_ref: str):
if Lease.delete(db, lease_ref) == 1:
Expand Down
8 changes: 8 additions & 0 deletions app/orm.py
Original file line number Diff line number Diff line change
Expand Up @@ -160,6 +160,14 @@ def delete(engine: Engine, lease_ref: str) -> int:
session.close()
return deletions

@staticmethod
def delete_expired(engine: Engine) -> int:
session = sessionmaker(bind=engine)()
deletions = session.query(Lease).filter(Lease.lease_expires <= datetime.utcnow()).delete()
session.commit()
session.close()
return deletions

@staticmethod
def calculate_renewal(renewal_period: float, delta: timedelta) -> timedelta:
"""
Expand Down

0 comments on commit 7e5f8b6

Please sign in to comment.