Radarr/NzbDrone.Api/Directories/DirectoryModule.cs

37 lines
1013 B
C#

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