#91: Deprecating upload endpoint #106
@@ -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
|
||||||
|
|||||||
@@ -167,101 +167,6 @@ 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)
|
||||||
|
|||||||
@@ -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.
|
||||||
|
|||||||
Reference in New Issue
Block a user