signaller/internal/utils.go

40 lines
1019 B
Go
Raw Normal View History

package internal
2019-08-08 14:38:30 +00:00
import (
"strings"
"github.com/signaller-matrix/signaller/internal/models/publicrooms"
)
func GetCanonicalAlias(hostName string, alias string) string {
return "#" + alias + ":" + hostName
}
func StripAlias(hostName string, canonicalAlias string) string {
canonicalAlias = strings.TrimPrefix(canonicalAlias, "#")
canonicalAlias = strings.TrimSuffix(canonicalAlias, ":"+hostName)
return canonicalAlias
}
func roomsToPublicRoomsChunks(rooms []Room) []publicrooms.PublicRoomsChunk {
var chunks []publicrooms.PublicRoomsChunk
for _, room := range rooms {
chunk := publicrooms.PublicRoomsChunk{
2019-08-08 14:38:30 +00:00
Aliases: room.Aliases(),
CanonicalAlias: room.AliasName(),
Name: room.Name(),
NumJoinedMembers: len(room.Users()),
RoomID: room.ID(),
Topic: room.Topic(),
WorldReadable: room.WorldReadable(),
GuestCanJoin: room.GuestCanJoin(),
AvatarURL: room.AvatarURL()}
chunks = append(chunks, chunk)
}
return chunks
}