Admin mode WIP

This commit is contained in:
2023-07-26 10:24:22 +02:00
parent ba1210b2c4
commit 0c49071a3b
46 changed files with 695 additions and 55 deletions

View File

@@ -0,0 +1,9 @@
namespace FileTime.Providers.LocalAdmin;
public class AdminElevationConfiguration
{
public const string SectionName = "AdminElevation";
public string ServerExecutablePath { get; set; }
public int? ServerPort { get; set; }
public bool? StartProcess { get; set; }
}

View File

@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net7.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<RootNamespace>FileTime.Providers.LocalAdmin</RootNamespace>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\..\Core\FileTime.Core.Abstraction\FileTime.Core.Abstraction.csproj" />
<ProjectReference Include="..\FileTime.Providers.Remote.Abstractions\FileTime.Providers.Remote.Abstractions.csproj" />
</ItemGroup>
</Project>

View File

@@ -0,0 +1,9 @@
using FileTime.Providers.Remote;
namespace FileTime.Providers.LocalAdmin;
public interface IAdminContentAccessorFactory
{
bool IsAdminModeSupported { get; }
Task<IRemoteItemCreator> CreateAdminItemCreatorAsync();
}

View File

@@ -0,0 +1,8 @@
using FileTime.Core.ContentAccess;
namespace FileTime.Providers.LocalAdmin;
public interface IAdminContentProvider : IContentProvider
{
}

View File

@@ -0,0 +1,12 @@
using FileTime.Server.Common;
namespace FileTime.Providers.LocalAdmin;
public interface IAdminElevationManager
{
bool IsAdminModeSupported { get; }
bool IsAdminInstanceRunning { get; }
Task<IRemoteConnection> CreateConnectionAsync();
string ProviderName { get; }
Task CreateAdminInstanceIfNecessaryAsync(string? confirmationMessage = null);
}