# Code generated by protoc-gen-twirp_ruby 1.0.0, DO NOT EDIT.
require 'twirp'
require_relative 'service_pb.rb'

module Code
  module Justin
    module Tv
      module Devrel
        module Rbac
          class RBACService < Twirp::Service
            package 'code.justin.tv.devrel.rbac'
            service 'RBAC'
            rpc :ListCompanies, ListCompaniesRequest, ListCompaniesResponse, :ruby_method => :list_companies
            rpc :ListCompanyMemberships, ListCompanyMembershipsRequest, ListCompanyMembershipsResponse, :ruby_method => :list_company_memberships
            rpc :SearchCompanies, SearchCompaniesRequest, SearchCompaniesResponse, :ruby_method => :search_companies
            rpc :GetCompany, Id, Company, :ruby_method => :get_company
            rpc :UpdateCompany, UpdateCompanyRequest, Company, :ruby_method => :update_company
            rpc :CreateCompanyApplication, CreateCompanyApplicationRequest, CompanyApplication, :ruby_method => :create_company_application
            rpc :GetMembership, GetMembershipRequest, Membership, :ruby_method => :get_membership
            rpc :GetUsersByCompanyId, GetUsersByCompanyIdRequest, GetUsersByCompanyIdResponse, :ruby_method => :get_users_by_company_id
            rpc :AddUserToCompany, AddUserToCompanyRequest, Empty, :ruby_method => :add_user_to_company
            rpc :RemoveCompanyMembership, RemoveCompanyMembershipRequest, Empty, :ruby_method => :remove_company_membership
            rpc :UpdateUser, UpdateUserRequest, Empty, :ruby_method => :update_user
            rpc :UpdateUserRole, UpdateUserRoleRequest, Membership, :ruby_method => :update_user_role
            rpc :ListAllRoles, Empty, ListAllRolesResponse, :ruby_method => :list_all_roles
            rpc :ValidateByTwitchID, ValidateQuery, ValidateResponse, :ruby_method => :validate_by_twitch_i_d
            rpc :CreateResource, CreateResourceRequest, CreateResourceResponse, :ruby_method => :create_resource
            rpc :ListResources, ListResourcesRequest, ListResourcesResponse, :ruby_method => :list_resources
            rpc :SetExtensionBillingManager, SetExtensionBillingManagerRequest, SetExtensionBillingManagerResponse, :ruby_method => :set_extension_billing_manager
            rpc :GetExtensionBillingManager, GetExtensionBillingManagerRequest, GetExtensionBillingManagerResponse, :ruby_method => :get_extension_billing_manager
            rpc :GetPaginatedShadowAccounts, GetPaginatedShadowAccountsRequest, GetPaginatedShadowAccountsResponse, :ruby_method => :get_paginated_shadow_accounts
            rpc :TransferExtensionToCompany, TransferExtensionRequest, Empty, :ruby_method => :transfer_extension_to_company
            rpc :DetachExtensionFromCompany, DetachExtensionRequest, Empty, :ruby_method => :detach_extension_from_company
            rpc :ListCompanyApplications, ListCompanyApplicationsRequest, ListCompanyApplicationsResponse, :ruby_method => :list_company_applications
            rpc :SearchCompanyApplications, SearchCompanyApplicationsRequest, SearchCompanyApplicationsResponse, :ruby_method => :search_company_applications
            rpc :GetCompanyApplication, Id, CompanyApplication, :ruby_method => :get_company_application
            rpc :UpdateCompanyApplication, UpdateCompanyApplicationRequest, CompanyApplication, :ruby_method => :update_company_application
            rpc :DeleteCompanyApplication, DeleteCompanyApplicationRequest, Empty, :ruby_method => :delete_company_application
            rpc :OnboardCompany, OnboardCompanyRequest, OnboardCompanyResponse, :ruby_method => :onboard_company
            rpc :ListGameApplications, ListGameApplicationsRequest, ListGameApplicationsResponse, :ruby_method => :list_game_applications
            rpc :GetGameApplicationsByCompany, Id, GetGameApplicationsByCompanyResponse, :ruby_method => :get_game_applications_by_company
            rpc :GetGameApplication, Id, GameApplication, :ruby_method => :get_game_application
            rpc :CreateGameApplication, CreateGameApplicationRequest, GameApplication, :ruby_method => :create_game_application
            rpc :CreateGameApplicationV2, CreateGameApplicationRequestV2, GameApplication, :ruby_method => :create_game_application_v2
            rpc :DeleteGameApplication, DeleteGameApplicationRequest, Empty, :ruby_method => :delete_game_application
            rpc :OnboardGame, OnboardGameRequest, OnboardGameResponse, :ruby_method => :onboard_game
            rpc :GetDeveloperApplications, GetDeveloperApplicationsRequest, GetDeveloperApplicationsResponse, :ruby_method => :get_developer_applications
            rpc :DeleteDeveloperApplication, DeleteDeveloperApplicationRequest, Empty, :ruby_method => :delete_developer_application
            rpc :OnboardDeveloper, OnboardDeveloperRequest, OnboardDeveloperResponse, :ruby_method => :onboard_developer
            rpc :GetGamesByCompany, Id, GetGamesByCompanyResponse, :ruby_method => :get_games_by_company
            rpc :GetGamesByTwitchID, Id, GetGamesByTwitchIDResponse, :ruby_method => :get_games_by_twitch_i_d
            rpc :GetCompanyByTwitchID, Id, Company, :ruby_method => :get_company_by_twitch_i_d
            rpc :CreateJWT, JWTRequest, JWT, :ruby_method => :create_j_w_t
            rpc :GetAllGamesWithCompanies, GetAllGamesWithCompaniesRequest, GetAllGamesWithCompaniesResponse, :ruby_method => :get_all_games_with_companies
            rpc :IsFeatureEnabled, IsFeatureEnabledRequest, FeatureEnabledResponse, :ruby_method => :is_feature_enabled
            rpc :IsValueEnabled, IsValueEnabledRequest, FeatureEnabledResponse, :ruby_method => :is_value_enabled
          end

          class RBACClient < Twirp::Client
            client_for RBACService
          end

          class RBACAdminService < Twirp::Service
            package 'code.justin.tv.devrel.rbac'
            service 'RBACAdmin'
            rpc :DeleteCompany, DeleteCompanyRequest, Empty, :ruby_method => :delete_company
            rpc :OffboardResource, OffboardResourceRequest, Empty, :ruby_method => :offboard_resource
            rpc :TransferCompanyOwnership, TransferCompanyOwnershipRequest, Empty, :ruby_method => :transfer_company_ownership
            rpc :WhitelistUser, WhitelistUserRequest, Empty, :ruby_method => :whitelist_user
            rpc :RemoveUserFromWhitelist, RemoveUserFromWhitelistRequest, Empty, :ruby_method => :remove_user_from_whitelist
            rpc :UpdateUserRoleInWhitelist, WhitelistUserRequest, Empty, :ruby_method => :update_user_role_in_whitelist
            rpc :ListUserWhitelistByRole, ListUserWhitelistByRoleRequest, ListUserWhitelistByRoleResponse, :ruby_method => :list_user_whitelist_by_role
            rpc :GetFeatureGatingValueInBool, GetFeatureGatingValueRequest, GetFeatureGatingValueResponse, :ruby_method => :get_feature_gating_value_in_bool
            rpc :SetFeatureGatingBoolValue, SetFeatureGatingBoolValueRequest, Empty, :ruby_method => :set_feature_gating_bool_value
            rpc :GetFeatureGatingValueInStrings, GetFeatureGatingValueRequest, GetFeatureGatingValueResponse, :ruby_method => :get_feature_gating_value_in_strings
            rpc :UpdateFeatureGatingValue, UpdateFeatureGatingValueRequest, GetFeatureGatingValueResponse, :ruby_method => :update_feature_gating_value
            rpc :CreateShadowAccount, CreateShadowAccountRequest, CreateShadowAccountResponse, :ruby_method => :create_shadow_account
          end

          class RBACAdminClient < Twirp::Client
            client_for RBACAdminService
          end

          class RBACActionHistoryService < Twirp::Service
            package 'code.justin.tv.devrel.rbac'
            service 'RBACActionHistory'
            rpc :ListEntityActionHistories, ListEntityActionHistoriesRequest, ListActionHistoriesResponse, :ruby_method => :list_entity_action_histories
            rpc :ListActionHistories, ListActionHistoriesRequest, ListActionHistoriesResponse, :ruby_method => :list_action_histories
          end

          class RBACActionHistoryClient < Twirp::Client
            client_for RBACActionHistoryService
          end

          class ExtensionReviewsService < Twirp::Service
            package 'code.justin.tv.devrel.rbac'
            service 'ExtensionReviews'
            rpc :SetStateInReview, SetStateInReviewRequest, Empty, :ruby_method => :set_state_in_review
            rpc :GetLatestAuthorNotes, GetLatestAuthorNotesRequest, GetLatestAuthorNotesResponse, :ruby_method => :get_latest_author_notes
            rpc :GetExtension, ExtensionVersionID, Extension, :ruby_method => :get_extension
            rpc :SetStateApproved, SetStateReviewerRequest, Empty, :ruby_method => :set_state_approved
            rpc :SetStatePendingAction, SetStateReviewerRequest, Empty, :ruby_method => :set_state_pending_action
          end

          class ExtensionReviewsClient < Twirp::Client
            client_for ExtensionReviewsService
          end
        end
      end
    end
  end
end
