| @@ -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) | |||
| } | |||
| @@ -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}, | |||