Skip to content
Snippets Groups Projects
Commit ce8985eb authored by Robert Goldmann's avatar Robert Goldmann
Browse files

#9 - new route for manually triggering the cleanup

parent de8b84b4
No related branches found
No related tags found
No related merge requests found
...@@ -38,6 +38,12 @@ class DatabaseInfo(BaseModel): ...@@ -38,6 +38,12 @@ class DatabaseInfo(BaseModel):
} }
class DatabaseCleanupInfo(BaseModel):
before: DatabaseInfo
after: DatabaseInfo
difference: DatabaseInfo
class MinMax(BaseModel): class MinMax(BaseModel):
min: float = None min: float = None
max: float = None max: float = None
......
...@@ -23,3 +23,21 @@ async def version(): ...@@ -23,3 +23,21 @@ async def version():
response_model=Schemas.DatabaseInfo) response_model=Schemas.DatabaseInfo)
async def databaseInfo(db: Session = Depends(get_database)): async def databaseInfo(db: Session = Depends(get_database)):
return DatabaseInfoProvider.get_database_info(db) return DatabaseInfoProvider.get_database_info(db)
@router.get('/databaseCleanup',
summary='Cleans up the database by enforcing the configured retention policies',
response_model=Schemas.DatabaseCleanupInfo)
async def databaseCleanup(db: Session = Depends(get_database)):
infoBefore = DatabaseInfoProvider.get_database_info(db)
# TODO
infoAfter = DatabaseInfoProvider.get_database_info(db)
deletedMeasurements = infoBefore.number_of_measurements - infoAfter.number_of_measurements
sizeFreed = infoBefore.size_on_disk_in_mb - infoAfter.size_on_disk_in_mb
infoDifference = Schemas.DatabaseInfo(number_of_measurements=deletedMeasurements, size_on_disk_in_mb=sizeFreed)
return Schemas.DatabaseCleanupInfo(before=infoBefore, after=infoAfter, difference=infoDifference)
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment