From 6554800a09cb3f7de321140fa06810b45bc0ea95 Mon Sep 17 00:00:00 2001 From: 5elenay <5elenay@protonmail.com> Date: Thu, 26 Aug 2021 19:12:42 +0300 Subject: [PATCH] added edit, delete role functions. --- other.go | 12 ++++++------ server.go | 28 ++++++++++++++++++++++++++++ 2 files changed, 34 insertions(+), 6 deletions(-) diff --git a/other.go b/other.go index dedf17e..635214f 100644 --- a/other.go +++ b/other.go @@ -227,11 +227,11 @@ func (em *EditMember) RemoveItem(item string) *EditMember { // Edit role struct. type EditRole struct { - Name string `json:"name"` - Colour string `json:"colour"` - Hoist bool `json:"hoist"` - Rank int `json:"rank"` - Remove string `json:"remove"` + Name string `json:"name,omitempty"` + Colour string `json:"colour,omitempty"` + Hoist bool `json:"hoist,omitempty"` + Rank int `json:"rank,omitempty"` + Remove string `json:"remove,omitempty"` } // Set name for struct. @@ -250,7 +250,7 @@ func (er *EditRole) SetColour(color string) *EditRole { return er } - er.Name = color + er.Colour = color return er } diff --git a/server.go b/server.go index 8f224b9..dc21fb7 100644 --- a/server.go +++ b/server.go @@ -309,6 +309,34 @@ func (s Server) CreateRole(name string) (string, uint, uint, error) { return role.Id, role.Permissions[0], role.Permissions[1], nil } +// Edit a server role. +func (s Server) EditRole(id string, er *EditRole) error { + data, err := json.Marshal(er) + + if err != nil { + return err + } + + _, err = s.Client.Request("PATCH", "/servers/"+s.Id+"/roles/"+id, data) + + if err != nil { + return err + } + + return nil +} + +// Delete a server role. +func (s Server) DeleteRole(id string) error { + _, err := s.Client.Request("DELETE", "/servers/"+s.Id+"/roles/"+id, []byte{}) + + if err != nil { + return err + } + + return nil +} + // // Fetch all server invites. // func (s Server) FetchInvites() { // data, _ := s.Client.Request("GET", "/servers/"+s.Id+"/invites", []byte{})