apperr.go 442 B

1234567891011121314151617181920212223242526272829
  1. package apperr
  2. import "errors"
  3. type Error struct {
  4. Status int `json:"-"`
  5. Code string `json:"code"`
  6. Message string `json:"message"`
  7. }
  8. func (e *Error) Error() string {
  9. return e.Message
  10. }
  11. func New(status int, code, message string) *Error {
  12. return &Error{
  13. Status: status,
  14. Code: code,
  15. Message: message,
  16. }
  17. }
  18. func From(err error) *Error {
  19. var appErr *Error
  20. if errors.As(err, &appErr) {
  21. return appErr
  22. }
  23. return nil
  24. }