# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: keyapis/vc/v1/keyapis_vc_camera_v1.proto for package 'Keyapis.Vc.V1'
# Original file comments:
#
# Сервис работы с камерами

require 'grpc'
require 'keyapis/vc/v1/keyapis_vc_camera_v1_pb'

module Keyapis
  module Vc
    module V1
      module CameraService
        # Сервис работы с камерами
        class Service

          include ::GRPC::GenericService

          self.marshal_class_method = :encode
          self.unmarshal_class_method = :decode
          self.service_name = 'keyapis.vc.v1.CameraService'

          # Метод получения количества связей камеры и квартиры.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :GetCameraRoomCount, ::Keyapis::Vc::V1::GetCameraRoomCountRequest, ::Keyapis::Vc::V1::GetCameraRoomCountResponse
          # Метод получения списка связей камеры и квартиры.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :GetCameraRoomList, ::Keyapis::Vc::V1::GetCameraRoomListRequest, stream(::Keyapis::Vc::V1::GetCameraRoomListResponse)
          # Метод получения камеры.
          # Для owner, employee параметр scope.vc_company_id подставляется из токена.
          # Метод доступен для: admin, service, bti, ltp_first, owner, employee
          rpc :GetCamera, ::Keyapis::Vc::V1::GetCameraRequest, ::Keyapis::Vc::V1::GetCameraResponse
          # Метод получения списка камер.
          # Для owner, employee параметр scope.vc_company_id подставляется из токена.
          # Метод доступен для: admin, service, bti, ltp_first, owner, employee
          rpc :GetCameraList, ::Keyapis::Vc::V1::GetCameraListRequest, ::Keyapis::Vc::V1::GetCameraListResponse
          # Метод получения RTSP-ссылки по идентификатору камеры в vcfront.
          # Метод доступен для: admin, service.
          # Метод доступен для: ApiKey
          rpc :GetCameraRtspUrlExternalId, ::Keyapis::Vc::V1::GetCameraRtspUrlExternalIdRequest, ::Keyapis::Vc::V1::GetCameraRtspUrlExternalIdResponse
          # Метод привязки камеры и квартиры.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :PutCameraRoomAttach, ::Keyapis::Vc::V1::PutCameraRoomAttachRequest, ::Keyapis::Vc::V1::PutCameraRoomAttachResponse
          # Метод отвязки камеры и квартиры.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :PutCameraRoomDetach, ::Keyapis::Vc::V1::PutCameraRoomDetachRequest, ::Keyapis::Vc::V1::PutCameraRoomDetachResponse
          # Метод пакетной привязки камер и квартир.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :PutCameraRoomAttachList, ::Keyapis::Vc::V1::PutCameraRoomAttachListRequest, ::Keyapis::Vc::V1::PutCameraRoomAttachListResponse
          # Метод пакетной отвязки камер и квартир.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :PutCameraRoomDetachList, ::Keyapis::Vc::V1::PutCameraRoomDetachListRequest, ::Keyapis::Vc::V1::PutCameraRoomDetachListResponse
          # Метод удаления камеры.
          # Метод доступен для: admin, service, bti
          rpc :DeleteCamera, ::Keyapis::Vc::V1::DeleteCameraRequest, ::Keyapis::Vc::V1::DeleteCameraResponse
          # Метод создания камеры.
          # Метод доступен для: admin, service, bti
          rpc :PostCamera, ::Keyapis::Vc::V1::PostCameraRequest, ::Keyapis::Vc::V1::PostCameraResponse
          # Метод получения дней, когда доступны записи.
          # Метод доступен для: admin, service, owner, company, master.
          # Для ролей типа owner, company, master необходимо сделать проверку на доступность камеры этому пользователю
          rpc :GetCameraCalendar, ::Keyapis::Vc::V1::GetCameraCalendarRequest, ::Keyapis::Vc::V1::GetCameraCalendarResponse
          # Метод получения интервалов, когда доступны записи.
          # Метод доступен для: admin, service, owner, company, master.
          # Для ролей типа owner, company, master необходимо сделать проверку на доступность камеры этому пользователю
          rpc :GetCameraIntervals, ::Keyapis::Vc::V1::GetCameraIntervalsRequest, ::Keyapis::Vc::V1::GetCameraIntervalsResponse
        end

        Stub = Service.rpc_stub_class
      end
    end
  end
end
