public ActionResult <Image> EditImageMethod(Image image, int admin_id, string admin_token, int site_id) { //check available (better way to do this?); Image queried_image; try{ queried_image = dbQuery.QueryImageById(image.image_id); }catch { JsonFailure f = new JsonFailure($"Image Id: {image.image_id} not found."); return(StatusCode(400, f)); } //verify and change if (authenticator.VerifyAdminForLeaf(admin_id, queried_image.site_id, admin_token)) { DataPlan data_plan; try{ data_plan = _dataLimiter.ValidateDataPlanB(admin_id, queried_image, image); }catch (System.ArgumentException e) { return(StatusCode(400, e.Message)); } Image changed_image = dbQuery.EditImage(image); _dataLimiter.UpdateDataPlan(data_plan); return(changed_image); } else { return(StatusCode(400, "Invalid credentials.")); } }