From 5f604b3052dab1d51dc130df2470bf330b283ec6 Mon Sep 17 00:00:00 2001 From: ivar Date: Tue, 19 Mar 2024 01:02:22 +0100 Subject: Max lenghts on db schema Use latest temporal from cdn Implement majority of translation functionality Major refinements/bugs --- code/api/Endpoints/Storage/TreeEndpoint.cs | 55 +++++++++++++----------------- 1 file changed, 24 insertions(+), 31 deletions(-) (limited to 'code/api/Endpoints/Storage/TreeEndpoint.cs') diff --git a/code/api/Endpoints/Storage/TreeEndpoint.cs b/code/api/Endpoints/Storage/TreeEndpoint.cs index f832034..df2ed5e 100644 --- a/code/api/Endpoints/Storage/TreeEndpoint.cs +++ b/code/api/Endpoints/Storage/TreeEndpoint.cs @@ -1,33 +1,26 @@ -namespace I2R.Storage.Api.Endpoints.Storage; +namespace Quality.Storage.Api.Endpoints.Storage; -public class TreeEndpoint : EndpointBase +public class TreeEndpoint(AppDatabase database, IPaginationService pagination) : EndpointBase { - private readonly AppDatabase _database; - private readonly IPaginationService _pagination; - - public TreeEndpoint(AppDatabase database, IPaginationService pagination) { - _database = database; - _pagination = pagination; - } - - [HttpGet("~/storage/tree")] - public async Task>> Handle(Guid parent = default) { - return Ok(await _pagination.KeysetPaginateAsync( - _database.Folders.Include(c => c.Files).ConditionalWhere(() => parent != default, folder => folder.ParentId == parent), - b => b.Descending(a => a.Name), - async id => await _database.Folders.FirstOrDefaultAsync(c => c.Id == id.AsGuid()), - query => query.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() - }) - )); - } -} \ No newline at end of file + [HttpGet("~/storage/tree")] + public async Task>> Handle(Guid parent = default) { + return Ok(await pagination.KeysetPaginateAsync(database.Folders + .Include(c => c.Files) + .ConditionalWhere(() => parent != default, folder => folder.ParentId == parent), + b => b.Descending(a => a.Name), + async id => await database.Folders.FirstOrDefaultAsync(c => c.Id == id.AsGuid()), + query => query.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() + }))); + } +} -- cgit v1.3