Beispiel #1
0
        public object Patch(string id, [FromBody] dynamic model)
        {
            // Cut off the notion of uuid from beginning of request
            ApplicationId appId = new ApplicationId(id);

            Site site = SiteHelper.GetSite(appId.SiteId);

            Application app = ApplicationHelper.GetApplication(appId.Path, site);

            if (app == null)
            {
                return(NotFound());
            }

            ApplicationHelper.UpdateApplication(app, site, model);

            // Save changes
            ManagementUnit.Current.Commit();


            //
            // Create response
            dynamic application = ApplicationHelper.ToJsonModel(app, site, Context.Request.GetFields());

            // The Id could change by changing path.
            if (application.id != id)
            {
                return(LocationChanged(ApplicationHelper.GetLocation(application.id), application));
            }

            return(application);
        }
Beispiel #2
0
        public object Get(string id)
        {
            // Cut off the notion of uuid from beginning of request
            ApplicationId appId = new ApplicationId(id);

            Site site = SiteHelper.GetSite(appId.SiteId);

            // Get the application using data encoded in uuid
            Application app = ApplicationHelper.GetApplication(appId.Path, site);

            if (app == null)
            {
                return(NotFound());
            }

            return(ApplicationHelper.ToJsonModel(app, site, Context.Request.GetFields()));
        }
Beispiel #3
0
        public void Delete(string id)
        {
            // Cut off the notion of uuid from beginning of request
            ApplicationId appId = new ApplicationId(id);

            Site site = SiteHelper.GetSite(appId.SiteId);

            Application app = ApplicationHelper.GetApplication(appId.Path, site);

            if (app != null)
            {
                ApplicationHelper.DeleteApplication(app, site);

                // Save changes
                ManagementUnit.Current.Commit();
            }

            // Success
            Context.Response.StatusCode = (int)HttpStatusCode.NoContent;
        }