diff options
Diffstat (limited to 'code/api/Services/System')
| -rw-r--r-- | code/api/Services/System/ChunkUploaderService.cs | 15 | ||||
| -rw-r--r-- | code/api/Services/System/DefaultResourceService.cs | 16 | ||||
| -rw-r--r-- | code/api/Services/System/PermissionService.cs | 27 | ||||
| -rw-r--r-- | code/api/Services/System/ShareService.cs | 2 | ||||
| -rw-r--r-- | code/api/Services/System/StorageService.cs | 88 |
5 files changed, 65 insertions, 83 deletions
diff --git a/code/api/Services/System/ChunkUploaderService.cs b/code/api/Services/System/ChunkUploaderService.cs index d650fa4..e1c81d9 100644 --- a/code/api/Services/System/ChunkUploaderService.cs +++ b/code/api/Services/System/ChunkUploaderService.cs @@ -1,16 +1,11 @@ -namespace I2R.Storage.Api.Services.System; +namespace Quality.Storage.Api.Services.System; -public class ChunkUploaderService +public class ChunkUploaderService(AppDatabase database, ILogger<ChunkUploaderService> logger) { - private readonly ILogger<ChunkUploaderService> _logger; - private readonly AppDatabase _database; + private readonly ILogger<ChunkUploaderService> _logger = logger; + private readonly AppDatabase _database = database; - public ChunkUploaderService(AppDatabase database, ILogger<ChunkUploaderService> logger) { - _database = database; - _logger = logger; - } - - public async Task<Guid> StartUploadSession() { + public async Task<Guid> StartUploadSession() { return default; } }
\ No newline at end of file diff --git a/code/api/Services/System/DefaultResourceService.cs b/code/api/Services/System/DefaultResourceService.cs index 5198432..5d05353 100644 --- a/code/api/Services/System/DefaultResourceService.cs +++ b/code/api/Services/System/DefaultResourceService.cs @@ -1,17 +1,11 @@ -using I2R.Storage.Api.Services.Abstractions; +using Quality.Storage.Api.Services.Abstractions; using File = System.IO.File; -namespace I2R.Storage.Api.Services.System; +namespace Quality.Storage.Api.Services.System; -public class DefaultResourceService : IResourceService +public class DefaultResourceService(IConfiguration configuration) : IResourceService { - private readonly IConfiguration _configuration; - - public DefaultResourceService(IConfiguration configuration) { - _configuration = configuration; - } - - public async Task SetBlobAsync(StorageBlobId id, Stream stream, CancellationToken cancellationToken = default) { + public async Task SetBlobAsync(StorageBlobId id, Stream stream, CancellationToken cancellationToken = default) { await stream.CopyToAsync(File.OpenWrite(EnsureCreatedAndReturnBasedPath(id)), cancellationToken); } @@ -33,7 +27,7 @@ public class DefaultResourceService : IResourceService } private string EnsureCreatedAndReturnBasedPath(StorageBlobId id) { - var withoutId = Path.Combine(Directory.GetCurrentDirectory(), _configuration.GetValue(AppEnvVariables.STORAGE_ROOT, "__FILESYSTEM__"), id.Bucket.ToString()); + var withoutId = Path.Combine(Directory.GetCurrentDirectory(), configuration.GetValue(AppEnvVariables.STORAGE_ROOT, "__FILESYSTEM__"), id.Bucket.ToString()); Directory.CreateDirectory(withoutId); return Path.Combine(withoutId, id.Id.ToString()); } diff --git a/code/api/Services/System/PermissionService.cs b/code/api/Services/System/PermissionService.cs index f55d8c1..a2233c8 100644 --- a/code/api/Services/System/PermissionService.cs +++ b/code/api/Services/System/PermissionService.cs @@ -1,19 +1,14 @@ -namespace I2R.Storage.Api.Services.System; +namespace Quality.Storage.Api.Services.System; -public class PermissionService +public class PermissionService(ILogger<PermissionService> logger, AppDatabase database) { - private readonly AppDatabase _database; - private readonly ILogger<PermissionService> _logger; + private readonly AppDatabase _database = database; + private readonly ILogger<PermissionService> _logger = logger; - public PermissionService(ILogger<PermissionService> logger, AppDatabase database) { - _logger = logger; - _database = database; - } - - public async Task GrantAllOnFile(Guid fileId, Guid userId) { } - public async Task GrantAllOnFolder(Guid fileId, Guid userId) { } - public async Task UserCanReadFile(Guid fileId, Guid userId) { } - public async Task UserCanReadFolder(Guid folderId, Guid userId) { } - public async Task UserCanWriteFile(Guid fileId, Guid userId) { } - public async Task UserCanWriteFolder(Guid folderId, Guid userId) { } -}
\ No newline at end of file + public async Task GrantAllOnFile(Guid fileId, Guid userId) { } + public async Task GrantAllOnFolder(Guid fileId, Guid userId) { } + public async Task UserCanReadFile(Guid fileId, Guid userId) { } + public async Task UserCanReadFolder(Guid folderId, Guid userId) { } + public async Task UserCanWriteFile(Guid fileId, Guid userId) { } + public async Task UserCanWriteFolder(Guid folderId, Guid userId) { } +} diff --git a/code/api/Services/System/ShareService.cs b/code/api/Services/System/ShareService.cs index 047e607..7f2f7b7 100644 --- a/code/api/Services/System/ShareService.cs +++ b/code/api/Services/System/ShareService.cs @@ -1,4 +1,4 @@ -namespace I2R.Storage.Api.Services.System; +namespace Quality.Storage.Api.Services.System; public class ShareService { diff --git a/code/api/Services/System/StorageService.cs b/code/api/Services/System/StorageService.cs index 328be2c..9c6e0ac 100644 --- a/code/api/Services/System/StorageService.cs +++ b/code/api/Services/System/StorageService.cs @@ -1,48 +1,46 @@ -namespace I2R.Storage.Api.Services.System; +namespace Quality.Storage.Api.Services.System; -public class StorageService +public class StorageService(AppDatabase database) { - private readonly AppDatabase _database; - private readonly ILogger<StorageService> _logger; + public async Task<List<FileSystemEntry>> GetFileSystemEntriesAsync(Guid parent = default) { + var fileSystemEntriesContext = database.Folders + .Include(c => c.Files) + .ConditionalWhere(() => parent != default, folder => folder.ParentId == parent) + .Select(p => new FileSystemEntry { + Id = p.Id, + Name = p.Name, + MimeType = SystemConstants.FolderMimeType, + SizeInBytes = -1, + Files = p.Files.Select(c => new FileSystemEntry { + Id = c.Id, + Name = c.Name, + MimeType = c.MimeType, + SizeInBytes = c.SizeInBytes + }) + .ToList() + }) + .KeysetPaginate(builder => { + builder.Ascending(entry => entry.Name); + }); + var fileSystemEntries = await fileSystemEntriesContext.Query.ToListAsync(); + fileSystemEntriesContext.EnsureCorrectOrder(fileSystemEntries); + return fileSystemEntries; + } - public StorageService(AppDatabase database, ILogger<StorageService> logger) { - _database = database; - _logger = logger; - } - - public async Task<List<FileSystemEntry>> GetFileSystemEntriesAsync(Guid parent = default) { - var fileSystemEntriesContext = _database.Folders - .Include(c => c.Files) - .ConditionalWhere(() => parent != default, folder => folder.ParentId == parent) - .Select(p => new FileSystemEntry() { - Id = p.Id, - Name = p.Name, - MimeType = SystemConstants.FolderMimeType, - SizeInBytes = -1, - Files = p.Files.Select(c => new FileSystemEntry() { - Id = c.Id, - Name = c.Name, - MimeType = c.MimeType, - SizeInBytes = c.SizeInBytes - }).ToList() - }) - .KeysetPaginate(builder => { builder.Ascending(entry => entry.Name); }); - var fileSystemEntries = await fileSystemEntriesContext.Query.ToListAsync(); - fileSystemEntriesContext.EnsureCorrectOrder(fileSystemEntries); - return fileSystemEntries; - } - - public async Task<FileSystemEntry> GetFileSystemEntryAsync(Guid folder) { - return _database.Folders.Include(c => c.Files).Select(c => new FileSystemEntry() { - Id = c.Id, - SizeInBytes = -1, - MimeType = SystemConstants.FolderMimeType, - Files = c.Files.Select(p => new FileSystemEntry() { - SizeInBytes = p.SizeInBytes, - MimeType = p.MimeType, - Id = p.Id, - Name = p.Name - }).ToList() - }).FirstOrDefault(c => c.Id == folder); - } -}
\ No newline at end of file + public Task<FileSystemEntry> GetFileSystemEntryAsync(Guid folderId) { + return database.Folders.Include(c => c.Files) + .Select(c => new FileSystemEntry { + Id = c.Id, + SizeInBytes = -1, + MimeType = SystemConstants.FolderMimeType, + Files = c.Files.Select(p => new FileSystemEntry { + SizeInBytes = p.SizeInBytes, + MimeType = p.MimeType, + Id = p.Id, + Name = p.Name + }) + .ToList() + }) + .FirstOrDefaultAsync(c => c.Id == folderId); + } +} |
