about summary refs log tree commit diff
diff options
context:
space:
mode:
authorTheArcaneBrony <myrainbowdash949@gmail.com>2023-06-18 07:03:47 +0200
committerTheArcaneBrony <myrainbowdash949@gmail.com>2023-06-18 07:04:00 +0200
commitd4f46b4fb6dfd2672a5205ec9de12050a940f56c (patch)
tree90be2b959a41148da84aaffbb1b0a1163aa3288e
parentStart refactor (diff)
downloadMatrixUtils-d4f46b4fb6dfd2672a5205ec9de12050a940f56c.tar.xz
Partial refactor
-rw-r--r--.gitignore1
-rw-r--r--MatrixRoomUtils.Bot/MatrixRoomUtils.Bot.csproj27
-rw-r--r--MatrixRoomUtils.Bot/Program.cs2
-rw-r--r--MatrixRoomUtils.Core/Attributes/TraceAttribute.cs10
-rw-r--r--MatrixRoomUtils.Core/Interfaces/Services/IStorageProvider.cs (renamed from MatrixRoomUtils.Core/Interfaces/IStorageProvider.cs)2
-rw-r--r--MatrixRoomUtils.Core/Responses/StateEventResponse.cs2
-rw-r--r--MatrixRoomUtils.Core/Room.cs1
-rw-r--r--MatrixRoomUtils.Core/RoomTypes/SpaceRoom.cs1
-rw-r--r--MatrixRoomUtils.Core/Services/HomeserverService.cs8
-rw-r--r--MatrixRoomUtils.Core/Services/TieredStorageService.cs9
-rw-r--r--MatrixRoomUtils.Web/Classes/LocalStorageProviderService.cs7
-rw-r--r--MatrixRoomUtils.Web/MatrixRoomUtils.Web.csproj1
-rw-r--r--MatrixRoomUtils.Web/Pages/KnownHomeserverList.razor1
-rw-r--r--MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor1
-rw-r--r--MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor1
-rw-r--r--MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerTimeline.razor1
-rw-r--r--MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor1
-rw-r--r--MatrixRoomUtils.Web/Program.cs20
-rw-r--r--MatrixRoomUtils.Web/SessionStorageProviderService.cs6
-rw-r--r--MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor1
-rw-r--r--MatrixRoomUtils.sln6
-rw-r--r--MatrixRoomUtils.sln.DotSettings.user4
-rw-r--r--README.MD13
23 files changed, 121 insertions, 5 deletions
diff --git a/.gitignore b/.gitignore

