Add some API attributes

sonarr-pull-more
Qstick 11 months ago
parent 1d034d8099
commit d400685cd1

@ -22,6 +22,7 @@ namespace Lidarr.Api.V1.Blocklist
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public PagingResource<BlocklistResource> GetBlocklist() public PagingResource<BlocklistResource> GetBlocklist()
{ {
var pagingResource = Request.ReadPagingResourceFromRequest<BlocklistResource>(); var pagingResource = Request.ReadPagingResourceFromRequest<BlocklistResource>();
@ -37,6 +38,7 @@ namespace Lidarr.Api.V1.Blocklist
} }
[HttpDelete("bulk")] [HttpDelete("bulk")]
[Produces("application/json")]
public object Remove([FromBody] BlocklistBulkResource resource) public object Remove([FromBody] BlocklistBulkResource resource)
{ {
_blocklistService.Delete(resource.Ids); _blocklistService.Delete(resource.Ids);

@ -48,6 +48,8 @@ namespace Lidarr.Api.V1.Commands
} }
[RestPostById] [RestPostById]
[Consumes("application/json")]
[Produces("application/json")]
public ActionResult<CommandResource> StartCommand(CommandResource commandResource) public ActionResult<CommandResource> StartCommand(CommandResource commandResource)
{ {
var commandType = var commandType =
@ -73,6 +75,7 @@ namespace Lidarr.Api.V1.Commands
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<CommandResource> GetStartedCommands() public List<CommandResource> GetStartedCommands()
{ {
return _commandQueueManager.All() return _commandQueueManager.All()

@ -23,6 +23,7 @@ namespace Lidarr.Api.V1.Config
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public TResource GetConfig() public TResource GetConfig()
{ {
var resource = ToResource(_configService); var resource = ToResource(_configService);
@ -32,6 +33,7 @@ namespace Lidarr.Api.V1.Config
} }
[RestPutById] [RestPutById]
[Consumes("application/json")]
public virtual ActionResult<TResource> SaveConfig(TResource resource) public virtual ActionResult<TResource> SaveConfig(TResource resource)
{ {
var dictionary = resource.GetType() var dictionary = resource.GetType()

@ -23,12 +23,14 @@ namespace Lidarr.Api.V1.CustomFilters
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<CustomFilterResource> GetCustomFilters() public List<CustomFilterResource> GetCustomFilters()
{ {
return _customFilterService.All().ToResource(); return _customFilterService.All().ToResource();
} }
[RestPostById] [RestPostById]
[Consumes("application/json")]
public ActionResult<CustomFilterResource> AddCustomFilter(CustomFilterResource resource) public ActionResult<CustomFilterResource> AddCustomFilter(CustomFilterResource resource)
{ {
var customFilter = _customFilterService.Add(resource.ToModel()); var customFilter = _customFilterService.Add(resource.ToModel());
@ -37,6 +39,7 @@ namespace Lidarr.Api.V1.CustomFilters
} }
[RestPutById] [RestPutById]
[Consumes("application/json")]
public ActionResult<CustomFilterResource> UpdateCustomFilter(CustomFilterResource resource) public ActionResult<CustomFilterResource> UpdateCustomFilter(CustomFilterResource resource)
{ {
_customFilterService.Update(resource.ToModel()); _customFilterService.Update(resource.ToModel());

@ -16,6 +16,7 @@ namespace Lidarr.Api.V1.DiskSpace
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<DiskSpaceResource> GetFreeSpace() public List<DiskSpaceResource> GetFreeSpace()
{ {
return _diskSpaceService.GetFreeSpace().ConvertAll(DiskSpaceResourceMapper.MapToResource); return _diskSpaceService.GetFreeSpace().ConvertAll(DiskSpaceResourceMapper.MapToResource);

@ -1,3 +1,4 @@
using System;
using System.Linq; using System.Linq;
using Lidarr.Http; using Lidarr.Http;
using Microsoft.AspNetCore.Mvc; using Microsoft.AspNetCore.Mvc;
@ -23,12 +24,14 @@ namespace Lidarr.Api.V1.FileSystem
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public IActionResult GetContents(string path, bool includeFiles = false, bool allowFoldersWithoutTrailingSlashes = false) public IActionResult GetContents(string path, bool includeFiles = false, bool allowFoldersWithoutTrailingSlashes = false)
{ {
return Ok(_fileSystemLookupService.LookupContents(path, includeFiles, allowFoldersWithoutTrailingSlashes)); return Ok(_fileSystemLookupService.LookupContents(path, includeFiles, allowFoldersWithoutTrailingSlashes));
} }
[HttpGet("type")] [HttpGet("type")]
[Produces("application/json")]
public object GetEntityType(string path) public object GetEntityType(string path)
{ {
if (_diskProvider.FileExists(path)) if (_diskProvider.FileExists(path))
@ -41,11 +44,12 @@ namespace Lidarr.Api.V1.FileSystem
} }
[HttpGet("mediafiles")] [HttpGet("mediafiles")]
[Produces("application/json")]
public object GetMediaFiles(string path) public object GetMediaFiles(string path)
{ {
if (!_diskProvider.FolderExists(path)) if (!_diskProvider.FolderExists(path))
{ {
return global::System.Array.Empty<string>(); return Array.Empty<string>();
} }
return _diskScanService.GetAudioFiles(path).Select(f => new return _diskScanService.GetAudioFiles(path).Select(f => new

@ -28,6 +28,7 @@ namespace Lidarr.Api.V1.Health
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<HealthResource> GetHealth() public List<HealthResource> GetHealth()
{ {
return _healthCheckService.Results().ToResource(); return _healthCheckService.Results().ToResource();

@ -21,6 +21,7 @@ namespace Lidarr.Api.V1.Localization
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public string GetLocalizationDictionary() public string GetLocalizationDictionary()
{ {
return JsonSerializer.Serialize(_localizationService.GetLocalizationDictionary().ToResource(), _serializerSettings); return JsonSerializer.Serialize(_localizationService.GetLocalizationDictionary().ToResource(), _serializerSettings);

@ -17,6 +17,7 @@ namespace Lidarr.Api.V1.Logs
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public PagingResource<LogResource> GetLogs() public PagingResource<LogResource> GetLogs()
{ {
var pagingResource = Request.ReadPagingResourceFromRequest<LogResource>(); var pagingResource = Request.ReadPagingResourceFromRequest<LogResource>();

@ -26,6 +26,7 @@ namespace Lidarr.Api.V1.Logs
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<LogFileResource> GetLogFilesResponse() public List<LogFileResource> GetLogFilesResponse()
{ {
var result = new List<LogFileResource>(); var result = new List<LogFileResource>();
@ -51,6 +52,7 @@ namespace Lidarr.Api.V1.Logs
} }
[HttpGet(@"{filename:regex([[-.a-zA-Z0-9]]+?\.txt)}")] [HttpGet(@"{filename:regex([[-.a-zA-Z0-9]]+?\.txt)}")]
[Produces("text/plain")]
public IActionResult GetLogFileResponse(string filename) public IActionResult GetLogFileResponse(string filename)
{ {
LogManager.Flush(); LogManager.Flush();

@ -17,6 +17,7 @@ namespace Lidarr.Api.V1.Parse
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public ParseResource Parse(string title) public ParseResource Parse(string title)
{ {
var parsedAlbumInfo = Parser.ParseAlbumTitle(title); var parsedAlbumInfo = Parser.ParseAlbumTitle(title);

@ -41,6 +41,7 @@ namespace Lidarr.Api.V1
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<TProviderResource> GetAll() public List<TProviderResource> GetAll()
{ {
var providerDefinitions = _providerFactory.All(); var providerDefinitions = _providerFactory.All();
@ -58,6 +59,7 @@ namespace Lidarr.Api.V1
} }
[RestPostById] [RestPostById]
[Consumes("application/json")]
public ActionResult<TProviderResource> CreateProvider([FromBody] TProviderResource providerResource, [FromQuery] bool forceSave = false) public ActionResult<TProviderResource> CreateProvider([FromBody] TProviderResource providerResource, [FromQuery] bool forceSave = false)
{ {
var providerDefinition = GetDefinition(providerResource, true, !forceSave, false); var providerDefinition = GetDefinition(providerResource, true, !forceSave, false);
@ -73,6 +75,7 @@ namespace Lidarr.Api.V1
} }
[RestPutById] [RestPutById]
[Consumes("application/json")]
public ActionResult<TProviderResource> UpdateProvider([FromBody] TProviderResource providerResource, [FromQuery] bool forceSave = false) public ActionResult<TProviderResource> UpdateProvider([FromBody] TProviderResource providerResource, [FromQuery] bool forceSave = false)
{ {
var providerDefinition = GetDefinition(providerResource, true, !forceSave, false); var providerDefinition = GetDefinition(providerResource, true, !forceSave, false);
@ -108,6 +111,7 @@ namespace Lidarr.Api.V1
} }
[HttpGet("schema")] [HttpGet("schema")]
[Produces("application/json")]
public List<TProviderResource> GetTemplates() public List<TProviderResource> GetTemplates()
{ {
var defaultDefinitions = _providerFactory.GetDefaultDefinitions().OrderBy(p => p.ImplementationName).ToList(); var defaultDefinitions = _providerFactory.GetDefaultDefinitions().OrderBy(p => p.ImplementationName).ToList();
@ -131,6 +135,7 @@ namespace Lidarr.Api.V1
[SkipValidation(true, false)] [SkipValidation(true, false)]
[HttpPost("test")] [HttpPost("test")]
[Consumes("application/json")]
public object Test([FromBody] TProviderResource providerResource) public object Test([FromBody] TProviderResource providerResource)
{ {
var providerDefinition = GetDefinition(providerResource, true, true, true); var providerDefinition = GetDefinition(providerResource, true, true, true);
@ -164,6 +169,7 @@ namespace Lidarr.Api.V1
[SkipValidation] [SkipValidation]
[HttpPost("action/{name}")] [HttpPost("action/{name}")]
[Consumes("application/json")]
public IActionResult RequestAction(string name, [FromBody] TProviderResource resource) public IActionResult RequestAction(string name, [FromBody] TProviderResource resource)
{ {
var providerDefinition = GetDefinition(resource, false, false, false); var providerDefinition = GetDefinition(resource, false, false, false);

@ -35,6 +35,7 @@ namespace Lidarr.Api.V1.Queue
} }
[HttpPost("grab/bulk")] [HttpPost("grab/bulk")]
[Consumes("application/json")]
public object Grab([FromBody] QueueBulkResource resource) public object Grab([FromBody] QueueBulkResource resource)
{ {
foreach (var id in resource.Ids) foreach (var id in resource.Ids)

@ -90,6 +90,7 @@ namespace Lidarr.Api.V1.Queue
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public PagingResource<QueueResource> GetQueue(bool includeUnknownArtistItems = false, bool includeArtist = false, bool includeAlbum = false) public PagingResource<QueueResource> GetQueue(bool includeUnknownArtistItems = false, bool includeArtist = false, bool includeAlbum = false)
{ {
var pagingResource = Request.ReadPagingResourceFromRequest<QueueResource>(); var pagingResource = Request.ReadPagingResourceFromRequest<QueueResource>();

@ -32,6 +32,7 @@ namespace Lidarr.Api.V1.Queue
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<QueueResource> GetQueue(int? artistId, [FromQuery]List<int> albumIds, bool includeArtist = false, bool includeAlbum = true) public List<QueueResource> GetQueue(int? artistId, [FromQuery]List<int> albumIds, bool includeArtist = false, bool includeAlbum = true)
{ {
var queue = _queueService.GetQueue(); var queue = _queueService.GetQueue();

@ -36,6 +36,7 @@ namespace Lidarr.Api.V1.Queue
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public QueueStatusResource GetQueueStatus() public QueueStatusResource GetQueueStatus()
{ {
_broadcastDebounce.Pause(); _broadcastDebounce.Pause();

@ -40,6 +40,7 @@ namespace Lidarr.Api.V1.RemotePathMappings
} }
[RestPostById] [RestPostById]
[Consumes("application/json")]
public ActionResult<RemotePathMappingResource> CreateMapping(RemotePathMappingResource resource) public ActionResult<RemotePathMappingResource> CreateMapping(RemotePathMappingResource resource)
{ {
var model = resource.ToModel(); var model = resource.ToModel();
@ -48,6 +49,7 @@ namespace Lidarr.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,6 +60,7 @@ namespace Lidarr.Api.V1.RootFolders
} }
[RestPostById] [RestPostById]
[Consumes("application/json")]
public ActionResult<RootFolderResource> CreateRootFolder(RootFolderResource rootFolderResource) public ActionResult<RootFolderResource> CreateRootFolder(RootFolderResource rootFolderResource)
{ {
var model = rootFolderResource.ToModel(); var model = rootFolderResource.ToModel();
@ -83,6 +84,7 @@ namespace Lidarr.Api.V1.RootFolders
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<RootFolderResource> GetRootFolders() public List<RootFolderResource> GetRootFolders()
{ {
return _rootFolderService.AllWithSpaceStats().ToResource(); return _rootFolderService.AllWithSpaceStats().ToResource();

@ -54,6 +54,7 @@ namespace Lidarr.Api.V1.System
} }
[HttpGet("status")] [HttpGet("status")]
[Produces("application/json")]
public SystemResource GetStatus() public SystemResource GetStatus()
{ {
return new SystemResource return new SystemResource
@ -93,6 +94,7 @@ namespace Lidarr.Api.V1.System
} }
[HttpGet("routes")] [HttpGet("routes")]
[Produces("application/json")]
public IActionResult GetRoutes() public IActionResult GetRoutes()
{ {
using (var sw = new StringWriter()) using (var sw = new StringWriter())
@ -104,6 +106,7 @@ namespace Lidarr.Api.V1.System
} }
[HttpGet("routes/duplicate")] [HttpGet("routes/duplicate")]
[Produces("application/json")]
public object DuplicateRoutes() public object DuplicateRoutes()
{ {
return _detector.GetDuplicateEndpoints(_endpointData); return _detector.GetDuplicateEndpoints(_endpointData);

@ -28,18 +28,21 @@ namespace Lidarr.Api.V1.Tags
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<TagResource> GetAll() public List<TagResource> GetAll()
{ {
return _tagService.All().ToResource(); return _tagService.All().ToResource();
} }
[RestPostById] [RestPostById]
[Consumes("application/json")]
public ActionResult<TagResource> Create(TagResource resource) public ActionResult<TagResource> Create(TagResource resource)
{ {
return Created(_tagService.Add(resource.ToModel()).Id); return Created(_tagService.Add(resource.ToModel()).Id);
} }
[RestPutById] [RestPutById]
[Consumes("application/json")]
public ActionResult<TagResource> Update(TagResource resource) public ActionResult<TagResource> Update(TagResource resource)
{ {
_tagService.Update(resource.ToModel()); _tagService.Update(resource.ToModel());

@ -22,6 +22,7 @@ namespace Lidarr.Api.V1.Tags
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<TagDetailsResource> GetAll() public List<TagDetailsResource> GetAll()
{ {
var tags = _tagService.Details().ToResource(); var tags = _tagService.Details().ToResource();

@ -21,6 +21,7 @@ namespace Lidarr.Api.V1.Update
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public List<UpdateResource> GetRecentUpdates() public List<UpdateResource> GetRecentUpdates()
{ {
var resources = _recentUpdateProvider.GetRecentUpdatePackages() var resources = _recentUpdateProvider.GetRecentUpdatePackages()

@ -29,6 +29,7 @@ namespace Lidarr.Api.V1.Wanted
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public PagingResource<AlbumResource> GetCutoffUnmetAlbums(bool includeArtist = false) public PagingResource<AlbumResource> GetCutoffUnmetAlbums(bool includeArtist = false)
{ {
var pagingResource = Request.ReadPagingResourceFromRequest<AlbumResource>(); var pagingResource = Request.ReadPagingResourceFromRequest<AlbumResource>();

@ -25,6 +25,7 @@ namespace Lidarr.Api.V1.Wanted
} }
[HttpGet] [HttpGet]
[Produces("application/json")]
public PagingResource<AlbumResource> GetMissingAlbums(bool includeArtist = false) public PagingResource<AlbumResource> GetMissingAlbums(bool includeArtist = false)
{ {
var pagingResource = Request.ReadPagingResourceFromRequest<AlbumResource>(); var pagingResource = Request.ReadPagingResourceFromRequest<AlbumResource>();

Loading…
Cancel
Save