#90: Adding functionality to download cover art #97

Merged
kdeng00 merged 3 commits from tsk-90 into master 2024-06-16 18:28:08 -04:00
18 changed files with 18 additions and 105 deletions
-8
View File
@@ -1,11 +1,3 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using Microsoft.Extensions.Configuration;
using Icarus.Controllers.Utilities;
using Icarus.Models;
using Icarus.Database.Contexts;
-8
View File
@@ -1,11 +1,3 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using Microsoft.Extensions.Configuration;
using Icarus.Controllers.Utilities;
using Icarus.Models;
using Icarus.Database.Contexts;
-8
View File
@@ -1,11 +1,3 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.IO;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using Icarus.Constants;
using Icarus.Controllers.Utilities;
using Icarus.Database.Contexts;
-6
View File
@@ -1,9 +1,3 @@
using System;
using System.IO;
using System.Linq;
using Microsoft.Extensions.Configuration;
using Icarus.Models;
using Icarus.Types;
-8
View File
@@ -1,11 +1,3 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using Microsoft.Extensions.Configuration;
using Icarus.Controllers.Utilities;
using Icarus.Models;
using Icarus.Database.Contexts;
-11
View File
@@ -1,14 +1,3 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Linq;
using System.Data;
using System.IO;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Http;
using Microsoft.Extensions.Configuration;
using NLog;
using Icarus.Controllers.Utilities;
-5
View File
@@ -1,12 +1,7 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Security.Claims;
using System.Threading.Tasks;
using System.IdentityModel.Tokens.Jwt;
using System.Text;
using Microsoft.Extensions.Configuration;
using Microsoft.IdentityModel.Tokens;
using Newtonsoft.Json;
using RestSharp;
+15 -6
View File
@@ -1,11 +1,5 @@
using System;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Icarus.Controllers.Managers;
using Icarus.Database.Contexts;
@@ -78,5 +72,20 @@ public class CoverArtController : BaseController
return NotFound();
}
}
[HttpGet("data/download/{id}")]
public async Task<IActionResult> Download(int id)
{
var songContext = new SongContext(_connectionString);
var covMgr = new CoverArtManager(this._config);
var songMetaData = songContext.RetrieveRecord(new Song { SongID = id});
var filename = songMetaData.Title + Constants.FileExtensions.JPG_EXTENSION;
var c = covMgr.GetCoverArt(songMetaData);
var data = await c.GetData();
return File(data, "application/x-msdownload", filename);
}
#endregion
}
@@ -1,16 +1,6 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Icarus.Controllers.Managers;
using Icarus.Controllers.Utilities;
using Icarus.Models;
using Icarus.Database.Contexts;
+1 -12
View File
@@ -1,16 +1,5 @@
using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Http;
using Microsoft.AspNetCore.Authorization;
using Microsoft.AspNetCore.Mvc;
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Logging;
using Newtonsoft.Json;
using Icarus.Controllers.Managers;
using Icarus.Models;
-2
View File
@@ -1,5 +1,3 @@
using System;
using Newtonsoft.Json;
namespace Icarus.Models;
+2 -7
View File
@@ -1,10 +1,3 @@
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Reflection.Metadata;
using System.Text;
using Newtonsoft.Json;
namespace Icarus.Models;
@@ -33,5 +26,7 @@ public class CoverArt
return (flag == 0) ? filename : $"{filename}{extension}";
}
public async Task<byte[]> GetData() => await File.ReadAllBytesAsync(this.ImagePath);
#endregion
}
-2
View File
@@ -1,5 +1,3 @@
using System;
using Newtonsoft.Json;
namespace Icarus.Models;
-2
View File
@@ -1,5 +1,3 @@
using System;
using Newtonsoft.Json;
namespace Icarus.Models;
-3
View File
@@ -1,7 +1,4 @@
using System;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using System.Threading.Tasks;
using Newtonsoft.Json;
-3
View File
@@ -1,6 +1,3 @@
using System;
using System.Text;
namespace Icarus.Models;
public class SongData
-2
View File
@@ -1,5 +1,3 @@
using System;
using Newtonsoft.Json;
namespace Icarus.Models;
-2
View File
@@ -1,7 +1,5 @@
using System;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using Newtonsoft.Json;