package errors import ( "gitea.pena/PenaSide/treasurer/internal/models" "github.com/gofiber/fiber/v2" ) const defaultHTTPCode = fiber.StatusInternalServerError var httpStatuses = map[ErrorType]int{ ErrInternalError: fiber.StatusInternalServerError, ErrInvalidArgs: fiber.StatusBadRequest, ErrNoAccess: fiber.StatusForbidden, ErrNotFound: fiber.StatusNotFound, ErrMethodNotImplemented: fiber.StatusNotImplemented, ErrConflict: fiber.StatusConflict, ErrInsufficientFunds: fiber.StatusPaymentRequired, } func HTTP(ctx *fiber.Ctx, err Error) error { status, ok := httpStatuses[err.Type()] if !ok { status = defaultHTTPCode } return ctx.Status(status).JSON(models.ResponseErrorHTTP{ StatusCode: status, Message: err.Error(), }) }