Some checks failed
Build Docker Image / Build-Docker-Image (push) Failing after 3m55s
31 lines
769 B
Go
31 lines
769 B
Go
package handler
|
|
|
|
import (
|
|
"errors"
|
|
"net/http"
|
|
"spend-sparrow/service"
|
|
"spend-sparrow/utils"
|
|
"strings"
|
|
)
|
|
|
|
func handleError(w http.ResponseWriter, r *http.Request, err error) {
|
|
if errors.Is(err, service.ErrUnauthorized) {
|
|
utils.TriggerToastWithStatus(w, r, "error", "You are not autorized to perform this operation.", http.StatusUnauthorized)
|
|
return
|
|
} else if errors.Is(err, service.ErrBadRequest) {
|
|
utils.TriggerToastWithStatus(w, r, "error", extractErrorMessage(err), http.StatusBadRequest)
|
|
return
|
|
}
|
|
|
|
utils.TriggerToastWithStatus(w, r, "error", "Internal Server Error", http.StatusInternalServerError)
|
|
}
|
|
|
|
func extractErrorMessage(err error) string {
|
|
errMsg := err.Error()
|
|
if errMsg == "" {
|
|
return ""
|
|
}
|
|
|
|
return strings.SplitN(errMsg, ":", 2)[0]
|
|
}
|