package client import ( "context" userv1 "hyapp/api/proto/user/v1" "google.golang.org/grpc" ) // UserAuthClient 抽象 gateway 对 user-service 登录注册能力的依赖。 type UserAuthClient interface { LoginPassword(ctx context.Context, req *userv1.LoginPasswordRequest) (*userv1.AuthResponse, error) LoginThirdParty(ctx context.Context, req *userv1.LoginThirdPartyRequest) (*userv1.AuthResponse, error) SetPassword(ctx context.Context, req *userv1.SetPasswordRequest) (*userv1.SetPasswordResponse, error) RefreshToken(ctx context.Context, req *userv1.RefreshTokenRequest) (*userv1.RefreshTokenResponse, error) Logout(ctx context.Context, req *userv1.LogoutRequest) (*userv1.LogoutResponse, error) } // UserIdentityClient 抽象 gateway 对 user-service 短号能力的依赖。 type UserIdentityClient interface { GetUserIdentity(ctx context.Context, req *userv1.GetUserIdentityRequest) (*userv1.GetUserIdentityResponse, error) ResolveDisplayUserID(ctx context.Context, req *userv1.ResolveDisplayUserIDRequest) (*userv1.ResolveDisplayUserIDResponse, error) ChangeDisplayUserID(ctx context.Context, req *userv1.ChangeDisplayUserIDRequest) (*userv1.ChangeDisplayUserIDResponse, error) ApplyPrettyDisplayUserID(ctx context.Context, req *userv1.ApplyPrettyDisplayUserIDRequest) (*userv1.ApplyPrettyDisplayUserIDResponse, error) } type grpcUserAuthClient struct { client userv1.AuthServiceClient } type grpcUserIdentityClient struct { client userv1.UserIdentityServiceClient } // NewGRPCUserAuthClient 用 gRPC 连接构造 user-service auth client。 func NewGRPCUserAuthClient(conn *grpc.ClientConn) UserAuthClient { return &grpcUserAuthClient{ client: userv1.NewAuthServiceClient(conn), } } // NewGRPCUserIdentityClient 用 gRPC 连接构造 user-service 短号 client。 func NewGRPCUserIdentityClient(conn *grpc.ClientConn) UserIdentityClient { return &grpcUserIdentityClient{ client: userv1.NewUserIdentityServiceClient(conn), } } func (c *grpcUserAuthClient) LoginPassword(ctx context.Context, req *userv1.LoginPasswordRequest) (*userv1.AuthResponse, error) { return c.client.LoginPassword(ctx, req) } func (c *grpcUserAuthClient) LoginThirdParty(ctx context.Context, req *userv1.LoginThirdPartyRequest) (*userv1.AuthResponse, error) { return c.client.LoginThirdParty(ctx, req) } func (c *grpcUserAuthClient) SetPassword(ctx context.Context, req *userv1.SetPasswordRequest) (*userv1.SetPasswordResponse, error) { return c.client.SetPassword(ctx, req) } func (c *grpcUserAuthClient) RefreshToken(ctx context.Context, req *userv1.RefreshTokenRequest) (*userv1.RefreshTokenResponse, error) { return c.client.RefreshToken(ctx, req) } func (c *grpcUserAuthClient) Logout(ctx context.Context, req *userv1.LogoutRequest) (*userv1.LogoutResponse, error) { return c.client.Logout(ctx, req) } func (c *grpcUserIdentityClient) GetUserIdentity(ctx context.Context, req *userv1.GetUserIdentityRequest) (*userv1.GetUserIdentityResponse, error) { return c.client.GetUserIdentity(ctx, req) } func (c *grpcUserIdentityClient) ResolveDisplayUserID(ctx context.Context, req *userv1.ResolveDisplayUserIDRequest) (*userv1.ResolveDisplayUserIDResponse, error) { return c.client.ResolveDisplayUserID(ctx, req) } func (c *grpcUserIdentityClient) ChangeDisplayUserID(ctx context.Context, req *userv1.ChangeDisplayUserIDRequest) (*userv1.ChangeDisplayUserIDResponse, error) { return c.client.ChangeDisplayUserID(ctx, req) } func (c *grpcUserIdentityClient) ApplyPrettyDisplayUserID(ctx context.Context, req *userv1.ApplyPrettyDisplayUserIDRequest) (*userv1.ApplyPrettyDisplayUserIDResponse, error) { return c.client.ApplyPrettyDisplayUserID(ctx, req) }