"use strict";
/**
 * This file has been generated
 * DO NOT EDIT, IT MAY BE OVERWRITTEN
 */
var __extends = (this && this.__extends) || (function () {
    var extendStatics = Object.setPrototypeOf ||
        ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
        function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };
    return function (d, b) {
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
Object.defineProperty(exports, "__esModule", { value: true });
var abstract_service_1 = require("../abstract-service");
var ScramService = /** @class */ (function (_super) {
    __extends(ScramService, _super);
    function ScramService(client, apiConfig) {
        var _this = _super.call(this, client, apiConfig) || this;
        _this.resources = {
            'getHashIteration': {
                path: "/scram/hash-iteration",
                methodType: "GET",
                returnTypeConverter: "integer_uint32"
            },
            'initialize': {
                path: "/scram/initialize",
                methodType: "GET",
                returnTypeConverter: "Bytes"
            },
            'login': {
                path: "/scram/login",
                methodType: "GET",
                returnTypeConverter: "ScramLoginResponseBody",
                bodyEncoder: "ScramLoginParams"
            },
            'loginProof': {
                path: "/scram/login-proof",
                methodType: "GET",
                returnTypeConverter: "Bytes",
                bodyEncoder: "Bytes"
            },
            'putHashIteration': {
                path: "/scram/hash-iteration",
                methodType: "PUT",
                bodyEncoder: "integer_uint16"
            },
            'send': {
                path: "/scram/com-send-receive",
                methodType: "GET",
                returnTypeConverter: "Bytes",
                bodyEncoder: "Bytes"
            },
            'sendWithIV': {
                path: "/scram/send-with-iv",
                methodType: "GET",
                returnTypeConverter: "EncryptedIVResponse",
                bodyEncoder: "EncryptedIVCommand"
            },
            'setInitializationVector': {
                path: "/scram/initialization-vector",
                methodType: "GET",
                returnTypeConverter: "Bytes",
                bodyEncoder: "Bytes"
            },
        };
        return _this;
    }
    /**
    * Get scram hash iteration counter
    * Scram conf iteration counter (i) to be read by client before starting scram login process
    * LWM2M path: /1024//42
    * @tapVersion(">=1.11")
    * @return number api call
    */
    ScramService.prototype.getHashIteration = function () {
        var callOptions = this.getHashIterationCall();
        return this._call(callOptions);
    };
    /**
    * Get scram hash iteration counter
    * Scram conf iteration counter (i) to be read by client before starting scram login process
    * LWM2M path: /1024//42
    * @tapVersion(">=1.11")
    * @return call options
    */
    ScramService.prototype.getHashIterationCall = function () {
        var callOptions = this.resources.getHashIteration;
        return callOptions;
    };
    /**
    * Start scram communication
    * Demande d&#39;une clé aléatoire et initiation d&#39;une session CCOM cryptée utilisant ce RNG comme clé de cryptage. Accessible uniquement en NFC.
    * LWM2M path: /1024//47
    * @tapVersion(">=1.11")
    * @return Uint8Array api call
    */
    ScramService.prototype.initialize = function () {
        var callOptions = this.initializeCall();
        return this._call(callOptions);
    };
    /**
    * Start scram communication
    * Demande d&#39;une clé aléatoire et initiation d&#39;une session CCOM cryptée utilisant ce RNG comme clé de cryptage. Accessible uniquement en NFC.
    * LWM2M path: /1024//47
    * @tapVersion(">=1.11")
    * @return call options
    */
    ScramService.prototype.initializeCall = function () {
        var callOptions = this.resources.initialize;
        return callOptions;
    };
    /**
    * First command to initiate scram login, for client to send login and nonce to IoTize, and IoTize to return user salt, user iteration counter (j) and combined nonce
    * First command to initiate scram login, for client to send login and nonce to IoTize, and IoTize to return user salt, user iteration counter (j) and combined nonce
    * LWM2M path: /1024//40
    * Body converter id: "ScramLoginParams"
    * @tapVersion(">=1.0")
    * @param params input
    * @return ScramLoginResponseBody api call
    */
    ScramService.prototype.login = function (params) {
        var callOptions = this.loginCall(params);
        return this._call(callOptions);
    };
    /**
    * First command to initiate scram login, for client to send login and nonce to IoTize, and IoTize to return user salt, user iteration counter (j) and combined nonce
    * First command to initiate scram login, for client to send login and nonce to IoTize, and IoTize to return user salt, user iteration counter (j) and combined nonce
    * LWM2M path: /1024//40
    * Body converter id: "ScramLoginParams"
    * @tapVersion(">=1.0")
    * @param params input
    * @return call options
    */
    ScramService.prototype.loginCall = function (params) {
        var callOptions = this.resources.login;
        callOptions.body = params;
        callOptions.pathParameters = {};
        return callOptions;
    };
    /**
    * Scram login proof
    * Second command to finalize scram login, for client to send ClientProof and combined nonce
    * LWM2M path: /1024//41
    * Body converter id: "Bytes"
    * @tapVersion(">=1.0")
    * @param params input
    * @return Uint8Array api call
    */
    ScramService.prototype.loginProof = function (params) {
        var callOptions = this.loginProofCall(params);
        return this._call(callOptions);
    };
    /**
    * Scram login proof
    * Second command to finalize scram login, for client to send ClientProof and combined nonce
    * LWM2M path: /1024//41
    * Body converter id: "Bytes"
    * @tapVersion(">=1.0")
    * @param params input
    * @return call options
    */
    ScramService.prototype.loginProofCall = function (params) {
        var callOptions = this.resources.loginProof;
        callOptions.body = params;
        callOptions.pathParameters = {};
        return callOptions;
    };
    /**
    * Set scram hash iteration counter
    *
    * LWM2M path: /1024//42
    * Body converter id: "integer_uint16"
    * @tapVersion(">=1.11")
    * @param data input
    * @return void api call
    */
    ScramService.prototype.putHashIteration = function (data) {
        var callOptions = this.putHashIterationCall(data);
        return this._call(callOptions);
    };
    /**
    * Set scram hash iteration counter
    *
    * LWM2M path: /1024//42
    * Body converter id: "integer_uint16"
    * @tapVersion(">=1.11")
    * @param data input
    * @return call options
    */
    ScramService.prototype.putHashIterationCall = function (data) {
        var callOptions = this.resources.putHashIteration;
        callOptions.body = data;
        callOptions.pathParameters = {};
        return callOptions;
    };
    /**
    * Communication channel
    * Encrypted communication ressource, for sending/receiving commands/responses after the SCRAM or CCOM session is established.
    * LWM2M path: /1024//48
    * Body converter id: "Bytes"
    * @tapVersion(">=1.11")
    * @param data input
    * @return Uint8Array api call
    */
    ScramService.prototype.send = function (data) {
        var callOptions = this.sendCall(data);
        return this._call(callOptions);
    };
    /**
    * Communication channel
    * Encrypted communication ressource, for sending/receiving commands/responses after the SCRAM or CCOM session is established.
    * LWM2M path: /1024//48
    * Body converter id: "Bytes"
    * @tapVersion(">=1.11")
    * @param data input
    * @return call options
    */
    ScramService.prototype.sendCall = function (data) {
        var callOptions = this.resources.send;
        callOptions.body = data;
        callOptions.pathParameters = {};
        return callOptions;
    };
    /**
    * Communication channel with encryption initialization vectory
    * Encrypted communication ressource with initialization vector, for sending/receiving commands/responses after the SCRAM or CCOM session is established.
    * LWM2M path: /1024//44
    * Body converter id: "EncryptedIVCommand"
    * @tapVersion(">=1.85")
    * @param data input
    * @return EncryptedIVResponse api call
    */
    ScramService.prototype.sendWithIV = function (data) {
        var callOptions = this.sendWithIVCall(data);
        return this._call(callOptions);
    };
    /**
    * Communication channel with encryption initialization vectory
    * Encrypted communication ressource with initialization vector, for sending/receiving commands/responses after the SCRAM or CCOM session is established.
    * LWM2M path: /1024//44
    * Body converter id: "EncryptedIVCommand"
    * @tapVersion(">=1.85")
    * @param data input
    * @return call options
    */
    ScramService.prototype.sendWithIVCall = function (data) {
        var callOptions = this.resources.sendWithIV;
        callOptions.body = data;
        callOptions.pathParameters = {};
        return callOptions;
    };
    /**
    * Give encryption initialization vector to the device. The device returns its own initialization vector
    *
    * LWM2M path: /1024//45
    * Body converter id: "Bytes"
    * @tapVersion(">=1.85")
    * @param data input
    * @return Uint8Array api call
    */
    ScramService.prototype.setInitializationVector = function (data) {
        var callOptions = this.setInitializationVectorCall(data);
        return this._call(callOptions);
    };
    /**
    * Give encryption initialization vector to the device. The device returns its own initialization vector
    *
    * LWM2M path: /1024//45
    * Body converter id: "Bytes"
    * @tapVersion(">=1.85")
    * @param data input
    * @return call options
    */
    ScramService.prototype.setInitializationVectorCall = function (data) {
        var callOptions = this.resources.setInitializationVector;
        callOptions.body = data;
        callOptions.pathParameters = {};
        return callOptions;
    };
    return ScramService;
}(abstract_service_1.AbstractService));
exports.ScramService = ScramService;
