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()); }
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)); } }
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)); } }