mirror of
				https://gitea.publichub.eu/oscar.krause/fastapi-dls.git
				synced 2025-11-04 04:56:07 +00:00 
			
		
		
		
	implemented '/leasing/v1/lessor/shutdown' for windows guests
This commit is contained in:
		
							
								
								
									
										22
									
								
								app/main.py
									
									
									
									
									
								
							
							
						
						
									
										22
									
								
								app/main.py
									
									
									
									
									
								
							@@ -487,6 +487,28 @@ async def leasing_v1_lessor_lease_remove(request: Request):
 | 
			
		||||
    return JSONResponse(response)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@app.post('/leasing/v1/lessor/shutdown', description='shutdown all leases')
 | 
			
		||||
async def leasing_v1_lessor_shutdown(request: Request):
 | 
			
		||||
    j, cur_time = json.loads((await request.body()).decode('utf-8'))
 | 
			
		||||
 | 
			
		||||
    token = j['token']
 | 
			
		||||
    token = jwt.decode(token=token, key=jwt_decode_key, algorithms=ALGORITHMS.RS256, options={'verify_aud': False})
 | 
			
		||||
    origin_ref = token.get('origin_ref')
 | 
			
		||||
 | 
			
		||||
    released_lease_list = list(map(lambda x: x.lease_ref, Lease.find_by_origin_ref(db, origin_ref)))
 | 
			
		||||
    deletions = Lease.cleanup(db, origin_ref)
 | 
			
		||||
    logging.info(f'> [ shutdown ]: {origin_ref}: removed {deletions} leases')
 | 
			
		||||
 | 
			
		||||
    response = {
 | 
			
		||||
        "released_lease_list": released_lease_list,
 | 
			
		||||
        "release_failure_list": None,
 | 
			
		||||
        "sync_timestamp": cur_time.isoformat(),
 | 
			
		||||
        "prompts": None
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    return JSONResponse(response)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
if __name__ == '__main__':
 | 
			
		||||
    import uvicorn
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user