From ade7be7f1bb3a844f39a032e563b98357f693fb1 Mon Sep 17 00:00:00 2001 From: itsscb Date: Fri, 6 Oct 2023 00:37:33 +0200 Subject: [PATCH 1/2] rf/normalizes error responses --- bff/gapi/rpc_create_account.go | 2 +- bff/gapi/rpc_create_person.go | 6 +++++- bff/gapi/rpc_get_account.go | 6 +++++- bff/gapi/rpc_list_accounts.go | 6 +++++- bff/gapi/rpc_login.go | 2 +- bff/gapi/rpc_update_account.go | 2 +- 6 files changed, 18 insertions(+), 6 deletions(-) diff --git a/bff/gapi/rpc_create_account.go b/bff/gapi/rpc_create_account.go index 1ff6891..901a6fb 100644 --- a/bff/gapi/rpc_create_account.go +++ b/bff/gapi/rpc_create_account.go @@ -48,7 +48,7 @@ func (server *Server) CreateAccount(ctx context.Context, req *pb.CreateAccountRe account, err := server.store.CreateAccountTx(ctx, arg) if err != nil { - return nil, status.Errorf(codes.Internal, "failed to create account: %s", err) + return nil, status.Error(codes.Internal, "failed to create account") } rsp := &pb.CreateAccountResponse{ diff --git a/bff/gapi/rpc_create_person.go b/bff/gapi/rpc_create_person.go index d56ada1..ba0fee4 100644 --- a/bff/gapi/rpc_create_person.go +++ b/bff/gapi/rpc_create_person.go @@ -2,6 +2,7 @@ package gapi import ( "context" + "database/sql" "errors" db "github.com/itsscb/df/bff/db/sqlc" @@ -25,6 +26,9 @@ func (server *Server) CreatePerson(ctx context.Context, req *pb.CreatePersonRequ account, err := server.store.GetAccount(ctx, req.GetAccountId()) if err != nil { + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Errorf(codes.NotFound, "account not found") + } return nil, status.Error(codes.NotFound, "failed to get account") } @@ -49,7 +53,7 @@ func (server *Server) CreatePerson(ctx context.Context, req *pb.CreatePersonRequ person, err := server.store.CreatePersonTx(ctx, arg) if err != nil { - return nil, status.Errorf(codes.Internal, "failed to create person: %s", err) + return nil, status.Errorf(codes.Internal, "failed to create person") } rsp := &pb.CreatePersonResponse{ diff --git a/bff/gapi/rpc_get_account.go b/bff/gapi/rpc_get_account.go index f978003..5fde0bc 100644 --- a/bff/gapi/rpc_get_account.go +++ b/bff/gapi/rpc_get_account.go @@ -2,6 +2,7 @@ package gapi import ( "context" + "database/sql" "errors" "github.com/itsscb/df/bff/pb" @@ -23,7 +24,10 @@ func (server *Server) GetAccount(ctx context.Context, req *pb.GetAccountRequest) account, err := server.store.GetAccount(ctx, req.GetId()) if err != nil { - return nil, status.Error(codes.NotFound, "failed to get account") + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Errorf(codes.NotFound, "account not found") + } + return nil, status.Error(codes.Internal, "failed to get account") } if authPayload.Email != account.Email { diff --git a/bff/gapi/rpc_list_accounts.go b/bff/gapi/rpc_list_accounts.go index 846d6e2..aec09c1 100644 --- a/bff/gapi/rpc_list_accounts.go +++ b/bff/gapi/rpc_list_accounts.go @@ -2,6 +2,7 @@ package gapi import ( "context" + "database/sql" "errors" db "github.com/itsscb/df/bff/db/sqlc" @@ -29,7 +30,10 @@ func (server *Server) ListAccounts(ctx context.Context, req *pb.ListAccountsRequ dbAccounts, err := server.store.ListAccounts(ctx, arg) if err != nil { - return nil, status.Error(codes.NotFound, "failed to get account") + if errors.Is(err, sql.ErrNoRows) { + return nil, status.Error(codes.NotFound, "no accounts found") + } + return nil, status.Error(codes.NotFound, "failed to get accounts") } if !server.isAdmin(ctx, authPayload) { diff --git a/bff/gapi/rpc_login.go b/bff/gapi/rpc_login.go index dced26a..5e2199e 100644 --- a/bff/gapi/rpc_login.go +++ b/bff/gapi/rpc_login.go @@ -27,7 +27,7 @@ func (server *Server) Login(ctx context.Context, req *pb.LoginRequest) (*pb.Logi return nil, status.Error(codes.NotFound, "account not found") } - return nil, status.Error(codes.Internal, "failed to find account") + return nil, status.Error(codes.Internal, "failed to get account") } err = util.CheckPassword(req.GetPassword(), account.Passwordhash) diff --git a/bff/gapi/rpc_update_account.go b/bff/gapi/rpc_update_account.go index 1a304f2..0cce5c5 100644 --- a/bff/gapi/rpc_update_account.go +++ b/bff/gapi/rpc_update_account.go @@ -25,7 +25,7 @@ func (server *Server) UpdateAccount(ctx context.Context, req *pb.UpdateAccountRe return nil, invalidArgumentError(violations) } - if authPayload.Email != req.GetEmail() && !server.isAdmin(ctx, authPayload) { + if authPayload.Email != req.GetEmail() { if !server.isAdmin(ctx, authPayload) { return nil, status.Error(codes.NotFound, "account not found") } From 273b0119237a3d27552afd2f50d0c76eb3ed57e5 Mon Sep 17 00:00:00 2001 From: itsscb Date: Fri, 6 Oct 2023 00:37:47 +0200 Subject: [PATCH 2/2] ft/adds count_lines to Makefile --- Makefile | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index 49ca884..2e7d27d 100644 --- a/Makefile +++ b/Makefile @@ -86,4 +86,7 @@ proto: evans: evans --host localhost --port 9090 --package pb -r repl -.PHONY: postgres migratenew createdb dropdb migrateup migratedown sqlc sqlcinit test server backend_build backend backend-stop reset_docker proto evans +count_lines: + cloc --exclude-dir=.history,.git . + +.PHONY: postgres migratenew createdb dropdb migrateup migratedown sqlc sqlcinit test server backend_build backend backend-stop reset_docker proto evans count_lines