this repo has no description
at main 41 lines 1.1 kB view raw
1package server 2 3import ( 4 "errors" 5 "net/http" 6 7 "github.com/labstack/echo/v4" 8) 9 10var ( 11 ErrDatabaseNotFound = errors.New("not found") 12 ErrInternalServerErr = echo.NewHTTPError(http.StatusInternalServerError, "internal server error") 13 ErrInvalidInput = echo.NewHTTPError(http.StatusBadRequest, "invalid input") 14 ErrNotFound = echo.NewHTTPError(http.StatusNotFound, "not found") 15 ErrUnauthorized = echo.NewHTTPError(http.StatusUnauthorized, "unauthorized") 16) 17 18type ValidationError struct { 19 Field string `json:"field"` 20 Message string `json:"message"` 21} 22 23type ValidationErrors struct { 24 Errors []ValidationError `json:"errors"` 25} 26 27func (v ValidationErrors) Error() string { 28 return "validation failed" 29} 30 31func NewValidationError(field, message string) *echo.HTTPError { 32 return echo.NewHTTPError(http.StatusBadRequest, ValidationErrors{ 33 Errors: []ValidationError{{Field: field, Message: message}}, 34 }) 35} 36 37func NewValidationErrors(errors ...ValidationError) *echo.HTTPError { 38 return echo.NewHTTPError(http.StatusBadRequest, ValidationErrors{ 39 Errors: errors, 40 }) 41}