From 0b53befc75a58a1c54456a300369311a0285e622 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 30 Jun 2024 15:49:07 +0200 Subject: [PATCH] logviewer --- TIAM.Services/SignalRTags.cs | 2 + .../Pages/User/SysAdmins/LogViewer.razor | 4 +- .../SysAdmins/LogViewerGridComponent.razor | 185 ++---------------- .../Shared/Components/Grids/LogViewerGrid.cs | 5 +- TIAMSharedUI/Shared/Users/AdminNavMenu.razor | 1 + .../Server/Controllers/LoggerApiController.cs | 9 +- TIAMWebApp/Server/Program.cs | 1 + .../Server/Services/DevAdminSignalRhub.cs | 3 +- .../Shared/Utility/HttpClientLogItemWriter.cs | 2 +- 9 files changed, 35 insertions(+), 177 deletions(-) diff --git a/TIAM.Services/SignalRTags.cs b/TIAM.Services/SignalRTags.cs index 8f6c79cc..f4913db1 100644 --- a/TIAM.Services/SignalRTags.cs +++ b/TIAM.Services/SignalRTags.cs @@ -95,4 +95,6 @@ public class SignalRTags : AcSignalRTags public const int GetTransferDestinationToProductsByProductId = 95; public const int GetTransferDestinationToProductsByTransferDestinationId = 96; + public const int GetAllLogItems = 100; + } diff --git a/TIAMSharedUI/Pages/User/SysAdmins/LogViewer.razor b/TIAMSharedUI/Pages/User/SysAdmins/LogViewer.razor index ec993678..a711e786 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/LogViewer.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/LogViewer.razor @@ -20,7 +20,7 @@ User permissions
-

Drivers

+

Log viewer

Manage drivers here!

@@ -38,7 +38,7 @@ Click="ColumnChooserButton_Click" /> - + diff --git a/TIAMSharedUI/Pages/User/SysAdmins/LogViewerGridComponent.razor b/TIAMSharedUI/Pages/User/SysAdmins/LogViewerGridComponent.razor index 480df5dc..49e5b50e 100644 --- a/TIAMSharedUI/Pages/User/SysAdmins/LogViewerGridComponent.razor +++ b/TIAMSharedUI/Pages/User/SysAdmins/LogViewerGridComponent.razor @@ -6,6 +6,7 @@ @using TIAM.Services @using TIAMSharedUI.Shared.Components.Grids @using TIAMWebApp.Shared.Application.Interfaces +@using TIAMWebApp.Shared.Application.Models.ClientSide.UI @using TIAMWebApp.Shared.Application.Services @using TIAMWebApp.Shared.Application.Utility @using TIAM.Core.Loggers @@ -21,204 +22,56 @@ - - - @{ - var userEmailFieldName = $"{nameof(UserProductMapping.User)}.{nameof(User.EmailAddress)}"; - } - - - @{ - var productNameFieldName = $"{nameof(UserProductMapping.Product)}.{nameof(Product.Name)}"; - } - - + + + + + + + @{ - - - - - - - - - + var a = ((LogitemViewerModel)context.DataItem).AcLogItemClient; } +

@a.Text

