@@ -7,14 +7,14 @@ use matrix_sdk::{
77 crypto:: LocalTrust ,
88 room:: {
99 edit:: EditedContent , power_levels:: RoomPowerLevelChanges , Room as SdkRoom , RoomMemberRole ,
10+ TryFromReportedContentScoreError ,
1011 } ,
1112 ComposerDraft as SdkComposerDraft , ComposerDraftType as SdkComposerDraftType , EncryptionState ,
1213 RoomHero as SdkRoomHero , RoomMemberships , RoomState ,
1314} ;
1415use matrix_sdk_ui:: timeline:: { default_event_filter, RoomExt } ;
1516use mime:: Mime ;
1617use ruma:: {
17- api:: client:: room:: { report_content, report_room} ,
1818 assign,
1919 events:: {
2020 call:: notify,
@@ -384,17 +384,18 @@ impl Room {
384384 score : Option < i32 > ,
385385 reason : Option < String > ,
386386 ) -> Result < ( ) , ClientError > {
387- let event_id = EventId :: parse ( event_id) ?;
388- let int_score = score. map ( |value| value. into ( ) ) ;
389387 self . inner
390- . client ( )
391- . send ( report_content:: v3:: Request :: new (
392- self . inner . room_id ( ) . into ( ) ,
393- event_id,
394- int_score,
388+ . report_content (
389+ EventId :: parse ( event_id) ?,
390+ score. map ( TryFrom :: try_from) . transpose ( ) . map_err (
391+ |error : TryFromReportedContentScoreError | ClientError :: Generic {
392+ msg : error. to_string ( ) ,
393+ } ,
394+ ) ?,
395395 reason,
396- ) )
396+ )
397397 . await ?;
398+
398399 Ok ( ( ) )
399400 }
400401
@@ -409,10 +410,8 @@ impl Room {
409410 ///
410411 /// Returns an error if the room is not found or on rate limit
411412 pub async fn report_room ( & self , reason : Option < String > ) -> Result < ( ) , ClientError > {
412- let mut request = report_room:: v3:: Request :: new ( self . inner . room_id ( ) . into ( ) ) ;
413- request. reason = reason;
413+ self . inner . report_room ( reason) . await ?;
414414
415- self . inner . client ( ) . send ( request) . await ?;
416415 Ok ( ( ) )
417416 }
418417
0 commit comments