package utils import ( ie "58team_blog/internal/application/errors" "58team_blog/internal/interfaces/api/responses" "errors" "log" "net/http" ) func HandleError(err error) responses.ErrorResponse { var errorCode int errorMsg := err.Error() log.Println(err) if errors.Is(&ie.ValidationError{}, err) { errorCode = http.StatusBadRequest } else if errors.Is(&ie.NotFoundError{}, err) { errorCode = http.StatusNotFound } else if errors.Is(&ie.AlreadyExistsError{}, err) { errorCode = http.StatusConflict } else if errors.Is(&ie.DBError{}, err) { errorCode = http.StatusInternalServerError } else { errorCode = http.StatusInternalServerError } return responses.CreateErrorResponse(errorCode, errorMsg) }