예제 #1
0
        public ActionResult PatchImportFolder(int id, [FromBody] JsonPatchDocument <ImportFolder> folder)
        {
            if (folder == null)
            {
                return(BadRequest("object is invalid."));
            }
            var existing = RepoFactory.ImportFolder.GetByID(id);

            if (existing == null)
            {
                return(BadRequest("No Import Folder with ID"));
            }
            var patchModel = new ImportFolder(existing);

            folder.ApplyTo(patchModel, ModelState);
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var serverModel = patchModel.GetServerModel();

            RepoFactory.ImportFolder.SaveImportFolder(serverModel);
            return(Ok());
        }
예제 #2
0
        public ActionResult EditFolder(ImportFolder folder)
        {
            if (string.IsNullOrEmpty(folder.Path))
            {
                return(BadRequest("Path missing. Import Folders must be a location that exists on the server"));
            }

            if (folder.ID == 0)
            {
                return(BadRequest("ID missing. If this is a new Folder, then use POST"));
            }

            try
            {
                RepoFactory.ImportFolder.SaveImportFolder(folder.GetServerModel());
                return(Ok());
            }
            catch (Exception e)
            {
                return(InternalError(e.Message));
            }
        }
예제 #3
0
        public ActionResult <ImportFolder> AddFolder(ImportFolder folder)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            if (folder.Path == string.Empty)
            {
                return(BadRequest("The Folder path must not be Empty"));
            }
            try
            {
                Shoko.Models.Server.ImportFolder import = folder.GetServerModel();

                var newFolder = RepoFactory.ImportFolder.SaveImportFolder(import);

                return(new ImportFolder(newFolder));
            }
            catch (Exception e)
            {
                return(InternalError(e.Message));
            }
        }