コード例 #1
0
        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."));
            }
        }