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
+```