def post_variables() -> Response: """Create a variable""" try: data = variable_schema.load(request.json) except ValidationError as err: raise BadRequest("Invalid Variable schema", detail=str(err.messages)) Variable.set(data["key"], data["val"]) return variable_schema.dump(data)
def patch_variable(*, variable_key: str, update_mask: UpdateMask = None) -> Response: """Update a variable by key""" try: data = variable_schema.load(get_json_request_dict()) except ValidationError as err: raise BadRequest("Invalid Variable schema", detail=str(err.messages)) if data["key"] != variable_key: raise BadRequest("Invalid post body", detail="key from request body doesn't match uri parameter") if update_mask: if "key" in update_mask: raise BadRequest("key is a ready only field") if "value" not in update_mask: raise BadRequest("No field to update") Variable.set(data["key"], data["val"]) return variable_schema.dump(data)
def patch_variable(variable_key: str, update_mask: Optional[List[str]] = None) -> Response: """ Update a variable by key """ try: data = variable_schema.load(request.json) except ValidationError as err: raise BadRequest("Invalid Variable schema", detail=str(err.messages)) if data["key"] != variable_key: raise BadRequest("Invalid post body", detail="key from request body doesn't match uri parameter") if update_mask: if "key" in update_mask: raise BadRequest("key is a ready only field") if "value" not in update_mask: raise BadRequest("No field to update") Variable.set(data["key"], data["val"]) return Response(status=204)