public ActionResult <TwoColumnBox> EditTwoColumnBoxMethod(TwoColumnBox tc_box, int admin_id, string admin_token, int site_id)
        {
            //check available (better way to do this?)
            TwoColumnBox queried_tc_box;

            try{
                queried_tc_box = dbQuery.QueryTwoColumnBoxById(tc_box.two_column_box_id);
            }catch {
                JsonFailure f = new JsonFailure($"Two Column Box Id: {tc_box.two_column_box_id} not found.");
                return(StatusCode(400, f));
            }

            if (authenticator.VerifyAdminForLeaf(admin_id, queried_tc_box.site_id, admin_token))
            {
                DataPlan data_plan;
                try{
                    data_plan = _dataLimiter.ValidateDataPlanB(admin_id, queried_tc_box, tc_box);
                }catch (System.ArgumentException e) {
                    return(StatusCode(400, e.Message));
                }

                TwoColumnBox changed_tcb = dbQuery.EditTwoColumnBox(tc_box);
                _dataLimiter.UpdateDataPlan(data_plan);
                return(changed_tcb);
            }
            else
            {
                return(StatusCode(400, "Invalid credentials."));
            }
        }
        public ActionResult <JsonResponse> PostTwoColumnBoxMethod(TwoColumnBox NewTwoColumnBox, int admin_id, string admin_token)
        {
            if (authenticator.VerifyAdminForLeaf(admin_id, NewTwoColumnBox.site_id, admin_token))
            {
                List <string> errors = authenticator.ValidateIncomingComponent(NewTwoColumnBox);
                if (errors.Count == 0)
                {
                    DataPlan data_plan;
                    try{
                        data_plan = _dataLimiter.ValidateComponentAdditionForDataPlan(admin_id, NewTwoColumnBox);
                    }catch (System.ArgumentException e) {
                        return(StatusCode(400, e.Message));
                    }

                    NewTwoColumnBox.byte_size = NewTwoColumnBox.FindCharLength();
                    dbQuery.AddTwoColumnBox(NewTwoColumnBox);
                    _dataLimiter.UpdateDataPlan(data_plan);
                    JsonResponse r = new JsonSuccess("Two column box posted sucessfully!");
                    return(r);
                }
                else
                {
                    return(StatusCode(400, errors));
                }
            }
            else
            {
                return(StatusCode(400, "Invalid Token. Stranger Danger."));
            }
        }
 public ActionResult <TwoColumnBox> GetTwoColumnBoxMethod(int two_column_box_id)
 {
     try{
         TwoColumnBox two_column_box = dbQuery.QueryTwoColumnBoxById(two_column_box_id);
         return(two_column_box);
     }catch {
         return(StatusCode(400, "Component Not Found"));
     }
 }
 public ActionResult <JsonResponse> DeleteAuthenticatedSiteComponentMethod(ComponentReference Component)
 {
     if (Component.component_type == "p_box")
     {
         try{
             ParagraphBox paragraph_box = dbQuery.DeleteParagraphBox(Component.component_id);
             Site         parent_site   = dbQuery.QueryFeaturelessSiteById(paragraph_box.site_id);
             _dataLimiter.RemoveFromDataPlan(paragraph_box, parent_site.admin_id);
             JsonResponse r = new JsonSuccess("Paragraph box deleted sucessfully!");
             return(r);
         }catch {
             JsonFailure f = new JsonFailure($"Unable to find paragraph box id {Component.component_id}");
             return(StatusCode(400, f));
         }
     }
     else if (Component.component_type == "image")
     {
         try{
             Image image       = dbQuery.DeleteImage(Component.component_id);
             Site  parent_site = dbQuery.QueryFeaturelessSiteById(image.site_id);
             _dataLimiter.RemoveFromDataPlan(image, parent_site.admin_id);
             JsonResponse r = new JsonSuccess("Image deleted sucessfully!");
             return(r);
         }catch {
             JsonFailure f = new JsonFailure($"Unable to find image id {Component.component_id}");
             return(StatusCode(400, f));
         }
     }
     else if (Component.component_type == "portrait")
     {
         try{
             Portrait portrait    = dbQuery.DeletePortrait(Component.component_id);
             Site     parent_site = dbQuery.QueryFeaturelessSiteById(portrait.site_id);
             _dataLimiter.RemoveFromDataPlan(portrait, parent_site.admin_id);
             JsonResponse r = new JsonSuccess("Portrait component deleted sucessfully!");
             return(r);
         }catch {
             JsonFailure f = new JsonFailure($"Unable to find portrait id {Component.component_id}");
             return(StatusCode(400, f));
         }
     }
     else if (Component.component_type == "2c_box")
     {
         try{
             TwoColumnBox two_column_box = dbQuery.DeleteTwoColumnBox(Component.component_id);
             Site         parent_site    = dbQuery.QueryFeaturelessSiteById(two_column_box.site_id);
             _dataLimiter.RemoveFromDataPlan(two_column_box, parent_site.admin_id);
             JsonResponse r = new JsonSuccess("Two Column Box component deleted sucessfully!");
             return(r);
         }catch {
             JsonFailure f = new JsonFailure($"Unable to find two column box id {Component.component_id}");
             return(StatusCode(400, f));
         }
     }
     else if (Component.component_type == "link_box")
     {
         try{
             LinkBox link_box    = dbQuery.DeleteLinkBox(Component.component_id);
             Site    parent_site = dbQuery.QueryFeaturelessSiteById(link_box.site_id);
             _dataLimiter.RemoveFromDataPlan(link_box, parent_site.admin_id);
             JsonResponse r = new JsonSuccess("Link Box component deleted sucessfully!");
             return(r);
         }catch {
             JsonFailure f = new JsonFailure($"Unable to find link box id {Component.component_id}");
             return(StatusCode(400, f));
         }
     }
     else
     {
         JsonFailure f = new JsonFailure("Type mismatch. Type does not match any known components.");
         return(StatusCode(400, f));
     }
 }
Exemple #5
0
 public ActionResult <TwoColumnBox> EditTwoColumnBox([FromBody] TwoColumnBox two_column_box, int admin_id, string admin_token, int site_id)
 {
     return(methods.EditTwoColumnBoxMethod(two_column_box, admin_id, admin_token, site_id));
 }
Exemple #6
0
        public ActionResult <JsonResponse> PostTwoColumnBox([FromBody] string _two_column_box, int admin_id, string admin_token)
        {
            TwoColumnBox NewTwoColumnBox = JsonSerializer.Deserialize <TwoColumnBox>(_two_column_box);

            return(methods.PostTwoColumnBoxMethod(NewTwoColumnBox, admin_id, admin_token));
        }