diff --git a/internal/service/user/user_service.go b/internal/service/user/user_service.go index e04f238..711d151 100644 --- a/internal/service/user/user_service.go +++ b/internal/service/user/user_service.go @@ -8,7 +8,6 @@ import ( "taskflow/internal/domain/user" "taskflow/internal/dto" "taskflow/internal/repository/gorm/gorm_user" - "taskflow/pkg" "taskflow/pkg/jwt" "taskflow/pkg/validator" @@ -17,11 +16,12 @@ import ( ) type UserService struct { - repo gorm_user.UserRepositoryInterface + repo gorm_user.UserRepositoryInterface + jwtSecret []byte } -func NewUserService(repo gorm_user.UserRepositoryInterface) *UserService { - return &UserService{repo: repo} +func NewUserService(repo gorm_user.UserRepositoryInterface, jwtSecret string) *UserService { + return &UserService{repo: repo, jwtSecret: []byte(jwtSecret)} } var _ UserServiceInterface = (*UserService)(nil) @@ -80,7 +80,7 @@ func (s *UserService) AuthenticateUser(req *dto.AuthRequest) (*dto.AuthResponse, return nil, errors.New("invalid credentials") } - secretKey := []byte(pkg.GetEnv("JWT_SECRET", "secret-key")) + secretKey := s.jwtSecret token, err := jwt.CreateToken(u.ID, u.Email, secretKey) if err != nil { return nil, fmt.Errorf("failed to create token: %w", err) diff --git a/internal/service/user/user_service_test.go b/internal/service/user/user_service_test.go index 51b134a..ed2e471 100644 --- a/internal/service/user/user_service_test.go +++ b/internal/service/user/user_service_test.go @@ -46,7 +46,8 @@ func TestCreateUser(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { mockRepo := new(gorm_user.MockUserRepository) - svc := NewUserService(mockRepo) + secretKey := []byte("secret") + svc := NewUserService(mockRepo, string(secretKey)) if tt.mockSetup != nil { tt.mockSetup(mockRepo) @@ -97,7 +98,8 @@ func TestAuthenticateUser(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { mockRepo := new(gorm_user.MockUserRepository) - svc := NewUserService(mockRepo) + secretKey := []byte("secret") + svc := NewUserService(mockRepo, string(secretKey)) if tt.mockSetup != nil { tt.mockSetup(mockRepo) @@ -165,7 +167,8 @@ func TestUpdatePassword(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { mockRepo := new(gorm_user.MockUserRepository) - svc := NewUserService(mockRepo) + secretKey := []byte("secret") + svc := NewUserService(mockRepo, string(secretKey)) if tt.mockSetup != nil { tt.mockSetup(mockRepo) @@ -209,7 +212,8 @@ func TestDeleteUser(t *testing.T) { for _, tt := range tests { t.Run(tt.name, func(t *testing.T) { mockRepo := new(gorm_user.MockUserRepository) - svc := NewUserService(mockRepo) + secretKey := []byte("secret") + svc := NewUserService(mockRepo, string(secretKey)) if tt.mockSetup != nil { tt.mockSetup(mockRepo) diff --git a/main.go b/main.go index be12d06..0be0674 100644 --- a/main.go +++ b/main.go @@ -50,7 +50,7 @@ func main() { taskRepo := gorm_task.NewTaskRepository(db) taskSvc := task_service.NewTaskService(taskRepo) userRepo := gorm_user.NewUserRepository(db) - userSvc := user_service.NewUserService(userRepo) + userSvc := user_service.NewUserService(userRepo, string(secretKey)) userAuth := auth.NewUserAuth(string(secretKey), userRepo)