Fixed issue where Genre records were not being retrieved and added scope permissions for Genre and Year endpoints
This commit is contained in:
@@ -34,6 +34,7 @@ namespace Icarus.Controllers.V1
|
|||||||
|
|
||||||
#region HTTP Routes
|
#region HTTP Routes
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
|
[Authorize("read:genre")]
|
||||||
public IActionResult Get()
|
public IActionResult Get()
|
||||||
{
|
{
|
||||||
var genres = new List<Genre>();
|
var genres = new List<Genre>();
|
||||||
@@ -55,6 +56,7 @@ namespace Icarus.Controllers.V1
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
|
[Authorize("read:genre")]
|
||||||
public IActionResult Get(int id)
|
public IActionResult Get(int id)
|
||||||
{
|
{
|
||||||
var genre = new Genre
|
var genre = new Genre
|
||||||
|
|||||||
@@ -23,7 +23,6 @@ namespace Icarus.Controllers.V1
|
|||||||
{
|
{
|
||||||
#region Fields
|
#region Fields
|
||||||
private IConfiguration _config;
|
private IConfiguration _config;
|
||||||
private SongManager _songMgr;
|
|
||||||
private string _songTempDir;
|
private string _songTempDir;
|
||||||
private string _archiveDir;
|
private string _archiveDir;
|
||||||
#endregion
|
#endregion
|
||||||
|
|||||||
@@ -34,6 +34,7 @@ namespace Icarus.Controller.V1
|
|||||||
|
|
||||||
#region HTTP Routes
|
#region HTTP Routes
|
||||||
[HttpGet]
|
[HttpGet]
|
||||||
|
[Authorize("read:year")]
|
||||||
public IActionResult Get()
|
public IActionResult Get()
|
||||||
{
|
{
|
||||||
var yearValues = new List<Year>();
|
var yearValues = new List<Year>();
|
||||||
@@ -55,6 +56,7 @@ namespace Icarus.Controller.V1
|
|||||||
}
|
}
|
||||||
|
|
||||||
[HttpGet("{id}")]
|
[HttpGet("{id}")]
|
||||||
|
[Authorize("read:year")]
|
||||||
public IActionResult Get(int id)
|
public IActionResult Get(int id)
|
||||||
{
|
{
|
||||||
var year = new Year
|
var year = new Year
|
||||||
|
|||||||
@@ -78,7 +78,7 @@ namespace Icarus.Database.Repositories
|
|||||||
conn.Open();
|
conn.Open();
|
||||||
|
|
||||||
var query = "SELECT gnr.*, COUNT(*) AS SongCount FROM Genre " +
|
var query = "SELECT gnr.*, COUNT(*) AS SongCount FROM Genre " +
|
||||||
"gnr LEFt JOIN Song sng ON gnr.GenreId=sng.GenreId " +
|
"gnr LEFT JOIN Song sng ON gnr.GenreId=sng.GenreId " +
|
||||||
"GROUP BY gnr.GenreId";
|
"GROUP BY gnr.GenreId";
|
||||||
|
|
||||||
using (var cmd = new MySqlCommand(query, conn))
|
using (var cmd = new MySqlCommand(query, conn))
|
||||||
@@ -449,13 +449,7 @@ namespace Icarus.Database.Repositories
|
|||||||
{
|
{
|
||||||
using (var reader = cmd.ExecuteReader())
|
using (var reader = cmd.ExecuteReader())
|
||||||
{
|
{
|
||||||
var genres = ParseData(reader);
|
return reader.HasRows;
|
||||||
|
|
||||||
if (genres.Count > 0)
|
|
||||||
{
|
|
||||||
_logger.Info("Genres records");
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
+10
@@ -93,6 +93,16 @@ namespace Icarus
|
|||||||
.Requirements
|
.Requirements
|
||||||
.Add(new HasScopeRequirement("read:albums", domain)));
|
.Add(new HasScopeRequirement("read:albums", domain)));
|
||||||
|
|
||||||
|
options.AddPolicy("read:genre", policy =>
|
||||||
|
policy
|
||||||
|
.Requirements
|
||||||
|
.Add(new HasScopeRequirement("read:genre", domain)));
|
||||||
|
|
||||||
|
options.AddPolicy("read:year", policy =>
|
||||||
|
policy
|
||||||
|
.Requirements
|
||||||
|
.Add(new HasScopeRequirement("read:year", domain)));
|
||||||
|
|
||||||
options.AddPolicy("stream:songs", policy =>
|
options.AddPolicy("stream:songs", policy =>
|
||||||
policy
|
policy
|
||||||
.Requirements
|
.Requirements
|
||||||
|
|||||||
Reference in New Issue
Block a user