310 lines
14 KiB
Go
310 lines
14 KiB
Go
package client
|
|
|
|
import (
|
|
"context"
|
|
|
|
userv1 "hyapp.local/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)
|
|
RecordLoginBlocked(ctx context.Context, req *userv1.RecordLoginBlockedRequest) (*userv1.RecordLoginBlockedResponse, 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)
|
|
}
|
|
|
|
// UserProfileClient 抽象 gateway 对 user-service 用户资料能力的依赖。
|
|
type UserProfileClient interface {
|
|
GetUser(ctx context.Context, req *userv1.GetUserRequest) (*userv1.GetUserResponse, error)
|
|
BusinessUserLookup(ctx context.Context, req *userv1.BusinessUserLookupRequest) (*userv1.BusinessUserLookupResponse, error)
|
|
GetMyProfileStats(ctx context.Context, req *userv1.GetMyProfileStatsRequest) (*userv1.GetMyProfileStatsResponse, error)
|
|
BatchGetUsers(ctx context.Context, req *userv1.BatchGetUsersRequest) (*userv1.BatchGetUsersResponse, error)
|
|
CompleteOnboarding(ctx context.Context, req *userv1.CompleteOnboardingRequest) (*userv1.CompleteOnboardingResponse, error)
|
|
UpdateUserProfile(ctx context.Context, req *userv1.UpdateUserProfileRequest) (*userv1.UpdateUserProfileResponse, error)
|
|
ChangeUserCountry(ctx context.Context, req *userv1.ChangeUserCountryRequest) (*userv1.ChangeUserCountryResponse, error)
|
|
}
|
|
|
|
// UserSocialClient 抽象 gateway 对 user-service 访问、关注和好友关系能力的依赖。
|
|
type UserSocialClient interface {
|
|
RecordProfileVisit(ctx context.Context, req *userv1.RecordProfileVisitRequest) (*userv1.RecordProfileVisitResponse, error)
|
|
ListProfileVisitors(ctx context.Context, req *userv1.ListProfileVisitorsRequest) (*userv1.ListProfileVisitorsResponse, error)
|
|
FollowUser(ctx context.Context, req *userv1.FollowUserRequest) (*userv1.FollowUserResponse, error)
|
|
UnfollowUser(ctx context.Context, req *userv1.UnfollowUserRequest) (*userv1.UnfollowUserResponse, error)
|
|
ListFollowing(ctx context.Context, req *userv1.ListFollowingRequest) (*userv1.ListFollowingResponse, error)
|
|
ApplyFriend(ctx context.Context, req *userv1.ApplyFriendRequest) (*userv1.ApplyFriendResponse, error)
|
|
AcceptFriendApplication(ctx context.Context, req *userv1.AcceptFriendApplicationRequest) (*userv1.AcceptFriendApplicationResponse, error)
|
|
DeleteFriend(ctx context.Context, req *userv1.DeleteFriendRequest) (*userv1.DeleteFriendResponse, error)
|
|
ListFriends(ctx context.Context, req *userv1.ListFriendsRequest) (*userv1.ListFriendsResponse, error)
|
|
ListFriendApplications(ctx context.Context, req *userv1.ListFriendApplicationsRequest) (*userv1.ListFriendApplicationsResponse, error)
|
|
}
|
|
|
|
// UserDeviceClient 抽象 gateway 对 user-service 设备 push token 的依赖。
|
|
type UserDeviceClient interface {
|
|
BindPushToken(ctx context.Context, req *userv1.BindPushTokenRequest) (*userv1.BindPushTokenResponse, error)
|
|
DeletePushToken(ctx context.Context, req *userv1.DeletePushTokenRequest) (*userv1.DeletePushTokenResponse, error)
|
|
}
|
|
|
|
// UserCountryQueryClient 抽象 gateway 对 App 注册页国家列表的公开读依赖。
|
|
type UserCountryQueryClient interface {
|
|
ListRegistrationCountries(ctx context.Context, req *userv1.ListRegistrationCountriesRequest) (*userv1.ListRegistrationCountriesResponse, error)
|
|
}
|
|
|
|
// UserHostClient 抽象 gateway 对 user-service host domain 身份查询能力的依赖。
|
|
type UserHostClient interface {
|
|
GetHostProfile(ctx context.Context, req *userv1.GetHostProfileRequest) (*userv1.GetHostProfileResponse, error)
|
|
GetBDProfile(ctx context.Context, req *userv1.GetBDProfileRequest) (*userv1.GetBDProfileResponse, error)
|
|
GetCoinSellerProfile(ctx context.Context, req *userv1.GetCoinSellerProfileRequest) (*userv1.GetCoinSellerProfileResponse, error)
|
|
GetUserRoleSummary(ctx context.Context, req *userv1.GetUserRoleSummaryRequest) (*userv1.GetUserRoleSummaryResponse, error)
|
|
CheckBusinessCapability(ctx context.Context, req *userv1.CheckBusinessCapabilityRequest) (*userv1.CheckBusinessCapabilityResponse, error)
|
|
}
|
|
|
|
// AppRegistryClient 抽象 gateway 对 user-service App 注册表的解析依赖。
|
|
type AppRegistryClient interface {
|
|
ResolveApp(ctx context.Context, req *userv1.ResolveAppRequest) (*userv1.ResolveAppResponse, error)
|
|
}
|
|
|
|
type grpcUserAuthClient struct {
|
|
client userv1.AuthServiceClient
|
|
}
|
|
|
|
type grpcUserIdentityClient struct {
|
|
client userv1.UserIdentityServiceClient
|
|
}
|
|
|
|
type grpcUserProfileClient struct {
|
|
client userv1.UserServiceClient
|
|
}
|
|
|
|
type grpcUserSocialClient struct {
|
|
client userv1.UserSocialServiceClient
|
|
}
|
|
|
|
type grpcUserDeviceClient struct {
|
|
client userv1.UserDeviceServiceClient
|
|
}
|
|
|
|
type grpcUserCountryQueryClient struct {
|
|
client userv1.CountryQueryServiceClient
|
|
}
|
|
|
|
type grpcUserHostClient struct {
|
|
client userv1.UserHostServiceClient
|
|
}
|
|
|
|
type grpcAppRegistryClient struct {
|
|
client userv1.AppRegistryServiceClient
|
|
}
|
|
|
|
// 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),
|
|
}
|
|
}
|
|
|
|
// NewGRPCUserProfileClient 用 gRPC 连接构造 user-service 资料 client。
|
|
func NewGRPCUserProfileClient(conn *grpc.ClientConn) UserProfileClient {
|
|
return &grpcUserProfileClient{
|
|
client: userv1.NewUserServiceClient(conn),
|
|
}
|
|
}
|
|
|
|
// NewGRPCUserSocialClient 用 gRPC 连接构造 user-service social client。
|
|
func NewGRPCUserSocialClient(conn *grpc.ClientConn) UserSocialClient {
|
|
return &grpcUserSocialClient{
|
|
client: userv1.NewUserSocialServiceClient(conn),
|
|
}
|
|
}
|
|
|
|
// NewGRPCUserDeviceClient 用 gRPC 连接构造 user-service 设备推送 client。
|
|
func NewGRPCUserDeviceClient(conn *grpc.ClientConn) UserDeviceClient {
|
|
return &grpcUserDeviceClient{
|
|
client: userv1.NewUserDeviceServiceClient(conn),
|
|
}
|
|
}
|
|
|
|
// NewGRPCUserCountryQueryClient 用 gRPC 连接构造国家公开查询 client。
|
|
func NewGRPCUserCountryQueryClient(conn *grpc.ClientConn) UserCountryQueryClient {
|
|
return &grpcUserCountryQueryClient{
|
|
client: userv1.NewCountryQueryServiceClient(conn),
|
|
}
|
|
}
|
|
|
|
// NewGRPCUserHostClient 用 gRPC 连接构造 user-service host domain client。
|
|
func NewGRPCUserHostClient(conn *grpc.ClientConn) UserHostClient {
|
|
return &grpcUserHostClient{
|
|
client: userv1.NewUserHostServiceClient(conn),
|
|
}
|
|
}
|
|
|
|
// NewGRPCAppRegistryClient 用 gRPC 连接构造 App 注册表 client。
|
|
func NewGRPCAppRegistryClient(conn *grpc.ClientConn) AppRegistryClient {
|
|
return &grpcAppRegistryClient{
|
|
client: userv1.NewAppRegistryServiceClient(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 *grpcUserAuthClient) RecordLoginBlocked(ctx context.Context, req *userv1.RecordLoginBlockedRequest) (*userv1.RecordLoginBlockedResponse, error) {
|
|
return c.client.RecordLoginBlocked(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)
|
|
}
|
|
|
|
func (c *grpcUserProfileClient) GetUser(ctx context.Context, req *userv1.GetUserRequest) (*userv1.GetUserResponse, error) {
|
|
return c.client.GetUser(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserProfileClient) BusinessUserLookup(ctx context.Context, req *userv1.BusinessUserLookupRequest) (*userv1.BusinessUserLookupResponse, error) {
|
|
return c.client.BusinessUserLookup(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserProfileClient) GetMyProfileStats(ctx context.Context, req *userv1.GetMyProfileStatsRequest) (*userv1.GetMyProfileStatsResponse, error) {
|
|
return c.client.GetMyProfileStats(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserProfileClient) BatchGetUsers(ctx context.Context, req *userv1.BatchGetUsersRequest) (*userv1.BatchGetUsersResponse, error) {
|
|
return c.client.BatchGetUsers(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserProfileClient) CompleteOnboarding(ctx context.Context, req *userv1.CompleteOnboardingRequest) (*userv1.CompleteOnboardingResponse, error) {
|
|
return c.client.CompleteOnboarding(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserProfileClient) UpdateUserProfile(ctx context.Context, req *userv1.UpdateUserProfileRequest) (*userv1.UpdateUserProfileResponse, error) {
|
|
return c.client.UpdateUserProfile(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserProfileClient) ChangeUserCountry(ctx context.Context, req *userv1.ChangeUserCountryRequest) (*userv1.ChangeUserCountryResponse, error) {
|
|
return c.client.ChangeUserCountry(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) RecordProfileVisit(ctx context.Context, req *userv1.RecordProfileVisitRequest) (*userv1.RecordProfileVisitResponse, error) {
|
|
return c.client.RecordProfileVisit(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) ListProfileVisitors(ctx context.Context, req *userv1.ListProfileVisitorsRequest) (*userv1.ListProfileVisitorsResponse, error) {
|
|
return c.client.ListProfileVisitors(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) FollowUser(ctx context.Context, req *userv1.FollowUserRequest) (*userv1.FollowUserResponse, error) {
|
|
return c.client.FollowUser(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) UnfollowUser(ctx context.Context, req *userv1.UnfollowUserRequest) (*userv1.UnfollowUserResponse, error) {
|
|
return c.client.UnfollowUser(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) ListFollowing(ctx context.Context, req *userv1.ListFollowingRequest) (*userv1.ListFollowingResponse, error) {
|
|
return c.client.ListFollowing(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) ApplyFriend(ctx context.Context, req *userv1.ApplyFriendRequest) (*userv1.ApplyFriendResponse, error) {
|
|
return c.client.ApplyFriend(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) AcceptFriendApplication(ctx context.Context, req *userv1.AcceptFriendApplicationRequest) (*userv1.AcceptFriendApplicationResponse, error) {
|
|
return c.client.AcceptFriendApplication(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) DeleteFriend(ctx context.Context, req *userv1.DeleteFriendRequest) (*userv1.DeleteFriendResponse, error) {
|
|
return c.client.DeleteFriend(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) ListFriends(ctx context.Context, req *userv1.ListFriendsRequest) (*userv1.ListFriendsResponse, error) {
|
|
return c.client.ListFriends(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserSocialClient) ListFriendApplications(ctx context.Context, req *userv1.ListFriendApplicationsRequest) (*userv1.ListFriendApplicationsResponse, error) {
|
|
return c.client.ListFriendApplications(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserDeviceClient) BindPushToken(ctx context.Context, req *userv1.BindPushTokenRequest) (*userv1.BindPushTokenResponse, error) {
|
|
return c.client.BindPushToken(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserDeviceClient) DeletePushToken(ctx context.Context, req *userv1.DeletePushTokenRequest) (*userv1.DeletePushTokenResponse, error) {
|
|
return c.client.DeletePushToken(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserCountryQueryClient) ListRegistrationCountries(ctx context.Context, req *userv1.ListRegistrationCountriesRequest) (*userv1.ListRegistrationCountriesResponse, error) {
|
|
return c.client.ListRegistrationCountries(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserHostClient) GetHostProfile(ctx context.Context, req *userv1.GetHostProfileRequest) (*userv1.GetHostProfileResponse, error) {
|
|
return c.client.GetHostProfile(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserHostClient) GetBDProfile(ctx context.Context, req *userv1.GetBDProfileRequest) (*userv1.GetBDProfileResponse, error) {
|
|
return c.client.GetBDProfile(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserHostClient) GetCoinSellerProfile(ctx context.Context, req *userv1.GetCoinSellerProfileRequest) (*userv1.GetCoinSellerProfileResponse, error) {
|
|
return c.client.GetCoinSellerProfile(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserHostClient) GetUserRoleSummary(ctx context.Context, req *userv1.GetUserRoleSummaryRequest) (*userv1.GetUserRoleSummaryResponse, error) {
|
|
return c.client.GetUserRoleSummary(ctx, req)
|
|
}
|
|
|
|
func (c *grpcUserHostClient) CheckBusinessCapability(ctx context.Context, req *userv1.CheckBusinessCapabilityRequest) (*userv1.CheckBusinessCapabilityResponse, error) {
|
|
return c.client.CheckBusinessCapability(ctx, req)
|
|
}
|
|
|
|
func (c *grpcAppRegistryClient) ResolveApp(ctx context.Context, req *userv1.ResolveAppRequest) (*userv1.ResolveAppResponse, error) {
|
|
return c.client.ResolveApp(ctx, req)
|
|
}
|