# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: keyapis/preset/v1/keyapis_preset_preset_v1.proto for package 'Keyapis.Preset.V1'
# Original file comments:
#
# Сервис реализует функционал хранения пресетов устройств

require 'grpc'
require 'keyapis/preset/v1/keyapis_preset_preset_v1_pb'

module Keyapis
  module Preset
    module V1
      module PresetService
        # Сервис пресетов
        class Service

          include ::GRPC::GenericService

          self.marshal_class_method = :encode
          self.unmarshal_class_method = :decode
          self.service_name = 'keyapis.preset.v1.PresetService'

          # Метод сохранения пресетов.
          # Поддерживает создание и обновление.
          # При обновлении пресета посылается задача PresetInstallTask в очередь key.preset.install.
          # Данное сообщение должно отправляться только если изменению подверглось одно из следующих полей:
          # - Sip;
          # - Ntp;
          # - Syslog;
          # - Room;
          # - VideoConfig;
          # - Dtmf.
          # Метод доступен для: admin, service
          rpc :PostPreset, ::Keyapis::Preset::V1::PostPresetRequest, ::Keyapis::Preset::V1::PostPresetResponse
          # Метод получения пресета по идентификатору.
          # Метод доступен для: admin, service, bti, ltp_first, owner, employee
          rpc :GetPreset, ::Keyapis::Preset::V1::GetPresetRequest, ::Keyapis::Preset::V1::GetPresetResponse
          # Метод получения дефолтного пресета.
          # Метод доступен для: admin, service, bti, ltp_first, owner, employee
          rpc :GetPresetDefault, ::Keyapis::Preset::V1::GetPresetDefaultRequest, ::Keyapis::Preset::V1::GetPresetDefaultResponse
          # Метод получения пресетов.
          # Метод доступен для: admin, service, bti, ltp_first, owner, employee
          rpc :GetPresetList, ::Keyapis::Preset::V1::GetPresetListRequest, stream(::Keyapis::Preset::V1::GetPresetListResponse)
          # Метод получения количества пресетов.
          # Метод доступен для: admin, service, bti, ltp_first, owner, employee
          rpc :GetPresetCount, ::Keyapis::Preset::V1::GetPresetCountRequest, ::Keyapis::Preset::V1::GetPresetCountResponse
          # Метод удаления пресета.
          # Нельзя удалить пресет, если он используется на устройстве.
          # Нельзя удалить дефолтный пресет.
          # Метод доступен для: admin, service
          rpc :DeletePreset, ::Keyapis::Preset::V1::DeletePresetRequest, ::Keyapis::Preset::V1::DeletePresetResponse
        end

        Stub = Service.rpc_stub_class
      end
    end
  end
end
