MCPcopy Create free account
hub / github.com/daodst/chat / GetVisibility

Function GetVisibility

clientapi/routing/directory.go:239–263  ·  view source on GitHub ↗

GetVisibility implements GET /directory/list/room/{roomID}

(
	req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI,
	roomID string,
)

Source from the content-addressed store, hash-verified

237
238// GetVisibility implements GET /directory/list/room/{roomID}
239func GetVisibility(
240 req *http.Request, rsAPI roomserverAPI.ClientRoomserverAPI,
241 roomID string,
242) util.JSONResponse {
243 var res roomserverAPI.QueryPublishedRoomsResponse
244 err := rsAPI.QueryPublishedRooms(req.Context(), &roomserverAPI.QueryPublishedRoomsRequest{
245 RoomID: roomID,
246 }, &res)
247 if err != nil {
248 util.GetLogger(req.Context()).WithError(err).Error("QueryPublishedRooms failed")
249 return jsonerror.InternalServerError()
250 }
251
252 var v roomVisibility
253 if len(res.RoomIDs) == 1 {
254 v.Visibility = gomatrixserverlib.Public
255 } else {
256 v.Visibility = "private"
257 }
258
259 return util.JSONResponse{
260 Code: http.StatusOK,
261 JSON: v,
262 }
263}
264
265// SetVisibility implements PUT /directory/list/room/{roomID}
266// TODO: Allow admin users to edit the room visibility

Callers 1

SetupFunction · 0.85

Calls 3

ContextMethod · 0.80
QueryPublishedRoomsMethod · 0.65
ErrorMethod · 0.45

Tested by

no test coverage detected