using System.Collections.Generic; using NzbDrone.Core.RootFolders; using NzbDrone.Api.Mapping; using NzbDrone.Api.Validation; namespace NzbDrone.Api.RootFolders { public class RootFolderModule : NzbDroneRestModule { private readonly IRootFolderService _rootFolderService; public RootFolderModule(IRootFolderService rootFolderService) { _rootFolderService = rootFolderService; GetResourceAll = GetRootFolders; GetResourceById = GetRootFolder; CreateResource = CreateRootFolder; DeleteResource = DeleteFolder; SharedValidator.RuleFor(c=>c.Path).IsValidPath(); } private RootFolderResource GetRootFolder(int id) { return _rootFolderService.Get(id).InjectTo(); } private int CreateRootFolder(RootFolderResource rootFolderResource) { return GetNewId(_rootFolderService.Add, rootFolderResource); } private List GetRootFolders() { return ToListResource(_rootFolderService.AllWithUnmappedFolders); } private void DeleteFolder(int id) { _rootFolderService.Remove(id); } } }