package types import ( "net/http" "github.com/go-chi/render" ) type Response struct { HTTPStatusCode int `json:"status"` } func (r *Response) Render(w http.ResponseWriter, req *http.Request) error { render.Status(req, r.HTTPStatusCode) return nil } type APIVersion struct { Major int `json:"major"` Minor int `json:"minor"` Patch int `json:"patch"` } type IndexResponse struct { *Response Version APIVersion `json:"version"` } type CountResponse struct { *Response Count int64 `json:"count"` } type APIError struct { *Response Err error `json:"-"` Messages []string `json:"messages"` } func NewAPIError(status int, messages ...string) *APIError { return &APIError{ Response: &Response{ HTTPStatusCode: status, }, Err: nil, Messages: messages, } }