# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: keyapis/access_control/v1/keyapis_access_control_building_v1.proto for package 'Keyapis.AccessControl.V1'
# Original file comments:
#
# Сервис домов

require 'grpc'
require 'keyapis/access_control/v1/keyapis_access_control_building_v1_pb'

module Keyapis
  module AccessControl
    module V1
      module BuildingService
        # Сервис домов
        class Service

          include ::GRPC::GenericService

          self.marshal_class_method = :encode
          self.unmarshal_class_method = :decode
          self.service_name = 'keyapis.access_control.v1.BuildingService'

          # Метод получения Дома.
          # Для пользователей типов owner, employee: в результат попадают только дома, которые привязаны к компании пользователя или дома квартирограамм привязанных к компании пользователя.
          # Метод доступен для: admin, service, owner, employee, seller, external_seller, ltp_first, bti
          rpc :GetBuilding, ::Keyapis::AccessControl::V1::GetBuildingRequest, ::Keyapis::AccessControl::V1::GetBuildingResponse
          # Метод получения списка домов.
          # Для пользователей типов owner, employee: в результат попадают только дома, которые привязаны к компании пользователя или дома квартирограамм привязанных к компании пользователя.
          # При запросе через ApiKey происходит дополнительная фильтрация домов на основе доступности домов для этого ApiKey (фильтрация происходит по доступным AccessPoint для этой группы).
          # Метод доступен для: admin, service, owner, employee, ltp_first, bti.
          # Метод доступен для: ApiKey
          rpc :GetBuildingList, ::Keyapis::AccessControl::V1::GetBuildingListRequest, stream(::Keyapis::AccessControl::V1::GetBuildingListResponse)
          # Метод получения количества домов.
          # Для пользователей типов owner, employee: в результат попадают только дома, которые привязаны к компании пользователя или дома квартирограамм привязанных к компании пользователя.
          # Метод доступен для: admin, service, owner, employee, ltp_first, bti
          rpc :GetBuildingCount, ::Keyapis::AccessControl::V1::GetBuildingCountRequest, ::Keyapis::AccessControl::V1::GetBuildingCountResponse
          # Метод получения статуса режима работы с подписками у помещений дома.
          # Возвращает агрегированный статус по всем помещениям дома.
          # Метод доступен для: admin, service, ltp_first, bti
          rpc :GetBuildingOrponSubscriptionMode, ::Keyapis::AccessControl::V1::GetBuildingOrponSubscriptionModeRequest, ::Keyapis::AccessControl::V1::GetBuildingOrponSubscriptionModeResponse
          # Метод проверки существования дома по ОРПОН.
          # Возвращает true если найден дом с указанным ОРПОН.
          # Метод доступен для: admin, service
          rpc :GetBuildingOrponExists, ::Keyapis::AccessControl::V1::GetBuildingOrponExistsRequest, ::Keyapis::AccessControl::V1::GetBuildingOrponExistsResponse
        end

        Stub = Service.rpc_stub_class
      end
    end
  end
end
