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.String()); 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 NewUserListResponse(users []*User) []render.Renderer { list := []render.Renderer{} for _, user := range users { list = append(list, NewUserPayloadResponse(user)) } return list } func NewUserPayloadResponse(user *User) *UserPayload { return &UserPayload{User: user} }