list all messages
This commit is contained in:
@@ -33,6 +33,7 @@ func Start() {
|
||||
})
|
||||
|
||||
r.Route("/messages", func(r chi.Router) {
|
||||
r.Get("/", ListMessages)
|
||||
r.Route("/{messageID}", func(r chi.Router) {
|
||||
r.Use(MessageCtx) // Load message
|
||||
r.Get("/", GetMessage)
|
||||
|
@@ -42,6 +42,13 @@ func GetMessage(w http.ResponseWriter, r *http.Request) {
|
||||
|
||||
}
|
||||
|
||||
func ListMessages(w http.ResponseWriter, r *http.Request) {
|
||||
if err := render.RenderList(w, r, NewMessageListResponse(messages)); err != nil {
|
||||
render.Render(w, r, ErrRender(err))
|
||||
return
|
||||
}
|
||||
}
|
||||
|
||||
type messageKey struct{}
|
||||
|
||||
type Message struct {
|
||||
|
@@ -1,6 +1,10 @@
|
||||
package api
|
||||
|
||||
import "net/http"
|
||||
import (
|
||||
"net/http"
|
||||
|
||||
"github.com/go-chi/render"
|
||||
)
|
||||
|
||||
func NewMessageResponse(message *Message) *MessageResponse {
|
||||
resp := &MessageResponse{Message: message}
|
||||
@@ -18,6 +22,14 @@ func (mr *MessageResponse) Render(w http.ResponseWriter, r *http.Request) error
|
||||
return nil
|
||||
}
|
||||
|
||||
func NewMessageListResponse(messages []*Message) []render.Renderer {
|
||||
list := []render.Renderer{}
|
||||
for _, message := range messages {
|
||||
list = append(list, NewMessageResponse(message))
|
||||
}
|
||||
return list
|
||||
}
|
||||
|
||||
func NewUserPayloadResponse(user *User) *UserPayload {
|
||||
return &UserPayload{User: user}
|
||||
}
|
||||
|
Reference in New Issue
Block a user