From d49542013b90d1a14ef51e74f7e034560b99acab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miroslav=20=C5=A0ediv=C3=BD?= Date: Sun, 22 Nov 2020 00:06:55 +0100 Subject: [PATCH] CRUD add payloads. --- internal/api/members/crud.go | 48 ++++++++++++++++++++++++++++++++---- 1 file changed, 43 insertions(+), 5 deletions(-) diff --git a/internal/api/members/crud.go b/internal/api/members/crud.go index 85f91c7b..b760566d 100644 --- a/internal/api/members/crud.go +++ b/internal/api/members/crud.go @@ -6,25 +6,63 @@ import ( "demodesk/neko/internal/utils" ) -func (h *MembersHandler) membersCreate(w http.ResponseWriter, r *http.Request) { +type MemberCreatePayload struct { + ID string `json:"id"` +} - utils.HttpSuccess(w) +type MemberDataPayload struct { + ID string `json:"id"` + Name string `json:"name"` + Admin bool `json:"admin"` +} + +func (h *MembersHandler) membersCreate(w http.ResponseWriter, r *http.Request) { + data := &MemberDataPayload{} + if !utils.HttpJsonRequest(w, r, data) { + return + } + + utils.HttpSuccess(w, MemberCreatePayload{ + ID: "some_id", + }) } func (h *MembersHandler) membersRead(w http.ResponseWriter, r *http.Request) { + data := &MemberDataPayload{} + if !utils.HttpJsonRequest(w, r, data) { + return + } + member := GetMember(r) - utils.HttpSuccess(w, "Your name is " + member.Name() + ".") + utils.HttpSuccess(w, MemberDataPayload{ + ID: member.ID(), + Name: member.Name(), + Admin: member.Admin(), + }) } func (h *MembersHandler) membersUpdate(w http.ResponseWriter, r *http.Request) { + data := &MemberDataPayload{} + if !utils.HttpJsonRequest(w, r, data) { + return + } + member := GetMember(r) - utils.HttpSuccess(w, "Your name is " + member.Name() + ".") + utils.HttpSuccess(w, MemberDataPayload{ + ID: member.ID(), + Name: member.Name(), + Admin: member.Admin(), + }) } func (h *MembersHandler) membersDelete(w http.ResponseWriter, r *http.Request) { member := GetMember(r) - utils.HttpSuccess(w, "Your name is " + member.Name() + ".") + utils.HttpSuccess(w, MemberDataPayload{ + ID: member.ID(), + Name: member.Name(), + Admin: member.Admin(), + }) }