chore: better error handling

Signed-off-by: Shivanshu Raj Shrivastava <shivanshu1333@gmail.com>
This commit is contained in:
Shivanshu Raj Shrivastava 2025-05-29 15:01:54 +05:30
parent 94c7512a6a
commit 26ad89ed70
No known key found for this signature in database
GPG Key ID: D34D26C62AC3E9AE
3 changed files with 13 additions and 14 deletions

View File

@ -196,7 +196,12 @@ func (handler *handler) Get(rw http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r) vars := mux.Vars(r)
funnelID := vars["funnel_id"] funnelID := vars["funnel_id"]
claims, _ := authtypes.ClaimsFromContext(r.Context()) // Ignore error as email is optional claims, err := authtypes.ClaimsFromContext(r.Context())
if err != nil {
render.Error(rw, err)
return
}
funnel, err := handler.module.Get(r.Context(), valuer.MustNewUUID(funnelID), valuer.MustNewUUID(claims.OrgID)) funnel, err := handler.module.Get(r.Context(), valuer.MustNewUUID(funnelID), valuer.MustNewUUID(claims.OrgID))
if err != nil { if err != nil {
@ -213,7 +218,12 @@ func (handler *handler) Delete(rw http.ResponseWriter, r *http.Request) {
vars := mux.Vars(r) vars := mux.Vars(r)
funnelID := vars["funnel_id"] funnelID := vars["funnel_id"]
claims, _ := authtypes.ClaimsFromContext(r.Context()) claims, err := authtypes.ClaimsFromContext(r.Context())
if err != nil {
render.Error(rw, err)
return
}
if err := handler.module.Delete(r.Context(), valuer.MustNewUUID(funnelID), valuer.MustNewUUID(claims.OrgID)); err != nil { if err := handler.module.Delete(r.Context(), valuer.MustNewUUID(funnelID), valuer.MustNewUUID(claims.OrgID)); err != nil {
render.Error(rw, errors.Newf(errors.TypeInvalidInput, render.Error(rw, errors.Newf(errors.TypeInvalidInput,

View File

@ -2,7 +2,6 @@ package tracefunneltypes
import ( import (
"fmt" "fmt"
"net/http"
"sort" "sort"
"time" "time"
@ -87,16 +86,6 @@ func NormalizeFunnelSteps(steps []*FunnelStep) []*FunnelStep {
return newSteps return newSteps
} }
func GetClaims(r *http.Request) (*authtypes.Claims, error) {
claims, err := authtypes.ClaimsFromContext(r.Context())
if err != nil {
return nil, errors.Newf(errors.TypeInvalidInput,
errors.CodeInvalidInput,
"unauthenticated")
}
return &claims, nil
}
func ValidateAndConvertTimestamp(timestamp int64) (time.Time, error) { func ValidateAndConvertTimestamp(timestamp int64) (time.Time, error) {
if err := ValidateTimestamp(timestamp, "timestamp"); err != nil { if err := ValidateTimestamp(timestamp, "timestamp"); err != nil {
return time.Time{}, errors.Newf(errors.TypeInvalidInput, return time.Time{}, errors.Newf(errors.TypeInvalidInput,

View File

@ -408,7 +408,7 @@ func TestGetClaims(t *testing.T) {
req := httptest.NewRequest("GET", "/", nil) req := httptest.NewRequest("GET", "/", nil)
tt.setup(req) tt.setup(req)
claims, err := GetClaims(req) claims, err := authtypes.ClaimsFromContext(req.Context())
if tt.expectError { if tt.expectError {
assert.Error(t, err) assert.Error(t, err)
assert.Nil(t, claims) assert.Nil(t, claims)