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) QuickCreateAccount(ctx context.Context, req *userv1.QuickCreateAccountRequest) (*userv1.QuickCreateAccountResponse, 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) AppHeartbeat(ctx context.Context, req *userv1.AppHeartbeatRequest) (*userv1.AppHeartbeatResponse, 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) SubmitReport(ctx context.Context, req *userv1.SubmitReportRequest) (*userv1.SubmitReportResponse, error) } // UserCPClient 抽象 gateway 对 user-service CP/兄弟/姐妹关系能力的依赖。 type UserCPClient interface { ListCPApplications(ctx context.Context, req *userv1.ListCPApplicationsRequest) (*userv1.ListCPApplicationsResponse, error) AcceptCPApplication(ctx context.Context, req *userv1.AcceptCPApplicationRequest) (*userv1.AcceptCPApplicationResponse, error) RejectCPApplication(ctx context.Context, req *userv1.RejectCPApplicationRequest) (*userv1.RejectCPApplicationResponse, error) ListCPRelationships(ctx context.Context, req *userv1.ListCPRelationshipsRequest) (*userv1.ListCPRelationshipsResponse, 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) ListLoginRiskBlockedCountries(ctx context.Context, req *userv1.ListLoginRiskBlockedCountriesRequest) (*userv1.ListLoginRiskBlockedCountriesResponse, error) } // UserHostClient 抽象 gateway 对 user-service host domain 身份查询能力的依赖。 type UserHostClient interface { SearchAgencies(ctx context.Context, req *userv1.SearchAgenciesRequest) (*userv1.SearchAgenciesResponse, error) ApplyToAgency(ctx context.Context, req *userv1.ApplyToAgencyRequest) (*userv1.ApplyToAgencyResponse, error) InviteAgency(ctx context.Context, req *userv1.InviteAgencyRequest) (*userv1.InviteAgencyResponse, error) InviteBD(ctx context.Context, req *userv1.InviteBDRequest) (*userv1.InviteBDResponse, error) ListBDLeaderBDs(ctx context.Context, req *userv1.ListBDLeaderBDsRequest) (*userv1.ListBDLeaderBDsResponse, error) ListBDLeaderAgencies(ctx context.Context, req *userv1.ListBDLeaderAgenciesRequest) (*userv1.ListBDLeaderAgenciesResponse, error) ListBDAgencies(ctx context.Context, req *userv1.ListBDAgenciesRequest) (*userv1.ListBDAgenciesResponse, error) 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) ListActiveCoinSellersInMyRegion(ctx context.Context, req *userv1.ListActiveCoinSellersInMyRegionRequest) (*userv1.ListActiveCoinSellersInMyRegionResponse, error) GetUserRoleSummary(ctx context.Context, req *userv1.GetUserRoleSummaryRequest) (*userv1.GetUserRoleSummaryResponse, error) GetAgency(ctx context.Context, req *userv1.GetAgencyRequest) (*userv1.GetAgencyResponse, error) CheckBusinessCapability(ctx context.Context, req *userv1.CheckBusinessCapabilityRequest) (*userv1.CheckBusinessCapabilityResponse, error) GetAgencyMembers(ctx context.Context, req *userv1.GetAgencyMembersRequest) (*userv1.GetAgencyMembersResponse, error) GetAgencyApplications(ctx context.Context, req *userv1.GetAgencyApplicationsRequest) (*userv1.GetAgencyApplicationsResponse, error) ReviewAgencyApplication(ctx context.Context, req *userv1.ReviewAgencyApplicationRequest) (*userv1.ReviewAgencyApplicationResponse, error) KickAgencyHost(ctx context.Context, req *userv1.KickAgencyHostRequest) (*userv1.KickAgencyHostResponse, 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 grpcUserCPClient struct { client userv1.UserCPServiceClient } 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), } } // NewGRPCUserCPClient 用 gRPC 连接构造 CP 关系 client。 func NewGRPCUserCPClient(conn *grpc.ClientConn) UserCPClient { return &grpcUserCPClient{ client: userv1.NewUserCPServiceClient(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) QuickCreateAccount(ctx context.Context, req *userv1.QuickCreateAccountRequest) (*userv1.QuickCreateAccountResponse, error) { return c.client.QuickCreateAccount(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 *grpcUserAuthClient) AppHeartbeat(ctx context.Context, req *userv1.AppHeartbeatRequest) (*userv1.AppHeartbeatResponse, error) { return c.client.AppHeartbeat(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 *grpcUserSocialClient) SubmitReport(ctx context.Context, req *userv1.SubmitReportRequest) (*userv1.SubmitReportResponse, error) { return c.client.SubmitReport(ctx, req) } func (c *grpcUserCPClient) ListCPApplications(ctx context.Context, req *userv1.ListCPApplicationsRequest) (*userv1.ListCPApplicationsResponse, error) { return c.client.ListCPApplications(ctx, req) } func (c *grpcUserCPClient) AcceptCPApplication(ctx context.Context, req *userv1.AcceptCPApplicationRequest) (*userv1.AcceptCPApplicationResponse, error) { return c.client.AcceptCPApplication(ctx, req) } func (c *grpcUserCPClient) RejectCPApplication(ctx context.Context, req *userv1.RejectCPApplicationRequest) (*userv1.RejectCPApplicationResponse, error) { return c.client.RejectCPApplication(ctx, req) } func (c *grpcUserCPClient) ListCPRelationships(ctx context.Context, req *userv1.ListCPRelationshipsRequest) (*userv1.ListCPRelationshipsResponse, error) { return c.client.ListCPRelationships(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 *grpcUserCountryQueryClient) ListLoginRiskBlockedCountries(ctx context.Context, req *userv1.ListLoginRiskBlockedCountriesRequest) (*userv1.ListLoginRiskBlockedCountriesResponse, error) { return c.client.ListLoginRiskBlockedCountries(ctx, req) } func (c *grpcUserHostClient) SearchAgencies(ctx context.Context, req *userv1.SearchAgenciesRequest) (*userv1.SearchAgenciesResponse, error) { return c.client.SearchAgencies(ctx, req) } func (c *grpcUserHostClient) ApplyToAgency(ctx context.Context, req *userv1.ApplyToAgencyRequest) (*userv1.ApplyToAgencyResponse, error) { return c.client.ApplyToAgency(ctx, req) } func (c *grpcUserHostClient) InviteAgency(ctx context.Context, req *userv1.InviteAgencyRequest) (*userv1.InviteAgencyResponse, error) { return c.client.InviteAgency(ctx, req) } func (c *grpcUserHostClient) InviteBD(ctx context.Context, req *userv1.InviteBDRequest) (*userv1.InviteBDResponse, error) { return c.client.InviteBD(ctx, req) } func (c *grpcUserHostClient) ListBDLeaderBDs(ctx context.Context, req *userv1.ListBDLeaderBDsRequest) (*userv1.ListBDLeaderBDsResponse, error) { return c.client.ListBDLeaderBDs(ctx, req) } func (c *grpcUserHostClient) ListBDLeaderAgencies(ctx context.Context, req *userv1.ListBDLeaderAgenciesRequest) (*userv1.ListBDLeaderAgenciesResponse, error) { return c.client.ListBDLeaderAgencies(ctx, req) } func (c *grpcUserHostClient) ListBDAgencies(ctx context.Context, req *userv1.ListBDAgenciesRequest) (*userv1.ListBDAgenciesResponse, error) { return c.client.ListBDAgencies(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) ListActiveCoinSellersInMyRegion(ctx context.Context, req *userv1.ListActiveCoinSellersInMyRegionRequest) (*userv1.ListActiveCoinSellersInMyRegionResponse, error) { return c.client.ListActiveCoinSellersInMyRegion(ctx, req) } func (c *grpcUserHostClient) GetUserRoleSummary(ctx context.Context, req *userv1.GetUserRoleSummaryRequest) (*userv1.GetUserRoleSummaryResponse, error) { return c.client.GetUserRoleSummary(ctx, req) } func (c *grpcUserHostClient) GetAgency(ctx context.Context, req *userv1.GetAgencyRequest) (*userv1.GetAgencyResponse, error) { return c.client.GetAgency(ctx, req) } func (c *grpcUserHostClient) CheckBusinessCapability(ctx context.Context, req *userv1.CheckBusinessCapabilityRequest) (*userv1.CheckBusinessCapabilityResponse, error) { return c.client.CheckBusinessCapability(ctx, req) } func (c *grpcUserHostClient) GetAgencyMembers(ctx context.Context, req *userv1.GetAgencyMembersRequest) (*userv1.GetAgencyMembersResponse, error) { return c.client.GetAgencyMembers(ctx, req) } func (c *grpcUserHostClient) GetAgencyApplications(ctx context.Context, req *userv1.GetAgencyApplicationsRequest) (*userv1.GetAgencyApplicationsResponse, error) { return c.client.GetAgencyApplications(ctx, req) } func (c *grpcUserHostClient) ReviewAgencyApplication(ctx context.Context, req *userv1.ReviewAgencyApplicationRequest) (*userv1.ReviewAgencyApplicationResponse, error) { return c.client.ReviewAgencyApplication(ctx, req) } func (c *grpcUserHostClient) KickAgencyHost(ctx context.Context, req *userv1.KickAgencyHostRequest) (*userv1.KickAgencyHostResponse, error) { return c.client.KickAgencyHost(ctx, req) } func (c *grpcAppRegistryClient) ResolveApp(ctx context.Context, req *userv1.ResolveAppRequest) (*userv1.ResolveAppResponse, error) { return c.client.ResolveApp(ctx, req) }