# Generated by the protocol buffer compiler.  DO NOT EDIT!
# Source: keyapis/telemetry_control/v1/keyapis_telemetry_control_metric_point_v1.proto for package 'Keyapis.TelemetryControl.V1'
# Original file comments:
#
# Сервис реализует функционал управления Точками учёта(ТУ)

require 'grpc'
require 'keyapis/telemetry_control/v1/keyapis_telemetry_control_metric_point_v1_pb'

module Keyapis
  module TelemetryControl
    module V1
      module MetricPointService
        # Сервис Точек учёта (ТУ).
        # Авторизация:
        #   - Authorization: Bearer.
        #   - X-Api-Key: apiKey
        class Service

          include ::GRPC::GenericService

          self.marshal_class_method = :encode
          self.unmarshal_class_method = :decode
          self.service_name = 'keyapis.telemetry_control.v1.MetricPointService'

          # Метод получения ТУ.
          # Разрешения: telemetry_control:metric_point:card, telemetry_control:metric_point:card:own.
          # Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. Без учета разрешений.
          # Метод доступен для: ApiKey: При наличии разрешений
          rpc :GetMetricPoint, ::Keyapis::TelemetryControl::V1::GetMetricPointRequest, ::Keyapis::TelemetryControl::V1::GetMetricPointResponse
          # Метод получения списка ТУ.
          # Разрешения: telemetry_control:metric_point:list, telemetry_control:metric_point:list:own.
          # Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. Без учета разрешений.
          # Метод доступен для: ApiKey: При наличии разрешений
          rpc :GetMetricPointList, ::Keyapis::TelemetryControl::V1::GetMetricPointListRequest, stream(::Keyapis::TelemetryControl::V1::GetMetricPointListResponse)
          # Метод получения количества ТУ.
          # Разрешения: telemetry_control:metric_point:list, telemetry_control:metric_point:list:own.
          # Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. Без учета разрешений.
          # Метод доступен для: ApiKey: При наличии разрешений
          rpc :GetMetricPointCount, ::Keyapis::TelemetryControl::V1::GetMetricPointCountRequest, ::Keyapis::TelemetryControl::V1::GetMetricPointCountResponse
          # Метод сохранения ТУ.
          # Поддерживает создание и обновление.
          # Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. Без учета разрешений
          rpc :PostMetricPoint, ::Keyapis::TelemetryControl::V1::PostMetricPointRequest, ::Keyapis::TelemetryControl::V1::PostMetricPointResponse
          # Метод удаления ТУ.
          # Метод доступен для: Token: admin, service, bti, seller, application, owner, employee. Без учета разрешений
          rpc :DeleteMetricPoint, ::Keyapis::TelemetryControl::V1::DeleteMetricPointRequest, ::Keyapis::TelemetryControl::V1::DeleteMetricPointResponse
        end

        Stub = Service.rpc_stub_class
      end
    end
  end
end
