diff options
author | Matias Linares <matiaslina@gmail.com> | 2020-09-06 19:38:12 -0300 |
---|---|---|
committer | Matias Linares <matiaslina@gmail.com> | 2020-09-06 19:38:12 -0300 |
commit | 80d50c14866f6e58ee57792a383920a7e8a1274a (patch) | |
tree | 49e0b5976f74427bb627c88a60b6626d3b20dd13 /lib | |
parent | ae506f4258324f77b8644459c1cb0c18359d793b (diff) | |
download | perl6-matrix-client-80d50c14866f6e58ee57792a383920a7e8a1274a.tar.gz |
Add media store config method
Diffstat (limited to 'lib')
-rw-r--r-- | lib/Matrix/Client/MediaStore.rakumod | 10 | ||||
-rw-r--r-- | lib/Matrix/Response.pm6 | 9 |
2 files changed, 16 insertions, 3 deletions
diff --git a/lib/Matrix/Client/MediaStore.rakumod b/lib/Matrix/Client/MediaStore.rakumod index 7086083..7afa9e3 100644 --- a/lib/Matrix/Client/MediaStore.rakumod +++ b/lib/Matrix/Client/MediaStore.rakumod @@ -1,7 +1,9 @@ use JSON::Fast; +use URI::Escape; + use Matrix::Client::Requester; use Matrix::Client::Exception; -use URI::Escape; +use Matrix::Response; unit class Matrix::Client::MediaStore does Matrix::Client::Requester; @@ -16,7 +18,6 @@ submethod TWEAK { $!client-endpoint = "/_matrix/media/r0"; } -# https://matrix.deprecated.org/_matrix/media/r0/thumbnail/matrix.org/TKTUVTAazFocrTjezhiXZiIe?width=25&height=25&method=crop method parse-mxc(Str $uri) { if $uri ~~ m/"mxc://" $<server-name> = [.*] "/" $<media-id> = [ .* ]/ { return { @@ -68,3 +69,8 @@ multi method download(Str $server-name, Str $media-id, Bool :$allow-remote = Tru content => $response.content ) } + +method config(--> Matrix::Response::MediaStore::Config) { + my $response = $.get("/config"); + Matrix::Response::MediaStore::Config.new(from-json($response.content)) +} diff --git a/lib/Matrix/Response.pm6 b/lib/Matrix/Response.pm6 index 268be84..ec93cf3 100644 --- a/lib/Matrix/Response.pm6 +++ b/lib/Matrix/Response.pm6 @@ -123,7 +123,6 @@ class Tag { } } - class Matrix::Response::Device { has Str $.device-id; has $.display-name; @@ -137,3 +136,11 @@ class Matrix::Response::Device { :last_seen_ts(:$!last-seen-ts)? ) { } } + +class Matrix::Response::MediaStore::Config { + has Int $.upload-size; + + method new(%config) { + self.bless(:upload-size(%config<m.upload.size> // Int)); + } +} |