mirror of
https://github.com/immense/Remotely.git
synced 2025-10-26 11:27:15 +00:00
* Convert server to new single-file startup model. * Add remote control implementations. * Implement IViewerAuthorizer. * Update hub endpoints. * Implement HubEventHandler. * Implement ViewerHubDataProvider. * Implement page data provider. * Implement RCL and refactor. * Update submodule. * Replace submodule with NuGet. * Update copy URL. * Update NuGet. * Remove deprecated WebRTC. * Remove deprecated WebRTC. * Update Immense.RemoteControl * Building out desktop projects. * Bring more services into submodule. * Update submodule. * Update submodule. * Refactoring for module. * Update submodule. * Update submodule * Got Windows desktop app running. * Refactor for submodule changes. * FIx unattended session start. * Switch desktop app out of console mode. * Fix tests. * Update publishing. * Remove ClickOnce middleware. * Remove ClickOnce remnants. * Update submodule * Add some logging. * Update Linux path. * Update submodule. * Add cleanup service for unattended sessions that failed to start. * Update submodule. * Fix chat. * Add ValidateExecutableReferencesMatchSelfContained property. * Add other submodule projects. Align checkbox. * Update submodule. Reduce deserialization in the browser, resulting in faster renders. * Update submodule. * Update submodule. * Update submodule. * Update submodule. * Add orgId back for branding. * Get branding loading in desktop apps. * Update submodule. * Create log dir. * Refactor version check on config page. * Update submodule. * Update submodule. * Change submodule URL. * Correct namespace. * Update submodule. * Checkout submodules recursively.
55 lines
1.6 KiB
C#
55 lines
1.6 KiB
C#
using Microsoft.AspNetCore.Mvc;
|
|
using Remotely.Server.Auth;
|
|
using Remotely.Server.Services;
|
|
using Remotely.Shared;
|
|
using System;
|
|
using System.Collections.Generic;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Remotely.Server.API
|
|
{
|
|
[Route("api/[controller]")]
|
|
[ApiController]
|
|
public class FileSharingController : ControllerBase
|
|
{
|
|
private readonly IDataService _dataService;
|
|
|
|
public FileSharingController(IDataService dataService)
|
|
{
|
|
_dataService = dataService;
|
|
}
|
|
|
|
[HttpGet("{id}")]
|
|
[ServiceFilter(typeof(ExpiringTokenFilter))]
|
|
public ActionResult Get(string id)
|
|
{
|
|
var sharedFile = _dataService.GetSharedFiled(id);
|
|
if (sharedFile != null)
|
|
{
|
|
return File(sharedFile.FileContents, sharedFile.ContentType, sharedFile.FileName);
|
|
}
|
|
return NotFound();
|
|
}
|
|
|
|
[HttpPost]
|
|
[ServiceFilter(typeof(ExpiringTokenFilter))]
|
|
[RequestSizeLimit(AppConstants.MaxUploadFileSize)]
|
|
public async Task<IEnumerable<string>> Post()
|
|
{
|
|
if (Request?.Form?.Files?.Count !> 0)
|
|
{
|
|
return Array.Empty<string>();
|
|
}
|
|
|
|
var fileIDs = new List<string>();
|
|
foreach (var file in Request.Form.Files)
|
|
{
|
|
var orgID = User.Identity.IsAuthenticated ? _dataService.GetUserByNameWithOrg(User.Identity.Name).OrganizationID : null;
|
|
var id = await _dataService.AddSharedFile(file, orgID);
|
|
fileIDs.Add(id);
|
|
}
|
|
return fileIDs;
|
|
}
|
|
}
|
|
}
|