From 011248437528e0c52419c371a2a34a1c66048b75 Mon Sep 17 00:00:00 2001 From: Masahiko AMANO Date: Sat, 18 Jan 2025 19:01:22 +0300 Subject: [PATCH] fix(db): fix error handling in person get func --- internal/db/persons.go | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/internal/db/persons.go b/internal/db/persons.go index de05d51..736bf79 100644 --- a/internal/db/persons.go +++ b/internal/db/persons.go @@ -110,11 +110,13 @@ func PersonGet(ctx context.Context, user_id, person_id string) (person models.Pe row := connPool.QueryRow(ctx, "SELECT id, name, COALESCE(sort_name, ''), COALESCE(TO_CHAR(birthdate, 'YYYY-MM-DD'), ''), COALESCE(TO_CHAR(deathdate, 'YYYY-MM-DD'), ''), COALESCE(info, '') FROM persons WHERE id=$1", person_id) err = row.Scan(&person.ID, &person.Name, &person.SortName, &person.Birthdate, &person.Deathdate, &person.Deathdate) if err != nil { - pgErr := err.(*pgconn.PgError) if err == pgx.ErrNoRows { err = fmt.Errorf("not found") statusCode = http.StatusNotFound - } else if pgErr.Code == "22P02" || pgErr.Code == "22007" { + return + } + pgErr := err.(*pgconn.PgError) + if pgErr.Code == "22P02" || pgErr.Code == "22007" { err = fmt.Errorf("%s", pgErr.Message) statusCode = http.StatusBadRequest } else {