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.
62 lines
2.0 KiB
C#
62 lines
2.0 KiB
C#
using Immense.RemoteControl.Server.Abstractions;
|
|
using Remotely.Server.Auth;
|
|
|
|
namespace Remotely.Server.Services.RcImplementations
|
|
{
|
|
public class ViewerHubDataProvider : IViewerHubDataProvider
|
|
{
|
|
private readonly IDataService _dataService;
|
|
private readonly IOtpProvider _otpProvider;
|
|
private readonly IApplicationConfig _appConfig;
|
|
|
|
public ViewerHubDataProvider(
|
|
IDataService dataService,
|
|
IOtpProvider otpProvider,
|
|
IApplicationConfig appConfig)
|
|
{
|
|
_dataService = dataService;
|
|
_otpProvider = otpProvider;
|
|
_appConfig = appConfig;
|
|
}
|
|
|
|
public bool EnforceAttendedAccess => _appConfig.EnforceAttendedAccess;
|
|
|
|
public bool RemoteControlNotifyUser => _appConfig.RemoteControlNotifyUser;
|
|
|
|
public int RemoteControlSessionLimit => _appConfig.RemoteControlSessionLimit;
|
|
|
|
public bool DoesUserHaveAccessToDevice(string targetDeviceId, string userIdentifier)
|
|
{
|
|
var user = _dataService.GetUserByID(userIdentifier);
|
|
return _dataService.DoesUserHaveAccessToDevice(targetDeviceId, user);
|
|
}
|
|
|
|
|
|
public string GetOrganizationNameById(string orgId)
|
|
{
|
|
return _dataService.GetOrganizationNameById(orgId);
|
|
}
|
|
|
|
public string GetRequesterDisplayName(string userIdentifier)
|
|
{
|
|
var user = _dataService.GetUserByID(userIdentifier);
|
|
if (!string.IsNullOrWhiteSpace(user.UserOptions?.DisplayName))
|
|
{
|
|
return user.UserOptions.DisplayName;
|
|
}
|
|
return user.UserName;
|
|
}
|
|
|
|
public string GetRequesterOrganizationId(string userIdentifier)
|
|
{
|
|
var user = _dataService.GetUserByID(userIdentifier);
|
|
return user.OrganizationID;
|
|
}
|
|
|
|
public bool OtpMatchesDevice(string otp, string targetDeviceId)
|
|
{
|
|
return _otpProvider.OtpMatchesDevice(otp, targetDeviceId);
|
|
}
|
|
}
|
|
}
|