diff --git a/DysonNetwork.Sphere/Program.cs b/DysonNetwork.Sphere/Program.cs index fb1c414..91d3ade 100644 --- a/DysonNetwork.Sphere/Program.cs +++ b/DysonNetwork.Sphere/Program.cs @@ -153,6 +153,15 @@ app.MapTus("/files/tus", (_) => Task.FromResult(new() { OnAuthorizeAsync = async eventContext => { + if (eventContext.Intent == IntentType.DeleteFile) + { + eventContext.FailRequest( + HttpStatusCode.BadRequest, + "Deleting files from this endpoint was disabled, please refer to the Dyson Network File API." + ); + return; + } + var httpContext = eventContext.HttpContext; var user = httpContext.User; if (!user.Identity?.IsAuthenticated ?? true) @@ -192,9 +201,13 @@ app.MapTus("/files/tus", (_) => Task.FromResult(new() var fileService = eventContext.HttpContext.RequestServices.GetRequiredService(); var info = await fileService.AnalyzeFileAsync(account, file.Id, fileStream, fileName, contentType); - await fileService.UploadFileToRemoteAsync(info, fileStream, null); - - await tusDiskStore.DeleteFileAsync(file.Id, eventContext.CancellationToken); +#pragma warning disable CS4014 + Task.Run(async () => + { + await fileService.UploadFileToRemoteAsync(info, fileStream, null); + await tusDiskStore.DeleteFileAsync(file.Id, eventContext.CancellationToken); + }); +#pragma warning restore CS4014 }, OnCreateCompleteAsync = eventContext => { diff --git a/DysonNetwork.sln.DotSettings.user b/DysonNetwork.sln.DotSettings.user index 43df543..2fefbe6 100644 --- a/DysonNetwork.sln.DotSettings.user +++ b/DysonNetwork.sln.DotSettings.user @@ -10,6 +10,7 @@ ForceIncluded ForceIncluded ForceIncluded + ForceIncluded ForceIncluded ForceIncluded ForceIncluded