trying to set up assignment of create operation

This commit is contained in:
2021-01-03 19:17:30 -06:00
parent 42a8e0c886
commit d9c30e1ef8
6 changed files with 86 additions and 17 deletions

View File

@ -12,11 +12,26 @@ def authorized_for_host(id):
auth_header_value = request.headers.get('Authorization').replace("Bearer ", "")
return get_model().authorized_for_host(id, auth_header_value)
@bp.route("/heartbeat/<string:id>", methods=("POST"))
def heartbeat(id):
if authorized_for_host(id):
get_model().host_heartbeat(id)
@bp.route("/heartbeat/<string:host_id>", methods=("POST"))
def heartbeat(host_id):
if authorized_for_host(host_id):
get_model().host_heartbeat(host_id)
else:
current_app.logger.info(f"/hub/heartbeat/{id} returned 401: invalid token")
current_app.logger.info(f"/hub/heartbeat/{host_id} returned 401: invalid token")
return abort(401, "invalid host id or token")
@bp.route("/claim-operation/<int:operation_id>/<string:host_id>", methods=("POST"))
def claim_operation(operation_id: int, host_id: str):
if authorized_for_host(host_id):
exists = get_model().host_operation_exists(operation_id, host_id)
if not exists:
return abort(404, "host operation not found")
claimed = get_model().claim_operation(operation_id, host_id)
if claimed:
return "ok"
else:
return abort(409, "operation was already assigned to another host")
else:
current_app.logger.info(f"/hub/claim-operation/{operation_id}/{host_id} returned 401: invalid token")
return abort(401, "invalid host id or token")