Parameter binding for API requests
(cherry picked from commit 074b293d62b56bf02d82ac12ad726777b5d1e478)
This commit is contained in:
@@ -142,7 +142,7 @@ namespace Lidarr.Api.V1.Albums
|
||||
}
|
||||
|
||||
[RestPostById]
|
||||
public ActionResult<AlbumResource> AddAlbum(AlbumResource albumResource)
|
||||
public ActionResult<AlbumResource> AddAlbum([FromBody] AlbumResource albumResource)
|
||||
{
|
||||
var album = _addAlbumService.AddAlbum(albumResource.ToModel());
|
||||
|
||||
@@ -150,7 +150,7 @@ namespace Lidarr.Api.V1.Albums
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<AlbumResource> UpdateAlbum(AlbumResource albumResource)
|
||||
public ActionResult<AlbumResource> UpdateAlbum([FromBody] AlbumResource albumResource)
|
||||
{
|
||||
var album = _albumService.GetAlbum(albumResource.Id);
|
||||
|
||||
@@ -171,7 +171,7 @@ namespace Lidarr.Api.V1.Albums
|
||||
}
|
||||
|
||||
[HttpPut("monitor")]
|
||||
public IActionResult SetAlbumsMonitored([FromBody]AlbumsMonitoredResource resource)
|
||||
public IActionResult SetAlbumsMonitored([FromBody] AlbumsMonitoredResource resource)
|
||||
{
|
||||
_albumService.SetMonitored(resource.AlbumIds, resource.Monitored);
|
||||
|
||||
|
||||
@@ -157,7 +157,7 @@ namespace Lidarr.Api.V1.Artist
|
||||
[RestPostById]
|
||||
[Consumes("application/json")]
|
||||
[Produces("application/json")]
|
||||
public ActionResult<ArtistResource> AddArtist(ArtistResource artistResource)
|
||||
public ActionResult<ArtistResource> AddArtist([FromBody] ArtistResource artistResource)
|
||||
{
|
||||
var artist = _addArtistService.AddArtist(artistResource.ToModel());
|
||||
|
||||
@@ -167,7 +167,7 @@ namespace Lidarr.Api.V1.Artist
|
||||
[RestPutById]
|
||||
[Consumes("application/json")]
|
||||
[Produces("application/json")]
|
||||
public ActionResult<ArtistResource> UpdateArtist(ArtistResource artistResource, bool moveFiles = false)
|
||||
public ActionResult<ArtistResource> UpdateArtist([FromBody] ArtistResource artistResource, bool moveFiles = false)
|
||||
{
|
||||
var artist = _artistService.GetArtist(artistResource.Id);
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace Lidarr.Api.V1.AutoTagging
|
||||
|
||||
[RestPostById]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<AutoTaggingResource> Create(AutoTaggingResource autoTagResource)
|
||||
public ActionResult<AutoTaggingResource> Create([FromBody] AutoTaggingResource autoTagResource)
|
||||
{
|
||||
var model = autoTagResource.ToModel(_specifications);
|
||||
|
||||
@@ -62,7 +62,7 @@ namespace Lidarr.Api.V1.AutoTagging
|
||||
|
||||
[RestPutById]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<AutoTaggingResource> Update(AutoTaggingResource resource)
|
||||
public ActionResult<AutoTaggingResource> Update([FromBody] AutoTaggingResource resource)
|
||||
{
|
||||
var model = resource.ToModel(_specifications);
|
||||
|
||||
|
||||
@@ -51,7 +51,7 @@ namespace Lidarr.Api.V1.Commands
|
||||
[RestPostById]
|
||||
[Consumes("application/json")]
|
||||
[Produces("application/json")]
|
||||
public ActionResult<CommandResource> StartCommand(CommandResource commandResource)
|
||||
public ActionResult<CommandResource> StartCommand([FromBody] CommandResource commandResource)
|
||||
{
|
||||
var commandType =
|
||||
_knownTypes.GetImplementations(typeof(Command))
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace Lidarr.Api.V1.Config
|
||||
|
||||
[RestPutById]
|
||||
[Consumes("application/json")]
|
||||
public virtual ActionResult<TResource> SaveConfig(TResource resource)
|
||||
public virtual ActionResult<TResource> SaveConfig([FromBody] TResource resource)
|
||||
{
|
||||
var dictionary = resource.GetType()
|
||||
.GetProperties(BindingFlags.Instance | BindingFlags.Public)
|
||||
|
||||
@@ -107,7 +107,7 @@ namespace Lidarr.Api.V1.Config
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<HostConfigResource> SaveHostConfig(HostConfigResource resource)
|
||||
public ActionResult<HostConfigResource> SaveHostConfig([FromBody] HostConfigResource resource)
|
||||
{
|
||||
var dictionary = resource.GetType()
|
||||
.GetProperties(BindingFlags.Instance | BindingFlags.Public)
|
||||
|
||||
@@ -61,7 +61,7 @@ namespace Lidarr.Api.V1.Config
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<NamingConfigResource> UpdateNamingConfig(NamingConfigResource resource)
|
||||
public ActionResult<NamingConfigResource> UpdateNamingConfig([FromBody] NamingConfigResource resource)
|
||||
{
|
||||
var nameSpec = resource.ToModel();
|
||||
ValidateFormatResult(nameSpec);
|
||||
|
||||
@@ -32,7 +32,7 @@ namespace Lidarr.Api.V1.Config
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public override ActionResult<UiConfigResource> SaveConfig(UiConfigResource resource)
|
||||
public override ActionResult<UiConfigResource> SaveConfig([FromBody] UiConfigResource resource)
|
||||
{
|
||||
var dictionary = resource.GetType()
|
||||
.GetProperties(BindingFlags.Instance | BindingFlags.Public)
|
||||
|
||||
@@ -31,7 +31,7 @@ namespace Lidarr.Api.V1.CustomFilters
|
||||
|
||||
[RestPostById]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<CustomFilterResource> AddCustomFilter(CustomFilterResource resource)
|
||||
public ActionResult<CustomFilterResource> AddCustomFilter([FromBody] CustomFilterResource resource)
|
||||
{
|
||||
var customFilter = _customFilterService.Add(resource.ToModel());
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Lidarr.Api.V1.CustomFilters
|
||||
|
||||
[RestPutById]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<CustomFilterResource> UpdateCustomFilter(CustomFilterResource resource)
|
||||
public ActionResult<CustomFilterResource> UpdateCustomFilter([FromBody] CustomFilterResource resource)
|
||||
{
|
||||
_customFilterService.Update(resource.ToModel());
|
||||
return Accepted(resource.Id);
|
||||
|
||||
@@ -56,7 +56,7 @@ namespace Lidarr.Api.V1.CustomFormats
|
||||
|
||||
[RestPostById]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<CustomFormatResource> Create(CustomFormatResource customFormatResource)
|
||||
public ActionResult<CustomFormatResource> Create([FromBody] CustomFormatResource customFormatResource)
|
||||
{
|
||||
var model = customFormatResource.ToModel(_specifications);
|
||||
|
||||
@@ -67,7 +67,7 @@ namespace Lidarr.Api.V1.CustomFormats
|
||||
|
||||
[RestPutById]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<CustomFormatResource> Update(CustomFormatResource resource)
|
||||
public ActionResult<CustomFormatResource> Update([FromBody] CustomFormatResource resource)
|
||||
{
|
||||
var model = resource.ToModel(_specifications);
|
||||
|
||||
|
||||
@@ -40,7 +40,7 @@ namespace Lidarr.Api.V1.ImportLists
|
||||
}
|
||||
|
||||
[RestPostById]
|
||||
public ActionResult<ImportListExclusionResource> AddImportListExclusion(ImportListExclusionResource resource)
|
||||
public ActionResult<ImportListExclusionResource> AddImportListExclusion([FromBody] ImportListExclusionResource resource)
|
||||
{
|
||||
var customFilter = _importListExclusionService.Add(resource.ToModel());
|
||||
|
||||
@@ -48,7 +48,7 @@ namespace Lidarr.Api.V1.ImportLists
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<ImportListExclusionResource> UpdateImportListExclusion(ImportListExclusionResource resource)
|
||||
public ActionResult<ImportListExclusionResource> UpdateImportListExclusion([FromBody] ImportListExclusionResource resource)
|
||||
{
|
||||
_importListExclusionService.Update(resource.ToModel());
|
||||
return Accepted(resource.Id);
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace Lidarr.Api.V1.Indexers
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public async Task<ActionResult<ReleaseResource>> DownloadRelease(ReleaseResource release)
|
||||
public async Task<ActionResult<ReleaseResource>> DownloadRelease([FromBody] ReleaseResource release)
|
||||
{
|
||||
ValidateResource(release);
|
||||
|
||||
|
||||
@@ -49,7 +49,7 @@ namespace Lidarr.Api.V1.Indexers
|
||||
|
||||
[HttpPost]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<ReleaseResource> Create(ReleaseResource release)
|
||||
public ActionResult<ReleaseResource> Create([FromBody] ReleaseResource release)
|
||||
{
|
||||
_logger.Info("Release pushed: {0} - {1}", release.Title, release.DownloadUrl ?? release.MagnetUrl);
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@ namespace Lidarr.Api.V1.ManualImport
|
||||
}
|
||||
|
||||
[HttpPost]
|
||||
public IActionResult UpdateItems(List<ManualImportUpdateResource> resource)
|
||||
public IActionResult UpdateItems([FromBody] List<ManualImportUpdateResource> resource)
|
||||
{
|
||||
return Accepted(UpdateImportItems(resource));
|
||||
}
|
||||
|
||||
@@ -34,7 +34,7 @@ namespace Lidarr.Api.V1.Profiles.Delay
|
||||
}
|
||||
|
||||
[RestPostById]
|
||||
public ActionResult<DelayProfileResource> Create(DelayProfileResource resource)
|
||||
public ActionResult<DelayProfileResource> Create([FromBody] DelayProfileResource resource)
|
||||
{
|
||||
var model = resource.ToModel();
|
||||
model = _delayProfileService.Add(model);
|
||||
@@ -54,7 +54,7 @@ namespace Lidarr.Api.V1.Profiles.Delay
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<DelayProfileResource> Update(DelayProfileResource resource)
|
||||
public ActionResult<DelayProfileResource> Update([FromBody] DelayProfileResource resource)
|
||||
{
|
||||
var model = resource.ToModel();
|
||||
_delayProfileService.Update(model);
|
||||
|
||||
@@ -24,7 +24,7 @@ namespace Lidarr.Api.V1.Profiles.Metadata
|
||||
}
|
||||
|
||||
[RestPostById]
|
||||
public ActionResult<MetadataProfileResource> Create(MetadataProfileResource resource)
|
||||
public ActionResult<MetadataProfileResource> Create([FromBody] MetadataProfileResource resource)
|
||||
{
|
||||
var model = resource.ToModel();
|
||||
model = _profileService.Add(model);
|
||||
@@ -38,7 +38,7 @@ namespace Lidarr.Api.V1.Profiles.Metadata
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<MetadataProfileResource> Update(MetadataProfileResource resource)
|
||||
public ActionResult<MetadataProfileResource> Update([FromBody] MetadataProfileResource resource)
|
||||
{
|
||||
var model = resource.ToModel();
|
||||
|
||||
|
||||
@@ -44,7 +44,7 @@ namespace Lidarr.Api.V1.Profiles.Quality
|
||||
}
|
||||
|
||||
[RestPostById]
|
||||
public ActionResult<QualityProfileResource> Create(QualityProfileResource resource)
|
||||
public ActionResult<QualityProfileResource> Create([FromBody] QualityProfileResource resource)
|
||||
{
|
||||
var model = resource.ToModel();
|
||||
model = _qualityProfileService.Add(model);
|
||||
@@ -58,7 +58,7 @@ namespace Lidarr.Api.V1.Profiles.Quality
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<QualityProfileResource> Update(QualityProfileResource resource)
|
||||
public ActionResult<QualityProfileResource> Update([FromBody] QualityProfileResource resource)
|
||||
{
|
||||
var model = resource.ToModel();
|
||||
|
||||
|
||||
@@ -47,13 +47,13 @@ namespace Lidarr.Api.V1.Profiles.Release
|
||||
}
|
||||
|
||||
[RestPostById]
|
||||
public ActionResult<ReleaseProfileResource> Create(ReleaseProfileResource resource)
|
||||
public ActionResult<ReleaseProfileResource> Create([FromBody] ReleaseProfileResource resource)
|
||||
{
|
||||
return Created(_releaseProfileService.Add(resource.ToModel()).Id);
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<ReleaseProfileResource> Update(ReleaseProfileResource resource)
|
||||
public ActionResult<ReleaseProfileResource> Update([FromBody] ReleaseProfileResource resource)
|
||||
{
|
||||
_releaseProfileService.Update(resource.ToModel());
|
||||
return Accepted(resource.Id);
|
||||
|
||||
@@ -23,7 +23,7 @@ namespace Lidarr.Api.V1.Qualities
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<QualityDefinitionResource> Update(QualityDefinitionResource resource)
|
||||
public ActionResult<QualityDefinitionResource> Update([FromBody] QualityDefinitionResource resource)
|
||||
{
|
||||
var model = resource.ToModel();
|
||||
_qualityDefinitionService.Update(model);
|
||||
|
||||
@@ -66,7 +66,7 @@ namespace Lidarr.Api.V1.RootFolders
|
||||
|
||||
[RestPostById]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<RootFolderResource> CreateRootFolder(RootFolderResource rootFolderResource)
|
||||
public ActionResult<RootFolderResource> CreateRootFolder([FromBody] RootFolderResource rootFolderResource)
|
||||
{
|
||||
var model = rootFolderResource.ToModel();
|
||||
|
||||
@@ -74,7 +74,7 @@ namespace Lidarr.Api.V1.RootFolders
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
public ActionResult<RootFolderResource> UpdateRootFolder(RootFolderResource rootFolderResource)
|
||||
public ActionResult<RootFolderResource> UpdateRootFolder([FromBody] RootFolderResource rootFolderResource)
|
||||
{
|
||||
var model = rootFolderResource.ToModel();
|
||||
|
||||
|
||||
@@ -42,14 +42,14 @@ namespace Lidarr.Api.V1.Tags
|
||||
|
||||
[RestPostById]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<TagResource> Create(TagResource resource)
|
||||
public ActionResult<TagResource> Create([FromBody] TagResource resource)
|
||||
{
|
||||
return Created(_tagService.Add(resource.ToModel()).Id);
|
||||
}
|
||||
|
||||
[RestPutById]
|
||||
[Consumes("application/json")]
|
||||
public ActionResult<TagResource> Update(TagResource resource)
|
||||
public ActionResult<TagResource> Update([FromBody] TagResource resource)
|
||||
{
|
||||
_tagService.Update(resource.ToModel());
|
||||
return Accepted(resource.Id);
|
||||
|
||||
Reference in New Issue
Block a user