public ActionResult <JsonResponse> PostLinkBoxMethod(NewLinkBoxDto _NewLinkBox, int admin_id, string admin_token)
        {
            LinkBox NewLinkBox = new LinkBox();

            NewLinkBox.title        = _NewLinkBox.title;
            NewLinkBox.content      = _NewLinkBox.content;
            NewLinkBox.url          = _NewLinkBox.url;
            NewLinkBox.link_display = _NewLinkBox.link_display;


            NewLinkBox.priority  = _NewLinkBox.priority;
            NewLinkBox.site_id   = _NewLinkBox.site_id;
            NewLinkBox.byte_size = NewLinkBox.FindCharLength();

            if (authenticator.VerifyAdminForLeaf(admin_id, NewLinkBox.site_id, admin_token))
            {
                List <string> errors = authenticator.ValidateIncomingComponent(NewLinkBox);
                if (errors.Count == 0)
                {
                    DataPlan data_plan;
                    try{
                        data_plan = _dataLimiter.ValidateComponentAdditionForDataPlan(admin_id, NewLinkBox);
                    }catch (System.ArgumentException e) {
                        return(StatusCode(400, e.Message));
                    }

                    dbQuery.AddLinkBox(NewLinkBox);
                    _dataLimiter.UpdateDataPlan(data_plan);
                    JsonResponse r = new JsonSuccess("Link Box posted sucessfully!");
                    return(r);
                }
                else
                {
                    return(StatusCode(400, errors));
                }
            }
            else
            {
                return(StatusCode(400, "Invalid Token. Stranger Danger."));
            }
        }
Esempio n. 2
0
 public ActionResult <JsonResponse> PostLinkBox([FromBody] NewLinkBoxDto NewLinkBox, int admin_id, string admin_token)
 {
     return(methods.PostLinkBoxMethod(NewLinkBox, admin_id, admin_token));
 }