<?php
// GENERATED CODE -- DO NOT EDIT!

// Original file comments:
//
// Сервис предоставляет возможность авторизации для пользователей B2B
namespace Keyapis\IdentityB2b\V1;

/**
 * Сервис авторизации пользователей B2B
 */
class AuthorizationB2bServiceClient extends \Grpc\BaseStub {

    /**
     * @param string $hostname hostname
     * @param array $opts channel options
     * @param \Grpc\Channel $channel (optional) re-use channel object
     */
    public function __construct($hostname, $opts, $channel = null) {
        parent::__construct($hostname, $opts, $channel);
    }

    /**
     * Метод авторизации по ОТП-коду для B2B.
     * Не требует авторизации
     * @param \Keyapis\IdentityB2b\V1\PostAuthorizationLoginRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\UnaryCall
     */
    public function PostAuthorizationLogin(\Keyapis\IdentityB2b\V1\PostAuthorizationLoginRequest $argument,
      $metadata = [], $options = []) {
        return $this->_simpleRequest('/keyapis.identity_b2b.v1.AuthorizationB2bService/PostAuthorizationLogin',
        $argument,
        ['\Keyapis\IdentityB2b\V1\PostAuthorizationLoginResponse', 'decode'],
        $metadata, $options);
    }

    /**
     * Метод запроса ОТП-кода для B2B.
     * Не требует авторизации
     * @param \Keyapis\IdentityB2b\V1\PostAuthorizationSendCodeRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\UnaryCall
     */
    public function PostAuthorizationSendCode(\Keyapis\IdentityB2b\V1\PostAuthorizationSendCodeRequest $argument,
      $metadata = [], $options = []) {
        return $this->_simpleRequest('/keyapis.identity_b2b.v1.AuthorizationB2bService/PostAuthorizationSendCode',
        $argument,
        ['\Keyapis\IdentityB2b\V1\PostAuthorizationSendCodeResponse', 'decode'],
        $metadata, $options);
    }

    /**
     * Метод авторизации для B2B по паролю.
     * Не требует авторизации
     * @param \Keyapis\IdentityB2b\V1\PostAuthorizationLoginByPasswordRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\UnaryCall
     */
    public function PostAuthorizationLoginByPassword(\Keyapis\IdentityB2b\V1\PostAuthorizationLoginByPasswordRequest $argument,
      $metadata = [], $options = []) {
        return $this->_simpleRequest('/keyapis.identity_b2b.v1.AuthorizationB2bService/PostAuthorizationLoginByPassword',
        $argument,
        ['\Keyapis\IdentityB2b\V1\PostAuthorizationLoginByPasswordResponse', 'decode'],
        $metadata, $options);
    }

    /**
     * Метод проверки кода двухфакторной авторизации и активация сессии.
     * Не требует авторизации
     * @param \Keyapis\IdentityB2b\V1\PostAuthorizationCheckCodeRequest $argument input argument
     * @param array $metadata metadata
     * @param array $options call options
     * @return \Grpc\UnaryCall
     */
    public function PostAuthorizationCheckCode(\Keyapis\IdentityB2b\V1\PostAuthorizationCheckCodeRequest $argument,
      $metadata = [], $options = []) {
        return $this->_simpleRequest('/keyapis.identity_b2b.v1.AuthorizationB2bService/PostAuthorizationCheckCode',
        $argument,
        ['\Keyapis\IdentityB2b\V1\PostAuthorizationCheckCodeResponse', 'decode'],
        $metadata, $options);
    }

}
