about summary refs log tree commit diff
path: root/MatrixUtils.RoomUpgradeCLI/Commands
diff options
context:
space:
mode:
authorRory& <root@rory.gay>2026-01-11 16:17:46 +0100
committerRory& <root@rory.gay>2026-01-11 16:17:46 +0100
commit1f7873bbe1dfe39941ee8dbc6def87f8c825d49f (patch)
treeae73e7ceb9ffb43d1fd28acb2e741bf81f0874a4 /MatrixUtils.RoomUpgradeCLI/Commands
parentSwitch to correct compression flag for blazor assets - this silently broke wi... (diff)
downloadMatrixUtils-master.tar.xz
RoomUpgradeCLI work HEAD master
Diffstat (limited to 'MatrixUtils.RoomUpgradeCLI/Commands')
-rw-r--r--MatrixUtils.RoomUpgradeCLI/Commands/ExecuteCommand.cs11
1 files changed, 10 insertions, 1 deletions
diff --git a/MatrixUtils.RoomUpgradeCLI/Commands/ExecuteCommand.cs b/MatrixUtils.RoomUpgradeCLI/Commands/ExecuteCommand.cs

index 41c8cca..ecc5fcd 100644 --- a/MatrixUtils.RoomUpgradeCLI/Commands/ExecuteCommand.cs +++ b/MatrixUtils.RoomUpgradeCLI/Commands/ExecuteCommand.cs
@@ -1,5 +1,6 @@ using System.Text.Json; using System.Text.Json.Nodes; +using ArcaneLibs.Extensions; using LibMatrix.Helpers; using LibMatrix.Homeservers; @@ -11,6 +12,7 @@ public class ExecuteCommand(ILogger<ExecuteCommand> logger, IHost host, RuntimeC await PrintHelp(); return; } + var filename = ctx.Args[1]; if (filename.StartsWith("--")) { Console.WriteLine("Filename cannot start with --, please provide a valid filename."); @@ -37,14 +39,21 @@ public class ExecuteCommand(ILogger<ExecuteCommand> logger, IHost host, RuntimeC ? rbj.Deserialize<RoomUpgradeBuilder>() : rbj.Deserialize<RoomBuilder>(); Console.WriteLine($"Executing room builder file of type {rb.GetType().Name}..."); + if (rb is RoomUpgradeBuilder { CanUpgrade: false } rub) { + Console.WriteLine("Warning: Import state has determined that you cannot upgrade this room."); + Console.WriteLine(rub.ToJson()); + return; + } + await rb!.Create(hs); } - + public async Task ExecuteDirectory(string dirName) { if (!Directory.Exists(dirName)) { Console.WriteLine($"Directory {dirName} does not exist."); return; } + var files = Directory.GetFiles(dirName, "*.json"); foreach (var file in files) { Console.WriteLine($"Executing file: {file}");