aboutsummaryrefslogtreecommitdiffstats
path: root/code/api/Services/System
diff options
context:
space:
mode:
Diffstat (limited to 'code/api/Services/System')
-rw-r--r--code/api/Services/System/ChunkUploaderService.cs15
-rw-r--r--code/api/Services/System/DefaultResourceService.cs16
-rw-r--r--code/api/Services/System/PermissionService.cs27
-rw-r--r--code/api/Services/System/ShareService.cs2
-rw-r--r--code/api/Services/System/StorageService.cs88
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);
+ }
+}