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

Method QueryRoomVersionForRoom

roomserver/internal/query/query.go:598–618  ·  view source on GitHub ↗

QueryRoomVersionCapabilities implements api.RoomserverInternalAPI

(
	ctx context.Context,
	request *api.QueryRoomVersionForRoomRequest,
	response *api.QueryRoomVersionForRoomResponse,
)

Source from the content-addressed store, hash-verified

596
597// QueryRoomVersionCapabilities implements api.RoomserverInternalAPI
598func (r *Queryer) QueryRoomVersionForRoom(
599 ctx context.Context,
600 request *api.QueryRoomVersionForRoomRequest,
601 response *api.QueryRoomVersionForRoomResponse,
602) error {
603 if roomVersion, ok := r.Cache.GetRoomVersion(request.RoomID); ok {
604 response.RoomVersion = roomVersion
605 return nil
606 }
607
608 info, err := r.DB.RoomInfo(ctx, request.RoomID)
609 if err != nil {
610 return err
611 }
612 if info == nil {
613 return fmt.Errorf("QueryRoomVersionForRoom: missing room info for room %s", request.RoomID)
614 }
615 response.RoomVersion = info.RoomVersion
616 r.Cache.StoreRoomVersion(request.RoomID, response.RoomVersion)
617 return nil
618}
619
620func (r *Queryer) roomVersion(roomID string) (gomatrixserverlib.RoomVersion, error) {
621 var res api.QueryRoomVersionForRoomResponse

Callers 1

roomVersionMethod · 0.95

Calls 3

GetRoomVersionMethod · 0.65
RoomInfoMethod · 0.65
StoreRoomVersionMethod · 0.65

Tested by

no test coverage detected