added fetch members function.

This commit is contained in:
5elenay 2021-08-25 10:37:12 +03:00
parent 51c0fc2dd9
commit bf0346b83e

View File

@ -52,6 +52,12 @@ type Member struct {
Roles []string `json:"roles"`
}
// Fetched members struct.
type FetchedMembers struct {
Members []*Member `json:"members"`
Users []*User `json:"users"`
}
// Calculate creation date and edit the struct.
func (s *Server) CalculateCreationDate() error {
ulid, err := ulid.Parse(s.Id)
@ -153,6 +159,30 @@ func (s Server) FetchMember(id string) (*Member, error) {
return member, nil
}
// Fetch all of the members from Server.
func (s Server) FetchMembers() (*FetchedMembers, error) {
members := &FetchedMembers{}
data, err := s.Client.Request("GET", "/servers/"+s.Id+"/members", []byte{})
if err != nil {
return members, err
}
err = json.Unmarshal(data, members)
if err != nil {
return members, err
}
// Add client to the user
for _, i := range members.Users {
i.Client = s.Client
}
return members, nil
}
// Edit a member.
func (s Server) EditMember(id string, em *EditMember) error {
data, err := json.Marshal(em)