From db835755e01b13dcb8d33a91f57ae8f20b931c57 Mon Sep 17 00:00:00 2001 From: Rory& Date: Sun, 9 Mar 2025 17:24:34 +0100 Subject: Well known resolver work, synapse admin work --- LibMatrix/MxcUri.cs | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) (limited to 'LibMatrix/MxcUri.cs') diff --git a/LibMatrix/MxcUri.cs b/LibMatrix/MxcUri.cs index 02a8fa6..875ae53 100644 --- a/LibMatrix/MxcUri.cs +++ b/LibMatrix/MxcUri.cs @@ -3,9 +3,9 @@ using System.Diagnostics.CodeAnalysis; namespace LibMatrix; public class MxcUri { - public required string ServerName; - public required string MediaId; - + public required string ServerName { get; set; } + public required string MediaId { get; set; } + public static MxcUri Parse([StringSyntax("Uri")] string mxcUri) { if (!mxcUri.StartsWith("mxc://")) throw new ArgumentException("Matrix Content URIs must start with 'mxc://'", nameof(mxcUri)); var parts = mxcUri[6..].Split('/'); @@ -15,13 +15,13 @@ public class MxcUri { MediaId = parts[1] }; } - + public static implicit operator MxcUri(string mxcUri) => Parse(mxcUri); public static implicit operator string(MxcUri mxcUri) => $"mxc://{mxcUri.ServerName}/{mxcUri.MediaId}"; public static implicit operator (string, string)(MxcUri mxcUri) => (mxcUri.ServerName, mxcUri.MediaId); public static implicit operator MxcUri((string serverName, string mediaId) mxcUri) => (mxcUri.serverName, mxcUri.mediaId); // public override string ToString() => $"mxc://{ServerName}/{MediaId}"; - + public string ToDownloadUri(string? baseUrl = null, string? filename = null, int? timeout = null) { var uri = $"{baseUrl}/_matrix/client/v1/media/download/{ServerName}/{MediaId}"; if (filename is not null) uri += $"/{filename}"; -- cgit 1.5.1