From d0ff0eeadf134b5744990b445743b809bb207d92 Mon Sep 17 00:00:00 2001 From: madipo2611 Date: Tue, 5 Aug 2025 11:13:58 +0300 Subject: [PATCH] =?UTF-8?q?v0.0.12=20=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D0=B5=D0=BD=20avatar=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D0=BE=D0=BB?= =?UTF-8?q?=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB=D0=B5=D0=B9,?= =?UTF-8?q?=20=D0=B0=20=D1=82=D0=B0=D0=BA=D0=B6=D0=B5=20=D1=80=D0=B5=D0=B0?= =?UTF-8?q?=D0=BB=D0=B8=D0=B7=D0=BE=D0=B2=D0=B0=D0=BD=20=D1=80=D0=B5=D0=B7?= =?UTF-8?q?=D0=BE=D0=BB=D0=B2=D0=B5=D1=80=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87?= =?UTF-8?q?=D0=B5=D0=BD=D0=B8=D1=8F=20=D0=B2=D1=81=D0=B5=D1=85=20=D0=BF?= =?UTF-8?q?=D0=BE=D0=BB=D1=8C=D0=B7=D0=BE=D0=B2=D0=B0=D1=82=D0=B5=D0=BB?= =?UTF-8?q?=D0=B5=D0=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- internal/http/graph/user_resolvers.go | 4 +++- internal/repository/user_repository.go | 7 ++++--- internal/service/user_service.go | 6 +++--- 3 files changed, 10 insertions(+), 7 deletions(-) diff --git a/internal/http/graph/user_resolvers.go b/internal/http/graph/user_resolvers.go index 3806a73..5b9d748 100644 --- a/internal/http/graph/user_resolvers.go +++ b/internal/http/graph/user_resolvers.go @@ -112,7 +112,9 @@ func (r *mutationResolver) Login(ctx context.Context, input domain.LoginInput) ( // Users is the resolver for the users field. func (r *queryResolver) Users(ctx context.Context) ([]*domain.User, error) { - users, err := r.Services.User.GetAll(ctx) + userID, err := getUserIDFromContext(ctx) + + users, err := r.Services.User.GetAll(ctx, userID) if err != nil { return nil, fmt.Errorf("failed to get users: %w", err) } diff --git a/internal/repository/user_repository.go b/internal/repository/user_repository.go index 4949b2a..52e8086 100644 --- a/internal/repository/user_repository.go +++ b/internal/repository/user_repository.go @@ -15,7 +15,7 @@ var ( type UserRepository interface { Create(ctx context.Context, user *domain.User) error GetByID(ctx context.Context, id int) (*domain.User, error) - GetAll(ctx context.Context) ([]*domain.User, error) + GetAll(ctx context.Context, id int) ([]*domain.User, error) GetByEmail(ctx context.Context, email string) (*domain.User, error) GetByConfirmationToken(ctx context.Context, token string) (*domain.User, error) Update(ctx context.Context, user *domain.User) error @@ -188,13 +188,14 @@ func (r *userRepository) Delete(ctx context.Context, id int) error { return err } -func (r *userRepository) GetAll(ctx context.Context) ([]*domain.User, error) { +func (r *userRepository) GetAll(ctx context.Context, id int) ([]*domain.User, error) { query := ` SELECT id, username, avatar FROM users + WHERE id != $1 ` - rows, err := r.db.QueryContext(ctx, query) + rows, err := r.db.QueryContext(ctx, query, id) if err != nil { return nil, err } diff --git a/internal/service/user_service.go b/internal/service/user_service.go index ee86cdd..b02152c 100644 --- a/internal/service/user_service.go +++ b/internal/service/user_service.go @@ -11,7 +11,7 @@ import ( type UserService interface { GetByID(ctx context.Context, id int) (*domain.User, error) - GetAll(ctx context.Context) ([]*domain.User, error) + GetAll(ctx context.Context, id int) ([]*domain.User, error) GetByEmail(ctx context.Context, email string) (*domain.User, error) UpdateProfile(ctx context.Context, id int, username, email, avatar string) (*domain.User, error) ChangePassword(ctx context.Context, id int, oldPassword, newPassword string) error @@ -99,8 +99,8 @@ func (s *userService) ChangePassword(ctx context.Context, id int, oldPassword, n return s.userRepo.Update(ctx, user) } -func (s *userService) GetAll(ctx context.Context) ([]*domain.User, error) { - users, err := s.userRepo.GetAll(ctx) +func (s *userService) GetAll(ctx context.Context, id int) ([]*domain.User, error) { + users, err := s.userRepo.GetAll(ctx, id) if err != nil { return nil, err }