- - - - @{ - var transfer2 = (UserProductMapping)UserEditFormContext.EditModel; - } - - - - @transfer2.UserId - @{ - var a = UserEditFormContext.GetEditor("UserId"); - } - @* Select user *@ - Select user - - - - @UserEditFormContext.GetEditor("Permissions") - - - - - - +
-@code { - [Parameter] public Guid ContextId { get; set; } - [Parameter] public IProductRelation ParentData { get; set; } = null!; - [Parameter] public int GetAllTag { get; set; } = SignalRTags.GetAllUserProductMappings; +@code { [Parameter] public GridDetailExpandButtonDisplayMode DetailExpandButtonDisplayMode { get; set; } = GridDetailExpandButtonDisplayMode.Never; - private LoggerClient _logger; + private LoggerClient _logger; - private LogViewerGrid _logViewerGrid; - - private UserProductMapping _tempProductMapping; - - bool PopupVisible { get; set; } - private DxMaskedInput _emailInput; - private DxButton _button1; - private ElementReference _errorMessage; - private string _errorCss = "display: none;"; - private List FoundUsers { get; set; } = new List(); - - - private string Email { get; set; } = "email@email.com"; - string EmailMask { get; set; } = @"(\w|[.-])+@(\w|-)+\.(\w|-){2,4}"; - UserModelDto _chosenUser = null!; + private LogViewerGrid _logViewerGrid; protected override void OnInitialized() { - _logger = new LoggerClient(LogWriters.ToArray()); + _logger = new LoggerClient(LogWriters.ToArray()); base.OnInitialized(); } - void CustomizeEditModel(GridCustomizeEditModelEventArgs e) - { - if (!e.IsNew) return; - - if (ContextId.IsNullOrEmpty()) - { - _logger.Warning($"ContextId.IsNullOrEmpty()"); - return; - } - - var newUpm = (UserProductMapping)e.EditModel; - newUpm.ProductId = ContextId; - - var newProductMapping = new UserProductMapping - { - Id = Guid.NewGuid(), - ProductId = (Guid)ContextId, - Permissions = 2 - }; - - //e.EditModel = newProductMapping; - } - - async Task FindUser() - { - var userModelDto = await UserDataService.GetUserByEmailAsync(Email); - if (userModelDto != null) - { - _chosenUser = userModelDto; - FoundUsers.Add(_chosenUser); - _emailInput.Enabled = false; - _button1.Visible = false; - } - else - { - _emailInput.Value = "email@email.com"; - _errorCss = "display: block"; - } - } - - void CancelCreateClick() - { - PopupVisible = false; - } - - void SelectDriverPopupClosed() - { - //cancel clicked - } - - void SelectDriverPopupClosing(PopupClosingEventArgs args) - { - //myModel = new TransferWizardModel(); - - } - - public Task SubmitForm(object result) - { - _logger.Info($"Submitted nested form: {result.GetType().FullName}"); - return Task.CompletedTask; - } - - public Task ShowPopup(UserProductMapping emptyProductMapping) - { - _tempProductMapping = emptyProductMapping; - PopupVisible = true; - - return Task.CompletedTask; - } - - private async Task OnUserSelected(Guid userId) - { - // Logic after the user is selected - await Task.Run(() => Console.WriteLine($"Selected User ID: {userId}")); - } - private async Task OnRowClick(GridRowClickEventArgs e) { - await SelectUser((Guid)e.Grid.GetRowValue(e.VisibleIndex, "Id")); - } - - private async Task SelectUser(Guid id) - { - PopupVisible = false; - _tempProductMapping.UserId = id; - - await OnUserSelected(id); + } void Grid_CustomizeElement(GridCustomizeElementEventArgs e) { - if (e.ElementType == GridElementType.DataRow && (int)e.Grid.GetRowValue(e.VisibleIndex, "Permissions") == 1) - { - e.Style = "display: none"; - } - // else if (e.ElementType == GridElementType.HeaderCell) - // { - // e.Style = "background-color: rgba(0, 0, 0, 0.08); font-style=bold"; - - // } + } } \ No newline at end of file diff --git a/TIAMSharedUI/Shared/Components/Grids/LogViewerGrid.cs b/TIAMSharedUI/Shared/Components/Grids/LogViewerGrid.cs index 56bbd26e..a8a08c78 100644 --- a/TIAMSharedUI/Shared/Components/Grids/LogViewerGrid.cs +++ b/TIAMSharedUI/Shared/Components/Grids/LogViewerGrid.cs @@ -11,10 +11,7 @@ public class LogViewerGrid : TiamGrid { public LogViewerGrid() : base() { - GetAllMessageTag = SignalRTags.GetAllUserProductMappings; - AddMessageTag = SignalRTags.CreateUserProductMapping; - UpdateMessageTag = SignalRTags.UpdateUserProductMapping; - RemoveMessageTag = SignalRTags.DeleteUserProductMapping; + GetAllMessageTag = SignalRTags.GetAllLogItems; } protected override Task SetParametersAsyncCore(ParameterView parameters) diff --git a/TIAMSharedUI/Shared/Users/AdminNavMenu.razor b/TIAMSharedUI/Shared/Users/AdminNavMenu.razor index fbfacfd6..a26491c4 100644 --- a/TIAMSharedUI/Shared/Users/AdminNavMenu.razor +++ b/TIAMSharedUI/Shared/Users/AdminNavMenu.razor @@ -26,6 +26,7 @@ + diff --git a/TIAMWebApp/Server/Controllers/LoggerApiController.cs b/TIAMWebApp/Server/Controllers/LoggerApiController.cs index 8f801cf4..a65b4afd 100644 --- a/TIAMWebApp/Server/Controllers/LoggerApiController.cs +++ b/TIAMWebApp/Server/Controllers/LoggerApiController.cs @@ -1,9 +1,11 @@ using AyCode.Core.Consts; using AyCode.Entities.Server.LogItems; +using AyCode.Services.SignalRs; using Microsoft.AspNetCore.Authorization; using Microsoft.AspNetCore.Cors; using Microsoft.AspNetCore.Mvc; using TIAM.Database.DataLayers.Admins; +using TIAM.Services; using TIAMWebApp.Server.Services; using TIAMWebApp.Shared.Application.Models; using TIAMWebApp.Shared.Application.Models.ClientSide.UI; @@ -51,16 +53,17 @@ namespace TIAMWebApp.Server.Controllers [AllowAnonymous] [HttpGet] [Route(APIUrls.GetAllLogItemsRouteName)] + [SignalR(SignalRTags.GetAllLogItems)] public async Task> GetAllLogItems() { var result = await _adminDal.GetLogItemsAsync(); List returnList = new List(); - foreach (var item in result) + for (int i = 0; i < 100; i++ ) { - returnList.Add(new LogitemViewerModel(Guid.NewGuid(), item, item.LogHeaderId)); + + returnList.Add(new LogitemViewerModel(Guid.NewGuid(), result[i], result[i].LogHeaderId)); } return returnList; } - } } \ No newline at end of file diff --git a/TIAMWebApp/Server/Program.cs b/TIAMWebApp/Server/Program.cs index dde2497f..c4fc24b3 100644 --- a/TIAMWebApp/Server/Program.cs +++ b/TIAMWebApp/Server/Program.cs @@ -43,6 +43,7 @@ builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); builder.Services.AddScoped(); +builder.Services.AddScoped(); builder.Services.AddSignalR(options => options.MaximumReceiveMessageSize = 102400 * 1024);//.AddMessagePackProtocol(options => options.SerializerOptions = MessagePackSerializerOptions.Standard.WithSecurity(MessagePackSecurity.UntrustedData)); diff --git a/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs b/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs index f77f1a86..0e8cfd6b 100644 --- a/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs +++ b/TIAMWebApp/Server/Services/DevAdminSignalRhub.cs @@ -99,7 +99,7 @@ public class DevAdminSignalRHub : Hub, IAcSignalRHubServe //private readonly ServiceProviderAPIController _serviceProviderApiController; //private readonly TransferDataAPIController _transferDataApiController; - public DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController serviceProviderApiController, TransferDataAPIController transferDataApiController, MessageAPIController messageApiController, ProfileAPIController profileApiController, IEnumerable logWriters) + public DevAdminSignalRHub(AdminDal adminDal, ServiceProviderAPIController serviceProviderApiController, TransferDataAPIController transferDataApiController, MessageAPIController messageApiController, ProfileAPIController profileApiController, LoggerApiController loggerApiController, IEnumerable logWriters) { _adminDal = adminDal; //_serviceProviderApiController = serviceProviderApiController; @@ -111,6 +111,7 @@ public class DevAdminSignalRHub : Hub, IAcSignalRHubServe _dynamicMethodCallModels.Add(new DynamicMethodCallModel(transferDataApiController)); _dynamicMethodCallModels.Add(new DynamicMethodCallModel(messageApiController)); _dynamicMethodCallModels.Add(new DynamicMethodCallModel(profileApiController)); + _dynamicMethodCallModels.Add(new DynamicMethodCallModel(loggerApiController)); //_dynamicMethodCallModels.Add(new DynamicMethodCallModel(typeof(AdminDal))); } diff --git a/TIAMWebApp/Shared/Utility/HttpClientLogItemWriter.cs b/TIAMWebApp/Shared/Utility/HttpClientLogItemWriter.cs index e99066be..f0ebfc9c 100644 --- a/TIAMWebApp/Shared/Utility/HttpClientLogItemWriter.cs +++ b/TIAMWebApp/Shared/Utility/HttpClientLogItemWriter.cs @@ -7,6 +7,6 @@ namespace TIAMWebApp.Shared.Application.Utility; public class HttpClientLogItemWriter : AcHttpClientLogItemWriter { - public HttpClientLogItemWriter(HttpClient httpClient) : base(httpClient, $"{Setting.ApiBaseUrl}/{APIUrls.Logger}") + public HttpClientLogItemWriter(HttpClient httpClient) : base(httpClient, $"{Setting.ApiBaseUrl}/{APIUrls.AddLogItem}") { } } \ No newline at end of file