Skip to content

Commit

Permalink
Implemented Update
Browse files Browse the repository at this point in the history
  • Loading branch information
artemzi committed Sep 18, 2024
1 parent 3963cec commit 533ff50
Show file tree
Hide file tree
Showing 6 changed files with 61 additions and 13 deletions.
22 changes: 22 additions & 0 deletions internal/api/user/update.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
package user

import (
"context"
"log"

"github.com/artemzi/auth/internal/mapper"
desc "github.com/artemzi/auth/pkg/user_v1"
"google.golang.org/protobuf/types/known/emptypb"
)

func (i *Implementation) Update(ctx context.Context, req *desc.UpdateRequest) (*emptypb.Empty, error) {
err := i.userService.Update(ctx, mapper.ToUserFromUpdateDesc(req))
if err != nil {
return nil, err
}

log.Printf("updated user with id: %d", req.GetId())

out := new(emptypb.Empty)
return out, nil
}
10 changes: 10 additions & 0 deletions internal/mapper/user.go
Original file line number Diff line number Diff line change
Expand Up @@ -40,3 +40,13 @@ func ToUserInfoFromDesc(info *desc.UserInfo) *model.UserInfo {
Role: info.Role.Enum().String(),
}
}

func ToUserFromUpdateDesc(req *desc.UpdateRequest) *model.User {
return &model.User{
ID: req.Id,
Info: model.UserInfo{
Name: req.Info.Name.Value,
Email: req.Info.Email.Value,
},
}
}
2 changes: 1 addition & 1 deletion internal/repository/repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ import (
type UserRepository interface {
Create(ctx context.Context, info *model.UserInfo) (int64, error)
Get(ctx context.Context, id int64) (*model.User, error)
// Update(ctx context.Context, info *model.User) error
Update(ctx context.Context, info *model.User) error
Delete(ctx context.Context, id int64) error
}
22 changes: 11 additions & 11 deletions internal/repository/user/repository.go
Original file line number Diff line number Diff line change
Expand Up @@ -82,20 +82,20 @@ func (r *repo) Get(ctx context.Context, id int64) (*model.User, error) {
return mapper.ToUserFromEntity(&user), nil
}

// func (s *repo) Update(ctx context.Context, req *desc.UpdateRequest) (*emptypb.Empty, error) {
// query := "UPDATE \"user\" SET name = $1, email = $2 WHERE id = $3;"
func (r *repo) Update(ctx context.Context, user *model.User) error {
query := "UPDATE \"user\" SET name = $1, email = $2 WHERE id = $3;"

// _, err := s.pool.Exec(ctx, query, req.GetInfo().GetName().Value, req.GetInfo().GetEmail().Value, req.GetId())
// if err != nil {
// log.Errorf("failed to UPDATE user: %v", err)
// return nil, err
// }
q := db.Query{Name: "user_repository.Update", QueryRaw: query}

// log.WithContext(ctx).Info(color.GreenString("Updated User id: "), req.GetId())
// out := new(emptypb.Empty)
_, err := r.db.DB().ExecContext(ctx, q, user.Info.Name, user.Info.Email, user.ID)
if err != nil {
log.Errorf("failed to UPDATE user: %v", err)
return err
}

// return out, nil
// }
log.WithContext(ctx).Info(color.GreenString("Updated User id: "), user.ID)
return nil
}

func (r *repo) Delete(ctx context.Context, id int64) error {
query := "DELETE FROM \"user\" WHERE id = $1;"
Expand Down
2 changes: 1 addition & 1 deletion internal/service/service.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,6 @@ import (
type UserService interface {
Create(ctx context.Context, info *model.UserInfo) (int64, error)
Get(ctx context.Context, id int64) (*model.User, error)
// Update(ctx context.Context, info *model.User) error
Update(ctx context.Context, info *model.User) error
Delete(ctx context.Context, id int64) error
}
16 changes: 16 additions & 0 deletions internal/service/user/update.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package user

import (
"context"

"github.com/artemzi/auth/internal/model"
)

func (s *serv) Update(ctx context.Context, user *model.User) error {
err := s.userRepository.Update(ctx, user)
if err != nil {
return err
}

return nil
}

0 comments on commit 533ff50

Please sign in to comment.