From 86e54e086a8a29246b20944e22ff6d1a10366c23 Mon Sep 17 00:00:00 2001 From: KD Date: Thu, 27 Feb 2025 19:35:39 -0500 Subject: [PATCH] #91: Deprecating upload endpoint (#106) * #91: Deprecating upload endpoint * #91: Marking method as obsolete and left a todo * #91: Removed methods --- .gitignore | 2 + Icarus/Controllers/Managers/SongManager.cs | 97 +-------------------- Icarus/Controllers/v1/SongDataController.cs | 26 +----- 3 files changed, 5 insertions(+), 120 deletions(-) diff --git a/.gitignore b/.gitignore index 9afb644..28be622 100644 --- a/.gitignore +++ b/.gitignore @@ -14,6 +14,8 @@ /appsettings.Development.json appsettings.Development.json appsettings.json +Icarus/appsettings.Development.json +Icarus/appsettings.json Icarus/bin Icarus/obj Models/bin diff --git a/Icarus/Controllers/Managers/SongManager.cs b/Icarus/Controllers/Managers/SongManager.cs index d581671..2a34eaf 100644 --- a/Icarus/Controllers/Managers/SongManager.cs +++ b/Icarus/Controllers/Managers/SongManager.cs @@ -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) { // Save temp song (Should already be saved to the filesystem by the time it gets to this method) diff --git a/Icarus/Controllers/v1/SongDataController.cs b/Icarus/Controllers/v1/SongDataController.cs index 1c1eb00..299bee6 100644 --- a/Icarus/Controllers/v1/SongDataController.cs +++ b/Icarus/Controllers/v1/SongDataController.cs @@ -79,32 +79,10 @@ public class SongDataController : BaseController // Cover art // [HttpPost("upload"), DisableRequestSizeLimit] + [Obsolete("Support for this endoint is no longer supported")] public IActionResult Upload([FromForm(Name = "file")] List songData) { - try - { - _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(); + return new StatusCodeResult(StatusCodes.Status410Gone); } // The client is expected to send the file, metadata, and cover art separately.