using System; using System.Collections.Generic; using System.IO; using System.Linq; using Nancy; using NzbDrone.Api.Extensions; using NzbDrone.Common; namespace NzbDrone.Api.Directories { public class DirectoryModule : NzbDroneApiModule { private readonly IDirectoryLookupService _directoryLookupService; public DirectoryModule(IDirectoryLookupService directoryLookupService) : base("/directories") { _directoryLookupService = directoryLookupService; Get["/"] = x => GetDirectories(); } private Response GetDirectories() { if (!Request.Query.query.HasValue) return new List().AsResponse(); string query = Request.Query.query.Value; var dirs = _directoryLookupService.LookupSubDirectories(query); if (dirs == null) throw new Exception("A valid path was not provided"); return dirs.AsResponse(); } } }