From eefe547f72bc6f3f75c24b8ac456e82cc44ac932 Mon Sep 17 00:00:00 2001 From: sp Date: Mon, 22 Mar 2021 00:33:55 +1100 Subject: [PATCH] save avatar works. --- apiV1Avatar.go | 25 +++++++++++++++++++++++++ apiv1.go | 2 ++ 2 files changed, 27 insertions(+) diff --git a/apiV1Avatar.go b/apiV1Avatar.go index e4d922e..ac527c1 100644 --- a/apiV1Avatar.go +++ b/apiV1Avatar.go @@ -5,7 +5,9 @@ import ( "encoding/base64" "fmt" "github.com/brianvoe/gofakeit/v6" + log "github.com/sirupsen/logrus" "io" + "io/ioutil" "net/http" "os" "strings" @@ -92,3 +94,26 @@ func randomDummyImage() string { idx := fmt.Sprintf("%d%s", number, gender) return dummyAvatar[idx] } + +func apiV1AvatarPost(w http.ResponseWriter, r *http.Request, ss *loan.Session) { + prefix := apiV1Prefix + "avatar/" + id := r.URL.Path[len(prefix):] + + body, e := ioutil.ReadAll(r.Body) + if e != nil { + log.Error("invalid request body for updating avatar ", id, " err= ", e.Error()) + apiV1Client403Error(w, r, ss) + return + } + p := loan.People{} + p.Read(id) + p.Avatar = string(body) + e = p.Write() + if e != nil { + log.Error("cannot write avatar ", id, " err ", e.Error()) + apiV1Server500Error(w, r) + return + } + + apiV1SendJson(true, w, r, ss) +} diff --git a/apiv1.go b/apiv1.go index 98a6456..7dfef11 100644 --- a/apiv1.go +++ b/apiv1.go @@ -42,6 +42,7 @@ func setupApiV1Handler() []apiV1HandlerMap { {"GET", "broker/", apiV1BrokerGet}, {"POST", "loan/basic/", apiV1LoanSinglePostBasic}, {"GET", "avatar/", apiV1Avatar}, + {"POST", "avatar/", apiV1AvatarPost}, {"POST", "reward/", apiV1RewardPost}, {"DELETE", "reward/", apiV1RewardDelete}, {"GET", "people-list/", apiV1PeopleList}, @@ -68,6 +69,7 @@ func setupApiV1Handler() []apiV1HandlerMap { {"GET", "broker/", apiV1BrokerGet}, {"POST", "loan/basic/", apiV1LoanSinglePostBasic}, {"GET", "avatar/", apiV1Avatar}, + {"POST", "avatar/", apiV1AvatarPost}, {"POST", "reward/", apiV1RewardPost}, {"DELETE", "reward/", apiV1RewardDelete}, {"GET", "people-list", apiV1PeopleList},