Files
Servers/MoonlightServers.Frontend/Helpers/ServerFsAccess.cs

63 lines
1.7 KiB
C#

using MoonCore.Blazor.FlyonUi.Files;
using MoonCore.Blazor.FlyonUi.Files.Manager;
using MoonlightServers.Frontend.Services;
namespace MoonlightServers.Frontend.Helpers;
public class ServerFsAccess : IFsAccess
{
private readonly int Id;
private readonly ServerFileSystemService FileSystemService;
public ServerFsAccess(int id, ServerFileSystemService fileSystemService)
{
Id = id;
FileSystemService = fileSystemService;
}
public Task CreateFile(string path)
=> FileSystemService.Touch(Id, path);
public Task CreateDirectory(string path)
=> FileSystemService.Mkdir(Id, path);
public async Task<FsEntry[]> List(string path)
{
var entries = await FileSystemService.List(Id, path);
return entries.Select(x => new FsEntry()
{
Name = x.Name,
Size = x.Size,
CreatedAt = x.CreatedAt,
IsFolder = x.IsFolder,
UpdatedAt = x.UpdatedAt
}).ToArray();
}
public Task Move(string oldPath, string newPath)
=> FileSystemService.Move(Id, oldPath, newPath);
public Task Read(string path, Func<Stream, Task> onHandleData)
{
throw new NotImplementedException();
}
public Task Write(string path, Stream dataStream)
{
throw new NotImplementedException();
}
public Task Delete(string path)
=> FileSystemService.Delete(Id, path);
public Task UploadChunk(string path, int chunkId, long chunkSize, long totalSize, byte[] data)
{
throw new NotImplementedException();
}
public Task<byte[]> DownloadChunk(string path, int chunkId, long chunkSize)
{
throw new NotImplementedException();
}
}