# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: keyapis/vc/v1/keyapis_vc_camera_group_v1.proto for package 'Keyapis.Vc.V1'
# Original file comments:
#
# Сервис управления коллекциями камер

require 'grpc'
require 'keyapis/vc/v1/keyapis_vc_camera_group_v1_pb'

module Keyapis
  module Vc
    module V1
      module CameraCollectionService
        # Сервис управления коллекциями камер
        class Service

          include ::GRPC::GenericService

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

          # Метод получения коллекции камер.
          # Для owner, employee возвращаются только коллекции камер c COMPANY_ID из токена.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :GetCameraCollection, ::Keyapis::Vc::V1::GetCameraCollectionRequest, ::Keyapis::Vc::V1::GetCameraCollectionResponse
          # Метод получения списка коллекций камер.
          # Для owner, employee возвращаются только коллекции камер c COMPANY_ID из токена.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :GetCameraCollectionList, ::Keyapis::Vc::V1::GetCameraCollectionListRequest, stream(::Keyapis::Vc::V1::GetCameraCollectionListResponse)
          # Метод получения количества коллекций камер.
          # Для owner, employee возвращаются только коллекции камер c COMPANY_ID из токена.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :GetCameraCollectionCount, ::Keyapis::Vc::V1::GetCameraCollectionCountRequest, ::Keyapis::Vc::V1::GetCameraCollectionCountResponse
          # Метод создания и изменения коллекции камер.
          # При изменении коллекции массив external_camera_ids заменяется полностью.
          # Для owner, employee сравнивается COMPANY_ID из токена и company_id коллекции, при несовпадении ошибка доступа.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :SaveCameraCollection, ::Keyapis::Vc::V1::SaveCameraCollectionRequest, ::Keyapis::Vc::V1::SaveCameraCollectionResponse
          # Метод удаления коллекции камер.
          # Проставляет в поле deleted_at текущую дату.
          # Для owner, employee сравнивается COMPANY_ID из токена и company_id коллекции, при несовпадении ошибка доступа.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :DeleteCameraCollection, ::Keyapis::Vc::V1::DeleteCameraCollectionRequest, ::Keyapis::Vc::V1::DeleteCameraCollectionResponse
          # Метод восстановления удаленной коллекции камер.
          # Проставляет null в поле deleted_at.
          # Для owner, employee сравнивается COMPANY_ID из токена и company_id коллекции, при несовпадении ошибка доступа.
          # Метод доступен для: admin, service, bti, owner, employee
          rpc :PostCameraCollectionRestore, ::Keyapis::Vc::V1::PostCameraCollectionRestoreRequest, ::Keyapis::Vc::V1::PostCameraCollectionRestoreResponse
        end

        Stub = Service.rpc_stub_class
      end
    end
  end
end
