From 8fb0fe7fb5cf72b4dd00943d89558d809efdd624 Mon Sep 17 00:00:00 2001 From: johnnyjoy Date: Sun, 22 Sep 2024 14:24:06 +0800 Subject: [PATCH] fix: golangci linter --- .github/workflows/backend-tests.yml | 2 +- server/route/api/v1/auth_service.go | 48 ++++++++++++++--------------- 2 files changed, 25 insertions(+), 25 deletions(-) diff --git a/.github/workflows/backend-tests.yml b/.github/workflows/backend-tests.yml index 7618b11..3ab7189 100644 --- a/.github/workflows/backend-tests.yml +++ b/.github/workflows/backend-tests.yml @@ -25,7 +25,7 @@ jobs: - name: golangci-lint uses: golangci/golangci-lint-action@v6 with: - version: v1.56.1 + version: v1.61.0 args: --verbose --timeout=3m skip-cache: true diff --git a/server/route/api/v1/auth_service.go b/server/route/api/v1/auth_service.go index d3959ec..c047f28 100644 --- a/server/route/api/v1/auth_service.go +++ b/server/route/api/v1/auth_service.go @@ -41,7 +41,7 @@ func (s *APIV1Service) SignIn(ctx context.Context, request *v1pb.SignInRequest) Email: &request.Email, }) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to find user by email %s", request.Email)) + return nil, status.Errorf(codes.Internal, "failed to get user: %v", err) } if user == nil { return nil, status.Errorf(codes.InvalidArgument, unmatchedEmailAndPasswordError) @@ -53,17 +53,17 @@ func (s *APIV1Service) SignIn(ctx context.Context, request *v1pb.SignInRequest) workspaceSecuritySetting, err := s.Store.GetWorkspaceSecuritySetting(ctx) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to get workspace security setting, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to get workspace security setting: %v", err) } if workspaceSecuritySetting.DisallowPasswordAuth && user.Role == store.RoleUser { return nil, status.Errorf(codes.PermissionDenied, "password authentication is not allowed") } if user.RowStatus == storepb.RowStatus_ARCHIVED { - return nil, status.Errorf(codes.PermissionDenied, fmt.Sprintf("user has been archived with email %s", request.Email)) + return nil, status.Errorf(codes.PermissionDenied, "user has been archived") } if err := s.doSignIn(ctx, user, time.Now().Add(AccessTokenDuration)); err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to sign in, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to sign in: %v", err) } return convertUserFromStore(user), nil } @@ -77,7 +77,7 @@ func (s *APIV1Service) SignInWithSSO(ctx context.Context, request *v1pb.SignInWi Key: storepb.WorkspaceSettingKey_WORKSPACE_SETTING_IDENTITY_PROVIDER, }) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to get workspace setting, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to get workspace setting, err: %s", err) } if identityProviderSetting == nil || identityProviderSetting.GetIdentityProvider() == nil { return nil, status.Errorf(codes.InvalidArgument, "identity provider not found") @@ -90,34 +90,34 @@ func (s *APIV1Service) SignInWithSSO(ctx context.Context, request *v1pb.SignInWi } } if identityProvider == nil { - return nil, status.Errorf(codes.InvalidArgument, fmt.Sprintf("identity provider not found with name %s", request.IdpId)) + return nil, status.Errorf(codes.InvalidArgument, "identity provider not found") } var userInfo *idp.IdentityProviderUserInfo if identityProvider.Type == storepb.IdentityProvider_OAUTH2 { oauth2IdentityProvider, err := oauth2.NewIdentityProvider(identityProvider.Config.GetOauth2()) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to create oauth2 identity provider, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to create oauth2 identity provider, err: %s", err) } token, err := oauth2IdentityProvider.ExchangeToken(ctx, request.RedirectUri, request.Code) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to exchange token, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to exchange token, err: %s", err) } userInfo, err = oauth2IdentityProvider.UserInfo(token) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to get user info, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to get user info, err: %s", err) } } email := userInfo.Identifier if !util.ValidateEmail(email) { - return nil, status.Errorf(codes.InvalidArgument, fmt.Sprintf("invalid email %s", email)) + return nil, status.Errorf(codes.InvalidArgument, "invalid email address") } user, err := s.Store.GetUser(ctx, &store.FindUser{ Email: &email, }) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to find user by email %s", email)) + return nil, status.Errorf(codes.Internal, "failed to get user, err: %s", err) } if user == nil { if err := s.checkSeatAvailability(ctx); err != nil { @@ -131,24 +131,24 @@ func (s *APIV1Service) SignInWithSSO(ctx context.Context, request *v1pb.SignInWi } password, err := util.RandomString(20) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to generate random password, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to generate random password, err: %s", err) } passwordHash, err := bcrypt.GenerateFromPassword([]byte(password), bcrypt.DefaultCost) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to generate password hash, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to generate password hash, err: %s", err) } userCreate.PasswordHash = string(passwordHash) user, err = s.Store.CreateUser(ctx, userCreate) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to create user, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to create user, err: %s", err) } } if user.RowStatus == storepb.RowStatus_ARCHIVED { - return nil, status.Errorf(codes.PermissionDenied, fmt.Sprintf("user has been archived with email %s", email)) + return nil, status.Errorf(codes.PermissionDenied, "user has been archived") } if err := s.doSignIn(ctx, user, time.Now().Add(AccessTokenDuration)); err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to sign in, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to sign in, err: %s", err) } return convertUserFromStore(user), nil } @@ -156,7 +156,7 @@ func (s *APIV1Service) SignInWithSSO(ctx context.Context, request *v1pb.SignInWi func (s *APIV1Service) SignUp(ctx context.Context, request *v1pb.SignUpRequest) (*v1pb.User, error) { workspaceSecuritySetting, err := s.Store.GetWorkspaceSecuritySetting(ctx) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to get workspace security setting, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to get workspace security setting: %v", err) } if workspaceSecuritySetting.DisallowUserRegistration { return nil, status.Errorf(codes.PermissionDenied, "sign up is not allowed") @@ -169,7 +169,7 @@ func (s *APIV1Service) SignUp(ctx context.Context, request *v1pb.SignUpRequest) passwordHash, err := bcrypt.GenerateFromPassword([]byte(request.Password), bcrypt.DefaultCost) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to generate password hash, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to generate password hash: %v", err) } create := &store.User{ @@ -179,7 +179,7 @@ func (s *APIV1Service) SignUp(ctx context.Context, request *v1pb.SignUpRequest) } existingUsers, err := s.Store.ListUsers(ctx, &store.FindUser{}) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to list users, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to list users: %v", err) } // The first user to sign up is an admin by default. if len(existingUsers) == 0 { @@ -190,10 +190,10 @@ func (s *APIV1Service) SignUp(ctx context.Context, request *v1pb.SignUpRequest) user, err := s.Store.CreateUser(ctx, create) if err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to create user, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to create user: %v", err) } if err := s.doSignIn(ctx, user, time.Now().Add(AccessTokenDuration)); err != nil { - return nil, status.Errorf(codes.Internal, fmt.Sprintf("failed to sign in, err: %s", err)) + return nil, status.Errorf(codes.Internal, "failed to sign in: %v", err) } return convertUserFromStore(user), nil } @@ -201,10 +201,10 @@ func (s *APIV1Service) SignUp(ctx context.Context, request *v1pb.SignUpRequest) func (s *APIV1Service) doSignIn(ctx context.Context, user *store.User, expireTime time.Time) error { accessToken, err := GenerateAccessToken(user.Email, user.ID, expireTime, []byte(s.Secret)) if err != nil { - return status.Errorf(codes.Internal, fmt.Sprintf("failed to generate tokens, err: %s", err)) + return status.Errorf(codes.Internal, "failed to generate access token: %v", err) } if err := s.UpsertAccessTokenToStore(ctx, user, accessToken, "user login"); err != nil { - return status.Errorf(codes.Internal, fmt.Sprintf("failed to upsert access token to store, err: %s", err)) + return status.Errorf(codes.Internal, "failed to upsert access token to store: %v", err) } cookie := fmt.Sprintf("%s=%s; Path=/; Expires=%s; HttpOnly; SameSite=Strict", AccessTokenCookieName, accessToken, time.Now().Add(AccessTokenDuration).Format(time.RFC1123)) @@ -231,7 +231,7 @@ func (s *APIV1Service) checkSeatAvailability(ctx context.Context) error { if !s.LicenseService.IsFeatureEnabled(license.FeatureTypeUnlimitedAccounts) { userList, err := s.Store.ListUsers(ctx, &store.FindUser{}) if err != nil { - return status.Errorf(codes.Internal, fmt.Sprintf("failed to list users, err: %s", err)) + return status.Errorf(codes.Internal, "failed to list users: %v", err) } seats := s.LicenseService.GetSubscription().Seats if len(userList) >= int(seats) {