@@ -86,7 +86,14 @@ type RespRoomMessages = mautrix.RespMessages
8686// RoomMessages returns a list of messages in a room.
8787//
8888// https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#room-messages-api
89- func (cli * Client ) RoomMessages (ctx context.Context , roomID id.RoomID , from , to string , dir mautrix.Direction , filter * mautrix.FilterPart , limit int ) (resp * RespRoomMessages , err error ) {
89+ func (cli * Client ) RoomMessages (
90+ ctx context.Context ,
91+ roomID id.RoomID ,
92+ from , to string ,
93+ dir mautrix.Direction ,
94+ filter * mautrix.FilterPart ,
95+ limit int ,
96+ ) (resp * RespRoomMessages , err error ) {
9097 query := map [string ]string {
9198 "from" : from ,
9299 "dir" : string (dir ),
@@ -104,7 +111,10 @@ func (cli *Client) RoomMessages(ctx context.Context, roomID id.RoomID, from, to
104111 if limit != 0 {
105112 query ["limit" ] = strconv .Itoa (limit )
106113 }
107- urlPath := cli .BuildURLWithQuery (mautrix.SynapseAdminURLPath {"v1" , "rooms" , roomID , "messages" }, query )
114+ urlPath := cli .BuildURLWithQuery (
115+ mautrix.SynapseAdminURLPath {"v1" , "rooms" , roomID , "messages" },
116+ query ,
117+ )
108118 _ , err = cli .MakeRequest (ctx , http .MethodGet , urlPath , nil , & resp )
109119 return resp , err
110120}
@@ -126,7 +136,11 @@ type RespDeleteRoom struct {
126136// This calls the async version of the endpoint, which will return immediately and delete the room in the background.
127137//
128138// https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#version-2-new-version
129- func (cli * Client ) DeleteRoom (ctx context.Context , roomID id.RoomID , req ReqDeleteRoom ) (RespDeleteRoom , error ) {
139+ func (cli * Client ) DeleteRoom (
140+ ctx context.Context ,
141+ roomID id.RoomID ,
142+ req ReqDeleteRoom ,
143+ ) (RespDeleteRoom , error ) {
130144 reqURL := cli .BuildAdminURL ("v2" , "rooms" , roomID )
131145 var resp RespDeleteRoom
132146 _ , err := cli .MakeRequest (ctx , http .MethodDelete , reqURL , & req , & resp )
@@ -155,7 +169,11 @@ type ReqMakeRoomAdmin struct {
155169// MakeRoomAdmin promotes a user to admin in a room. This requires that a local user has permission to promote users in the room.
156170//
157171// https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#make-room-admin-api
158- func (cli * Client ) MakeRoomAdmin (ctx context.Context , roomIDOrAlias string , req ReqMakeRoomAdmin ) error {
172+ func (cli * Client ) MakeRoomAdmin (
173+ ctx context.Context ,
174+ roomIDOrAlias string ,
175+ req ReqMakeRoomAdmin ,
176+ ) error {
159177 reqURL := cli .BuildAdminURL ("v1" , "rooms" , roomIDOrAlias , "make_room_admin" )
160178 _ , err := cli .MakeRequest (ctx , http .MethodPost , reqURL , & req , nil )
161179 return err
@@ -168,7 +186,11 @@ type ReqJoinUserToRoom struct {
168186// JoinUserToRoom makes a local user join the given room.
169187//
170188// https://matrix-org.github.io/synapse/latest/admin_api/room_membership.html
171- func (cli * Client ) JoinUserToRoom (ctx context.Context , roomID id.RoomID , req ReqJoinUserToRoom ) error {
189+ func (cli * Client ) JoinUserToRoom (
190+ ctx context.Context ,
191+ roomID id.RoomID ,
192+ req ReqJoinUserToRoom ,
193+ ) error {
172194 reqURL := cli .BuildAdminURL ("v1" , "join" , roomID )
173195 _ , err := cli .MakeRequest (ctx , http .MethodPost , reqURL , & req , nil )
174196 return err
@@ -196,9 +218,27 @@ type RoomsBlockResponse struct {
196218// GetRoomBlockStatus gets whether a room is currently blocked.
197219//
198220// https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#get-block-status
199- func (cli * Client ) GetRoomBlockStatus (ctx context.Context , roomID id.RoomID ) (RoomsBlockResponse , error ) {
221+ func (cli * Client ) GetRoomBlockStatus (
222+ ctx context.Context ,
223+ roomID id.RoomID ,
224+ ) (RoomsBlockResponse , error ) {
200225 var resp RoomsBlockResponse
201226 reqURL := cli .BuildAdminURL ("v1" , "rooms" , roomID , "block" )
202227 _ , err := cli .MakeRequest (ctx , http .MethodGet , reqURL , nil , & resp )
203228 return resp , err
204229}
230+
231+ // ListRooms returns a list of rooms on the server.
232+ //
233+ // https://matrix-org.github.io/synapse/latest/admin_api/rooms.html#list-room-api
234+ func (cli * Client ) GetRoomDetails (ctx context.Context , roomID id.RoomID ) (RoomInfo , error ) {
235+ var resp RoomInfo
236+ var reqURL string
237+ reqURL = cli .BuildURLWithQuery (mautrix.SynapseAdminURLPath {"v1" , "rooms" , roomID }, nil )
238+ _ , err := cli .MakeFullRequest (ctx , mautrix.FullRequest {
239+ Method : http .MethodGet ,
240+ URL : reqURL ,
241+ ResponseJSON : & resp ,
242+ })
243+ return resp , err
244+ }
0 commit comments