1// Copyright © 2016 Aaron Longwell 2// 3// Use of this source code is governed by an MIT licese. 4// Details in the LICENSE file. 5 6package trello 7 8import ( 9 "fmt" 10) 11 12// Member represents a Trello member. 13// https://developers.trello.com/reference/#member-object 14type Member struct { 15 client *Client 16 ID string `json:"id"` 17 Username string `json:"username"` 18 FullName string `json:"fullName"` 19 Initials string `json:"initials"` 20 AvatarHash string `json:"avatarHash"` 21 Email string `json:"email"` 22} 23 24// GetMember takes a member id and Arguments and returns a Member or an error. 25func (c *Client) GetMember(memberID string, args Arguments) (member *Member, err error) { 26 path := fmt.Sprintf("members/%s", memberID) 27 err = c.Get(path, args, &member) 28 if err == nil { 29 member.client = c 30 } 31 return 32} 33 34// GetMembers takes Arguments and returns a slice of all members of the organization or an error. 35func (o *Organization) GetMembers(args Arguments) (members []*Member, err error) { 36 path := fmt.Sprintf("organizations/%s/members", o.ID) 37 err = o.client.Get(path, args, &members) 38 for i := range members { 39 members[i].client = o.client 40 } 41 return 42} 43 44// GetMembers takes Arguments and returns a slice of all members of the Board or an error. 45func (b *Board) GetMembers(args Arguments) (members []*Member, err error) { 46 path := fmt.Sprintf("boards/%s/members", b.ID) 47 err = b.client.Get(path, args, &members) 48 for i := range members { 49 members[i].client = b.client 50 } 51 return 52} 53 54// GetMembers takes Arguments and returns a slice of all members of the Card or an error. 55func (c *Card) GetMembers(args Arguments) (members []*Member, err error) { 56 path := fmt.Sprintf("cards/%s/members", c.ID) 57 err = c.client.Get(path, args, &members) 58 for i := range members { 59 members[i].client = c.client 60 } 61 return 62} 63