package api
|
|
|
|
import (
|
|
"net/http"
|
|
|
|
"git.brettb.xyz/goinv/server/internal/types"
|
|
"github.com/go-chi/render"
|
|
)
|
|
|
|
var errNotFound = &types.APIError{
|
|
Response: &types.Response{
|
|
HTTPStatusCode: http.StatusNotFound,
|
|
},
|
|
Messages: []string{"resource not found"},
|
|
}
|
|
|
|
var errUnprocessable = &types.APIError{
|
|
Response: &types.Response{
|
|
HTTPStatusCode: http.StatusUnprocessableEntity,
|
|
},
|
|
Messages: []string{"unable to process"},
|
|
}
|
|
|
|
func errBadRequest(err error) render.Renderer {
|
|
return &types.APIError{
|
|
Response: &types.Response{
|
|
HTTPStatusCode: http.StatusBadRequest,
|
|
},
|
|
Err: err,
|
|
Messages: []string{"bad request"},
|
|
}
|
|
}
|
|
|
|
func errRender(err error) render.Renderer {
|
|
return &types.APIError{
|
|
Response: &types.Response{
|
|
HTTPStatusCode: http.StatusUnprocessableEntity,
|
|
},
|
|
Err: err,
|
|
Messages: []string{"error rendering response"},
|
|
}
|
|
}
|
|
|
|
func errUnauthorized(err error) render.Renderer {
|
|
return &types.APIError{
|
|
Response: &types.Response{
|
|
HTTPStatusCode: http.StatusUnauthorized,
|
|
},
|
|
Err: err,
|
|
Messages: []string{"unauthorized"},
|
|
}
|
|
}
|