#91: Deprecating upload endpoint (#106)

* #91: Deprecating upload endpoint

* #91: Marking method as obsolete and left a todo

* #91: Removed methods
This commit was merged in pull request #106.
This commit is contained in:
KD
2025-02-27 19:35:39 -05:00
committed by GitHub
parent fd3ce9f96a
commit 86e54e086a
3 changed files with 5 additions and 120 deletions
+2
View File
@@ -14,6 +14,8 @@
/appsettings.Development.json /appsettings.Development.json
appsettings.Development.json appsettings.Development.json
appsettings.json appsettings.json
Icarus/appsettings.Development.json
Icarus/appsettings.json
Icarus/bin Icarus/bin
Icarus/obj Icarus/obj
Models/bin Models/bin
+1 -96
View File
@@ -166,102 +166,7 @@ public class SongManager : BaseManager
} }
} }
public async Task SaveSongToFileSystem(IFormFile songFile)
{
try
{
_logger.Info("Starting the process of saving the song to the filesystem");
var song = await SaveSongTemp(songFile);
DirectoryManager dirMgr = new DirectoryManager(_config!, song);
dirMgr.CreateDirectory();
var tempPath = song.SongPath();
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.WAV);
var filePath = $"{dirMgr.SongDirectory}{song.Filename}";
_logger.Info($"Absolute song path: {filePath}");
await Task.Run(() =>
{
this.MoveSongToFinalDestination(tempPath, filePath);
});
song.SongDirectory = dirMgr.SongDirectory;
var coverMgr = new CoverArtManager(_config!);
var coverArt = coverMgr.SaveCoverArt(song);
SaveSongToDatabase(song, coverArt);
}
catch (Exception ex)
{
var msg = ex.Message;
_logger.Error(msg, "An error occurred");
}
}
// Change the name of this method to only focus on wav files
[Obsolete("Support for uplodaing wav files will end. Use the flac alternative instead - SaveFlacSongToFileSystem(..)")]
public Song SaveSongToFileSystem(IFormFile songFile, IFormFile coverArtData, Song song)
{
if (string.IsNullOrEmpty(song.SongDirectory))
{
song.SongDirectory = _tempDirectoryRoot;
}
if (string.IsNullOrEmpty(song.Filename))
{
switch (song.AudioType)
{
case "wav":
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.WAV);
break;
case "flac":
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.FLAC);
break;
default:
song.Filename = song.GenerateFilename(true, AudioFileExtensionsType.Default);
break;
}
}
_logger.Info($"Temporary directory: {_tempDirectoryRoot}");
var tempPath = song.SongPath();
_logger.Info("Temporary song path: {0}", tempPath);
if (!System.IO.File.Exists(tempPath))
{
using (var filestream = new FileStream(tempPath, FileMode.Create))
{
_logger.Info("Saving song to temporary directory");
songFile.CopyTo(filestream);
}
}
var coverMgr = new CoverArtManager(_config!);
var coverArt = coverMgr.SaveCoverArt(coverArtData, song);
DirectoryManager dirMgr = new DirectoryManager(_config!, song);
dirMgr.CreateDirectory();
song.SongDirectory = dirMgr.SongDirectory;
var filePath = song.SongPath();
_logger.Info($"Absolute song path: {filePath}");
this.MoveSongToFinalDestination(tempPath, filePath);
SaveSongToDatabase(song, coverArt);
return song;
}
public Song SaveFlacSongToFileSystem(IFormFile songFile, IFormFile coverArtData, Song song) public Song SaveFlacSongToFileSystem(IFormFile songFile, IFormFile coverArtData, Song song)
{ {
// Save temp song (Should already be saved to the filesystem by the time it gets to this method) // Save temp song (Should already be saved to the filesystem by the time it gets to this method)
+2 -24
View File
@@ -79,32 +79,10 @@ public class SongDataController : BaseController
// Cover art // Cover art
// //
[HttpPost("upload"), DisableRequestSizeLimit] [HttpPost("upload"), DisableRequestSizeLimit]
[Obsolete("Support for this endoint is no longer supported")]
public IActionResult Upload([FromForm(Name = "file")] List<IFormFile> songData) public IActionResult Upload([FromForm(Name = "file")] List<IFormFile> songData)
{ {
try return new StatusCodeResult(StatusCodes.Status410Gone);
{
_logger!.LogInformation("Uploading song...");
var uploads = _songTempDir;
_logger!.LogInformation($"Song root path {uploads}");
foreach (var sng in songData)
if (sng.Length > 0)
{
_logger!.LogInformation($"Song filename {sng.FileName}");
_songMgr!.SaveSongToFileSystem(sng).Wait();
}
return Ok();
}
catch (Exception ex)
{
var msg = ex.Message;
_logger!.LogError(msg, "An error occurred");
}
return NotFound();
} }
// The client is expected to send the file, metadata, and cover art separately. // The client is expected to send the file, metadata, and cover art separately.