mirror of
https://github.com/fergalmoran/Readarr.git
synced 2025-12-22 09:29:59 +00:00
New: Prevent Remote Path Mapping local folder being set to System folder or '/'
(cherry picked from commit 0f904e091702a2ac53771ee3aeb5aafe62688035)
This commit is contained in:
@@ -30,8 +30,11 @@ namespace Readarr.Api.V1.RemotePathMappings
|
|||||||
SharedValidator.RuleFor(c => c.LocalPath)
|
SharedValidator.RuleFor(c => c.LocalPath)
|
||||||
.Cascade(CascadeMode.Stop)
|
.Cascade(CascadeMode.Stop)
|
||||||
.IsValidPath()
|
.IsValidPath()
|
||||||
.SetValidator(mappedNetworkDriveValidator)
|
.SetValidator(mappedNetworkDriveValidator)
|
||||||
.SetValidator(pathExistsValidator);
|
.SetValidator(pathExistsValidator)
|
||||||
|
.SetValidator(new SystemFolderValidator())
|
||||||
|
.NotEqual("/")
|
||||||
|
.WithMessage("Cannot be set to '/'");
|
||||||
}
|
}
|
||||||
|
|
||||||
protected override RemotePathMappingResource GetResourceById(int id)
|
protected override RemotePathMappingResource GetResourceById(int id)
|
||||||
@@ -40,7 +43,8 @@ namespace Readarr.Api.V1.RemotePathMappings
|
|||||||
}
|
}
|
||||||
|
|
||||||
[RestPostById]
|
[RestPostById]
|
||||||
public ActionResult<RemotePathMappingResource> CreateMapping(RemotePathMappingResource resource)
|
[Consumes("application/json")]
|
||||||
|
public ActionResult<RemotePathMappingResource> CreateMapping([FromBody] RemotePathMappingResource resource)
|
||||||
{
|
{
|
||||||
var model = resource.ToModel();
|
var model = resource.ToModel();
|
||||||
|
|
||||||
@@ -48,6 +52,7 @@ namespace Readarr.Api.V1.RemotePathMappings
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
|
[Produces("application/json")]
|
||||||
public List<RemotePathMappingResource> GetMappings()
|
public List<RemotePathMappingResource> GetMappings()
|
||||||
{
|
{
|
||||||
return _remotePathMappingService.All().ToResource();
|
return _remotePathMappingService.All().ToResource();
|
||||||
@@ -60,7 +65,7 @@ namespace Readarr.Api.V1.RemotePathMappings
|
|||||||
}
|
}
|
||||||
|
|
||||||
[RestPutById]
|
[RestPutById]
|
||||||
public ActionResult<RemotePathMappingResource> UpdateMapping(RemotePathMappingResource resource)
|
public ActionResult<RemotePathMappingResource> UpdateMapping([FromBody] RemotePathMappingResource resource)
|
||||||
{
|
{
|
||||||
var mapping = resource.ToModel();
|
var mapping = resource.ToModel();
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user