index 340c3ab..47d212e 100644 --- a/.gitignore +++ b/.gitignore
@@ -5,3 +5,4 @@ MatrixRoomUtils.Web/wwwroot/MRU.tar.xz /src/ *.tar.xz matrix-sync.json +/patches/ diff --git a/MatrixRoomUtils.Bot/MatrixRoomUtils.Bot.csproj b/MatrixRoomUtils.Bot/MatrixRoomUtils.Bot.csproj new file mode 100644
index 0000000..8ff14c4 --- /dev/null +++ b/MatrixRoomUtils.Bot/MatrixRoomUtils.Bot.csproj
@@ -0,0 +1,27 @@ +<Project Sdk="Microsoft.NET.Sdk"> + + <PropertyGroup> + <OutputType>Exe</OutputType> + <TargetFramework>net8.0</TargetFramework> + <LangVersion>preview</LangVersion> + <ImplicitUsings>enable</ImplicitUsings> + <Nullable>enable</Nullable> + <PublishAot>true</PublishAot> + <InvariantGlobalization>true</InvariantGlobalization> + <PublishTrimmed>true</PublishTrimmed> + <PublishReadyToRun>true</PublishReadyToRun> + <PublishSingleFile>true</PublishSingleFile> + <PublishReadyToRunShowWarnings>true</PublishReadyToRunShowWarnings> + <PublishTrimmedShowLinkerSizeComparison>true</PublishTrimmedShowLinkerSizeComparison> + <PublishTrimmedShowLinkerSizeComparisonWarnings>true</PublishTrimmedShowLinkerSizeComparisonWarnings> + </PropertyGroup> + + <ItemGroup> + <ProjectReference Include="..\MatrixRoomUtils.Core\MatrixRoomUtils.Core.csproj" /> + </ItemGroup> + + <ItemGroup> + <PackageReference Include="Microsoft.Extensions.Hosting" Version="7.0.1" /> + </ItemGroup> + +</Project> diff --git a/MatrixRoomUtils.Bot/Program.cs b/MatrixRoomUtils.Bot/Program.cs new file mode 100644
index 0000000..83fa4f4 --- /dev/null +++ b/MatrixRoomUtils.Bot/Program.cs
@@ -0,0 +1,2 @@ +// See https://aka.ms/new-console-template for more information +Console.WriteLine("Hello, World!"); diff --git a/MatrixRoomUtils.Core/Attributes/TraceAttribute.cs b/MatrixRoomUtils.Core/Attributes/TraceAttribute.cs new file mode 100644
index 0000000..34a0b67 --- /dev/null +++ b/MatrixRoomUtils.Core/Attributes/TraceAttribute.cs
@@ -0,0 +1,10 @@ +using System.Runtime.CompilerServices; + +namespace MatrixRoomUtils.Core.Attributes; + +[AttributeUsage(AttributeTargets.All)] +public class TraceAttribute : Attribute { + public TraceAttribute([CallerMemberName] string callerName = "") { + Console.WriteLine($"{callerName} called!"); + } +} \ No newline at end of file diff --git a/MatrixRoomUtils.Core/Interfaces/IStorageProvider.cs b/MatrixRoomUtils.Core/Interfaces/Services/IStorageProvider.cs
index e1a066e..2540ad7 100644 --- a/MatrixRoomUtils.Core/Interfaces/IStorageProvider.cs +++ b/MatrixRoomUtils.Core/Interfaces/Services/IStorageProvider.cs
@@ -1,3 +1,5 @@ +namespace MatrixRoomUtils.Core.Interfaces.Services; + public interface IStorageProvider { // save public async Task SaveAll() { diff --git a/MatrixRoomUtils.Core/Responses/StateEventResponse.cs b/MatrixRoomUtils.Core/Responses/StateEventResponse.cs
index 36f0a36..7b138e0 100644 --- a/MatrixRoomUtils.Core/Responses/StateEventResponse.cs +++ b/MatrixRoomUtils.Core/Responses/StateEventResponse.cs
@@ -1,6 +1,6 @@ using System.Text.Json.Serialization; -namespace MatrixRoomUtils.Core; +namespace MatrixRoomUtils.Core.Responses; public class StateEventResponse : StateEvent { [JsonPropertyName("origin_server_ts")] diff --git a/MatrixRoomUtils.Core/Room.cs b/MatrixRoomUtils.Core/Room.cs
index 2d6dc46..4f6bbca 100644 --- a/MatrixRoomUtils.Core/Room.cs +++ b/MatrixRoomUtils.Core/Room.cs
@@ -3,6 +3,7 @@ using System.Text.Json; using System.Text.Json.Serialization; using System.Web; using MatrixRoomUtils.Core.Extensions; +using MatrixRoomUtils.Core.Responses; using MatrixRoomUtils.Core.RoomTypes; namespace MatrixRoomUtils.Core; diff --git a/MatrixRoomUtils.Core/RoomTypes/SpaceRoom.cs b/MatrixRoomUtils.Core/RoomTypes/SpaceRoom.cs
index e8d4823..7f634dc 100644 --- a/MatrixRoomUtils.Core/RoomTypes/SpaceRoom.cs +++ b/MatrixRoomUtils.Core/RoomTypes/SpaceRoom.cs
@@ -1,5 +1,6 @@ using System.Text.Json; using MatrixRoomUtils.Core.Extensions; +using MatrixRoomUtils.Core.Responses; namespace MatrixRoomUtils.Core.RoomTypes; diff --git a/MatrixRoomUtils.Core/Services/HomeserverService.cs b/MatrixRoomUtils.Core/Services/HomeserverService.cs new file mode 100644
index 0000000..ba48e6c --- /dev/null +++ b/MatrixRoomUtils.Core/Services/HomeserverService.cs
@@ -0,0 +1,8 @@ +using MatrixRoomUtils.Core.Attributes; + +namespace MatrixRoomUtils.Core.Services; + +[Trace] +public class HomeserverService { + +} \ No newline at end of file diff --git a/MatrixRoomUtils.Core/Services/TieredStorageService.cs b/MatrixRoomUtils.Core/Services/TieredStorageService.cs new file mode 100644
index 0000000..f6beddd --- /dev/null +++ b/MatrixRoomUtils.Core/Services/TieredStorageService.cs
@@ -0,0 +1,9 @@ +using MatrixRoomUtils.Core.Interfaces.Services; + +namespace MatrixRoomUtils.Core.Services; + +public class TieredStorageService { + public TieredStorageService(IStorageProvider cacheStorageProvider, IStorageProvider dataStorageProvider) { + + } +} \ No newline at end of file diff --git a/MatrixRoomUtils.Web/Classes/LocalStorageProviderService.cs b/MatrixRoomUtils.Web/Classes/LocalStorageProviderService.cs
index 0c3deec..2a9082d 100644 --- a/MatrixRoomUtils.Web/Classes/LocalStorageProviderService.cs +++ b/MatrixRoomUtils.Web/Classes/LocalStorageProviderService.cs
@@ -1,5 +1,10 @@ +using Blazored.LocalStorage; +using MatrixRoomUtils.Core.Interfaces.Services; + namespace MatrixRoomUtils.Web.Classes; public class LocalStorageProviderService : IStorageProvider { - + public LocalStorageProviderService(ILocalStorageService localStorageService) { + + } } \ No newline at end of file diff --git a/MatrixRoomUtils.Web/MatrixRoomUtils.Web.csproj b/MatrixRoomUtils.Web/MatrixRoomUtils.Web.csproj
index e1511c4..33fb062 100644 --- a/MatrixRoomUtils.Web/MatrixRoomUtils.Web.csproj +++ b/MatrixRoomUtils.Web/MatrixRoomUtils.Web.csproj
@@ -8,6 +8,7 @@ <ItemGroup> <PackageReference Include="Blazored.LocalStorage" Version="4.3.0" /> + <PackageReference Include="Blazored.SessionStorage" Version="2.3.0" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly" Version="7.0.3" /> <PackageReference Include="Microsoft.AspNetCore.Components.WebAssembly.DevServer" Version="7.0.3" PrivateAssets="all" /> </ItemGroup> diff --git a/MatrixRoomUtils.Web/Pages/KnownHomeserverList.razor b/MatrixRoomUtils.Web/Pages/KnownHomeserverList.razor
index 92a8445..8031146 100644 --- a/MatrixRoomUtils.Web/Pages/KnownHomeserverList.razor +++ b/MatrixRoomUtils.Web/Pages/KnownHomeserverList.razor
@@ -2,6 +2,7 @@ @using System.Text.Json @using MatrixRoomUtils.Core.Extensions @using System.Diagnostics +@using MatrixRoomUtils.Core.Responses <h3>Known Homeserver List</h3> <hr/> diff --git a/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor b/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor
index b15928a..76b4384 100644 --- a/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor +++ b/MatrixRoomUtils.Web/Pages/PolicyList/PolicyListEditorPage.razor
@@ -2,6 +2,7 @@ @using MatrixRoomUtils.Core.Extensions @using MatrixRoomUtils.Core.StateEventTypes @using System.Text.Json +@using MatrixRoomUtils.Core.Responses @inject ILocalStorageService LocalStorage @inject NavigationManager NavigationManager <h3>Policy list editor - Editing @RoomId</h3> diff --git a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor
index c5e1569..ab650d1 100644 --- a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor +++ b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerSpace.razor
@@ -1,6 +1,7 @@ @page "/RoomManager/Space/{RoomId}" @using MatrixRoomUtils.Core.Extensions @using System.Text.Json +@using MatrixRoomUtils.Core.Responses <h3>Room manager - Viewing Space</h3> <button onclick="@JoinAllRooms">Join all rooms</button> diff --git a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerTimeline.razor b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerTimeline.razor
index b90cc09..9513a8a 100644 --- a/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerTimeline.razor +++ b/MatrixRoomUtils.Web/Pages/RoomManager/RoomManagerTimeline.razor
@@ -1,5 +1,6 @@ @page "/Rooms/{RoomId}/Timeline" @using MatrixRoomUtils.Web.Shared.TimelineComponents +@using MatrixRoomUtils.Core.Responses <h3>RoomManagerTimeline</h3> <hr/> <p>Loaded @Events.Count events...</p> diff --git a/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor
index 74f4f92..fa5b6a8 100644 --- a/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor +++ b/MatrixRoomUtils.Web/Pages/RoomState/RoomStateEditorPage.razor
@@ -1,6 +1,7 @@ @page "/RoomStateViewer/{RoomId}/Edit" @using System.Net.Http.Headers @using System.Text.Json +@using MatrixRoomUtils.Core.Responses @inject ILocalStorageService LocalStorage @inject NavigationManager NavigationManager <h3>Room state editor - Editing @RoomId</h3> diff --git a/MatrixRoomUtils.Web/Program.cs b/MatrixRoomUtils.Web/Program.cs
index 8ea8742..11e7f19 100644 --- a/MatrixRoomUtils.Web/Program.cs +++ b/MatrixRoomUtils.Web/Program.cs
@@ -1,6 +1,8 @@ using System.Text.Json; using System.Text.Json.Serialization; using Blazored.LocalStorage; +using Blazored.SessionStorage; +using MatrixRoomUtils.Core.Services; using MatrixRoomUtils.Web; using MatrixRoomUtils.Web.Classes; using Microsoft.AspNetCore.Components.Web; @@ -20,9 +22,23 @@ builder.Services.AddBlazoredLocalStorage(config => { config.JsonSerializerOptions.ReadCommentHandling = JsonCommentHandling.Skip; config.JsonSerializerOptions.WriteIndented = false; }); +builder.Services.AddBlazoredSessionStorage(config => { + config.JsonSerializerOptions.DictionaryKeyPolicy = JsonNamingPolicy.CamelCase; + config.JsonSerializerOptions.DefaultIgnoreCondition = JsonIgnoreCondition.WhenWritingNull; + config.JsonSerializerOptions.IgnoreReadOnlyProperties = true; + config.JsonSerializerOptions.PropertyNameCaseInsensitive = true; + config.JsonSerializerOptions.PropertyNamingPolicy = JsonNamingPolicy.CamelCase; + config.JsonSerializerOptions.ReadCommentHandling = JsonCommentHandling.Skip; + config.JsonSerializerOptions.WriteIndented = false; +}); -builder.Services.AddSingleton<LocalStorageProviderService>(); +builder.Services.AddScoped<LocalStorageProviderService>(); builder.Services.AddSingleton<SessionStorageProviderService>(); -builder.Services.AddSingleton<TieredStorage<LocalStorageProviderService, SessionStorageProviderService>>(); +builder.Services.AddSingleton<TieredStorageService>(x => + new( + x.GetRequiredService<SessionStorageProviderService>(), + x.GetRequiredService<LocalStorageProviderService>() + ) +); await builder.Build().RunAsync(); \ No newline at end of file diff --git a/MatrixRoomUtils.Web/SessionStorageProviderService.cs b/MatrixRoomUtils.Web/SessionStorageProviderService.cs
index 82372ff..d6bffe6 100644 --- a/MatrixRoomUtils.Web/SessionStorageProviderService.cs +++ b/MatrixRoomUtils.Web/SessionStorageProviderService.cs
@@ -1 +1,5 @@ -public class SessionStorageProviderService { } \ No newline at end of file +using MatrixRoomUtils.Core.Interfaces.Services; + +namespace MatrixRoomUtils.Web; + +public class SessionStorageProviderService : IStorageProvider { } \ No newline at end of file diff --git a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor
index 8d688ea..80a432b 100644 --- a/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor +++ b/MatrixRoomUtils.Web/Shared/TimelineComponents/TimelineMessageItem.razor
@@ -1,4 +1,5 @@ @using MatrixRoomUtils.Core.Extensions +@using MatrixRoomUtils.Core.Responses <pre> @ObjectExtensions.ToJson(Event.Content, indent: false) </pre> diff --git a/MatrixRoomUtils.sln b/MatrixRoomUtils.sln
index e658c6d..a29cf89 100644 --- a/MatrixRoomUtils.sln +++ b/MatrixRoomUtils.sln
@@ -8,6 +8,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixRoomUtils.Core", "Mat EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixRoomUtils.Web.Server", "MatrixRoomUtils.Web.Server\MatrixRoomUtils.Web.Server.csproj", "{F997F26F-2EC1-4D18-B3DD-C46FB2AD65C0}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "MatrixRoomUtils.Bot", "MatrixRoomUtils.Bot\MatrixRoomUtils.Bot.csproj", "{B397700A-4ABB-4CAF-8DB8-06E01F44514B}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -30,5 +32,9 @@ Global {F997F26F-2EC1-4D18-B3DD-C46FB2AD65C0}.Debug|Any CPU.Build.0 = Debug|Any CPU {F997F26F-2EC1-4D18-B3DD-C46FB2AD65C0}.Release|Any CPU.ActiveCfg = Release|Any CPU {F997F26F-2EC1-4D18-B3DD-C46FB2AD65C0}.Release|Any CPU.Build.0 = Release|Any CPU + {B397700A-4ABB-4CAF-8DB8-06E01F44514B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {B397700A-4ABB-4CAF-8DB8-06E01F44514B}.Debug|Any CPU.Build.0 = Debug|Any CPU + {B397700A-4ABB-4CAF-8DB8-06E01F44514B}.Release|Any CPU.ActiveCfg = Release|Any CPU + {B397700A-4ABB-4CAF-8DB8-06E01F44514B}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection EndGlobal diff --git a/MatrixRoomUtils.sln.DotSettings.user b/MatrixRoomUtils.sln.DotSettings.user
index 07d0701..dcd4e3e 100644 --- a/MatrixRoomUtils.sln.DotSettings.user +++ b/MatrixRoomUtils.sln.DotSettings.user
@@ -3,4 +3,8 @@ + + + + </wpf:ResourceDictionary> \ No newline at end of file diff --git a/README.MD b/README.MD new file mode 100644
index 0000000..7bf6942 --- /dev/null +++ b/README.MD
@@ -0,0 +1,13 @@ +# Project Name + +# Installation + +# Contributing + +```sh +# Prepare patch set +mkdir patches +git format-patch --output-directory "./patches" @{u}.. + +# Send patches +```