aboutsummaryrefslogtreecommitdiff
path: root/matrix/room/member.go
diff options
context:
space:
mode:
authorTulir Asokan <tulir@maunium.net>2018-03-22 23:46:43 +0200
committerTulir Asokan <tulir@maunium.net>2018-03-22 23:46:43 +0200
commit373b25c01cc94afff3abb0fe98af31aa52a40568 (patch)
treecfe9591ca6f51a4f934cfda609deda0e4a951480 /matrix/room/member.go
parent20a1a31fa85d71f6fc36b7c895aa80646c8f7fb3 (diff)
Rename matrix/room/ to matrix/rooms/
Diffstat (limited to 'matrix/room/member.go')
-rw-r--r--matrix/room/member.go67
1 files changed, 0 insertions, 67 deletions
diff --git a/matrix/room/member.go b/matrix/room/member.go
deleted file mode 100644
index 4af20a6..0000000
--- a/matrix/room/member.go
+++ /dev/null
@@ -1,67 +0,0 @@
-// gomuks - A terminal Matrix client written in Go.
-// Copyright (C) 2018 Tulir Asokan
-//
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-//
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-// GNU General Public License for more details.
-//
-// You should have received a copy of the GNU General Public License
-// along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-package rooms
-
-import (
- "maunium.net/go/gomatrix"
-)
-
-type Membership string
-
-// The allowed membership states as specified in spec section 10.5.5.
-const (
- MembershipJoin Membership = "join"
- MembershipLeave Membership = "leave"
- MembershipInvite Membership = "invite"
- MembershipKnock Membership = "knock"
-)
-
-// Member represents a member in a room.
-type Member struct {
- // The MXID of the member.
- UserID string `json:"-"`
- // The membership status. Defaults to leave.
- Membership Membership `json:"membership"`
- // The display name of the user. Defaults to the user ID.
- DisplayName string `json:"displayname"`
- // The avatar URL of the user. Defaults to an empty string.
- AvatarURL string `json:"avatar_url"`
-}
-
-// eventToRoomMember converts a m.room.member state event into a Member object.
-func eventToRoomMember(userID string, event *gomatrix.Event) *Member {
- if event == nil {
- return &Member{
- UserID: userID,
- Membership: MembershipLeave,
- }
- }
- membership, _ := event.Content["membership"].(string)
- avatarURL, _ := event.Content["avatar_url"].(string)
-
- displayName, _ := event.Content["displayname"].(string)
- if len(displayName) == 0 {
- displayName = userID
- }
-
- return &Member{
- UserID: userID,
- Membership: Membership(membership),
- DisplayName: displayName,
- AvatarURL: avatarURL,
- }
-}