36 lines
708 B
Go
36 lines
708 B
Go
package api
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"github.com/go-chi/render"
|
|
)
|
|
|
|
func NewMessageResponse(message *Message) *MessageResponse {
|
|
resp := &MessageResponse{Message: message}
|
|
|
|
if resp.User == nil {
|
|
if user, _ := dbGetUser(resp.UserID); user != nil {
|
|
resp.User = NewUserPayloadResponse(user)
|
|
}
|
|
}
|
|
|
|
return resp
|
|
}
|
|
|
|
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}
|
|
}
|