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,
|
|
}
|
|
}
|