@@ -86,7 +86,14 @@ type RespRoomMessages = mautrix.RespMessages
86
86
// RoomMessages returns a list of messages in a room.
87
87
//
88
88
// 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 ) {
90
97
query := map [string ]string {
91
98
"from" : from ,
92
99
"dir" : string (dir ),
@@ -104,7 +111,10 @@ func (cli *Client) RoomMessages(ctx context.Context, roomID id.RoomID, from, to
104
111
if limit != 0 {
105
112
query ["limit" ] = strconv .Itoa (limit )
106
113
}
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
+ )
108
118
_ , err = cli .MakeRequest (ctx , http .MethodGet , urlPath , nil , & resp )
109
119
return resp , err
110
120
}
@@ -126,7 +136,11 @@ type RespDeleteRoom struct {
126
136
// This calls the async version of the endpoint, which will return immediately and delete the room in the background.
127
137
//
128
138
// 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 ) {
130
144
reqURL := cli .BuildAdminURL ("v2" , "rooms" , roomID )
131
145
var resp RespDeleteRoom
132
146
_ , err := cli .MakeRequest (ctx , http .MethodDelete , reqURL , & req , & resp )
@@ -155,7 +169,11 @@ type ReqMakeRoomAdmin struct {
155
169
// MakeRoomAdmin promotes a user to admin in a room. This requires that a local user has permission to promote users in the room.
156
170
//
157
171
// 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 {
159
177
reqURL := cli .BuildAdminURL ("v1" , "rooms" , roomIDOrAlias , "make_room_admin" )
160
178
_ , err := cli .MakeRequest (ctx , http .MethodPost , reqURL , & req , nil )
161
179
return err
@@ -168,7 +186,11 @@ type ReqJoinUserToRoom struct {
168
186
// JoinUserToRoom makes a local user join the given room.
169
187
//
170
188
// 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 {
172
194
reqURL := cli .BuildAdminURL ("v1" , "join" , roomID )
173
195
_ , err := cli .MakeRequest (ctx , http .MethodPost , reqURL , & req , nil )
174
196
return err
@@ -196,9 +218,27 @@ type RoomsBlockResponse struct {
196
218
// GetRoomBlockStatus gets whether a room is currently blocked.
197
219
//
198
220
// 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 ) {
200
225
var resp RoomsBlockResponse
201
226
reqURL := cli .BuildAdminURL ("v1" , "rooms" , roomID , "block" )
202
227
_ , err := cli .MakeRequest (ctx , http .MethodGet , reqURL , nil , & resp )
203
228
return resp , err
204
229
}
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