From 0f850f5273836c9c696dbfd3a9dcf7c56db6fc05 Mon Sep 17 00:00:00 2001
From: meskio <meskio@sindominio.net>
Date: Fri, 23 Oct 2020 18:55:26 +0200
Subject: [PATCH] Be able to update the role but not the balance when we update
 member

---
 api/member.go      | 6 +++---
 api/member_test.go | 6 +++---
 2 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/api/member.go b/api/member.go
index c0939a5..1647c53 100644
--- a/api/member.go
+++ b/api/member.go
@@ -179,7 +179,7 @@ func (a *api) UpdateMemberMe(num int, w http.ResponseWriter, req *http.Request)
 	}
 
 	member.Num = 0
-	member.Balance = -1
+	member.Role = ""
 	m, err := a.updateMember(num, member, true)
 	if err != nil {
 		if errors.Is(err, gorm.ErrRecordNotFound) {
@@ -225,8 +225,8 @@ func (a *api) updateMember(num int, member MemberReq, checkPass bool) (Member, e
 	if member.Email != "" {
 		dbMember.Email = member.Email
 	}
-	if member.Balance >= 0 {
-		dbMember.Balance = member.Balance
+	if member.Role != "" {
+		dbMember.Role = member.Role
 	}
 	if member.Password != "" {
 		dbMember.PassHash, dbMember.Salt, err = newHashPass(member.Password)
diff --git a/api/member_test.go b/api/member_test.go
index f374a2b..b9c5b47 100644
--- a/api/member_test.go
+++ b/api/member_test.go
@@ -86,7 +86,7 @@ func TestMemberUpdate(t *testing.T) {
 
 	tapi.addTestMember()
 	member := testMember
-	member.Balance = 1000
+	member.Role = "admin"
 	resp := tapi.doAdmin("PUT", "/member/10", member, nil)
 	if resp.StatusCode != http.StatusAccepted {
 		t.Fatal("Can't update member:", resp.Status)
@@ -97,8 +97,8 @@ func TestMemberUpdate(t *testing.T) {
 	if resp.StatusCode != http.StatusOK {
 		t.Error("Can't find the member:", resp.Status)
 	}
-	if gotMember.Balance != 1000 {
-		t.Error("Wrong balance:", gotMember)
+	if gotMember.Role != "admin" {
+		t.Error("Wrong role:", gotMember)
 	}
 }
 
-- 
GitLab