"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 GroupService = /** @class */ (function (_super) {
    __extends(GroupService, _super);
    function GroupService(client, apiConfig) {
        var _this = _super.call(this, client, apiConfig) || this;
        _this.resources = {
            'changePassword': {
                path: "/group/{groupId}/password",
                methodType: "post",
                bodyEncoder: "string"
            },
            'changePasswordKey': {
                path: "/group/{groupId}/password-key",
                methodType: "post",
                bodyEncoder: "Bytes"
            },
            'create': {
                path: "/group/{groupId}/create",
                methodType: "post"
            },
            'getAlias': {
                path: "/group/{groupId}/alias",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'getName': {
                path: "/group/{groupId}/name",
                methodType: "get",
                returnTypeConverter: "string"
            },
            'getScramUserIteration': {
                path: "/group/{groupId}/scram-user-iteration",
                methodType: "get",
                returnTypeConverter: "integer_uint32"
            },
            'getScramUserSalt': {
                path: "/group/{groupId}/scram-user-salt",
                methodType: "get",
                returnTypeConverter: "integer_uint32"
            },
            'getSessionLifetime': {
                path: "/group/{groupId}/session-lifetime",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'putAlias': {
                path: "/group/{groupId}/alias",
                methodType: "put",
                bodyEncoder: "integer_uint16"
            },
            'putName': {
                path: "/group/{groupId}/name",
                methodType: "put",
                bodyEncoder: "string"
            },
            'putScramUserIteration': {
                path: "/group/{groupId}/scram-user-iteration",
                methodType: "put",
                bodyEncoder: "integer_uint32"
            },
            'putScramUserSalt': {
                path: "/group/{groupId}/scram-user-salt",
                methodType: "put",
                bodyEncoder: "integer_uint32"
            },
            'putSessionLifetime': {
                path: "/group/{groupId}/session-lifetime",
                methodType: "put",
                bodyEncoder: "integer_uint16"
            },
        };
        return _this;
    }
    /**
    * Update password
    * Change groupId password using an ASCII string
    * LWM2M path: /1025/{groupId}/2
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param groupId input

    * @tapVersion(">=1.0")
    *
    * @param password input
    * @return void api call
    */
    GroupService.prototype.changePassword = function (groupId, password) {
        var callOptions = this.resources.changePassword;
        callOptions.body = password;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Change password using bytes data
    * Change groupId password using binary data. If SCRAM multi-hash mode: StoredKey+ServerKey+UserSalt+UserIt (40 uchar)
    * LWM2M path: /1025/{groupId}/2
    * Body converter id: "Bytes"

    * @tapVersion(">=1.0")
    *
    * @param groupId input

    * @tapVersion(">=1.0")
    *
    * @param password input
    * @return void api call
    */
    GroupService.prototype.changePasswordKey = function (groupId, password) {
        var callOptions = this.resources.changePasswordKey;
        callOptions.body = password;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Create group with id groupId
    *
    * LWM2M path: /1025/{groupId}/65535

    * @tapVersion(">=1.0")
    *
    * @param groupId input
    * @return void api call
    */
    GroupService.prototype.create = function (groupId) {
        var callOptions = this.resources.create;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Get group alias
    * ID du groupe dont ce groupe hérite les droits. Si l&#39;Alias correspond à l&#39;ID du groupe, alors c&#39;est un Profile, sinon c&#39;est un User.
    * LWM2M path: /1025/{groupId}/5

    * @tapVersion(">=1.0")
    *
    * @param groupId input
    * @return number api call
    */
    GroupService.prototype.getAlias = function (groupId) {
        var callOptions = this.resources.getAlias;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Get the name of the group
    *
    * LWM2M path: /1025/{groupId}/0

    * @tapVersion(">=1.0")
    *
    * @param groupId input
    * @return string api call
    */
    GroupService.prototype.getName = function (groupId) {
        var callOptions = this.resources.getName;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Get scram user iteration
    * SCRAM Hash Iteration: Nombre d&#39;itérations utilisé en SCRAM pour le dernier hashage. Nombre &gt;1000, généré aléatoirement à l&#39;écriture de la conf dans l&#39;IoTize.
    * LWM2M path: /1025/{groupId}/7

    * @tapVersion(">=1.0")
    *
    * @param groupId input
    * @return number api call
    */
    GroupService.prototype.getScramUserIteration = function (groupId) {
        var callOptions = this.resources.getScramUserIteration;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Get scram user salt
    * User-specific salt utilisé (avec le User Name) pour saller les hashs du password StoredKey et ServerKey. Ecrit par Exec/SetPWD
    * LWM2M path: /1025/{groupId}/16

    * @tapVersion(">=1.0")
    *
    * @param groupId input
    * @return number api call
    */
    GroupService.prototype.getScramUserSalt = function (groupId) {
        var callOptions = this.resources.getScramUserSalt;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Get the maximum session lifetime
    *
    * LWM2M path: /1025/{groupId}/4

    * @tapVersion(">=1.0")
    *
    * @param groupId input
    * @return number api call
    */
    GroupService.prototype.getSessionLifetime = function (groupId) {
        var callOptions = this.resources.getSessionLifetime;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Write group alias
    *
    * LWM2M path: /1025/{groupId}/5
    * Body converter id: "integer_uint16"

    * @tapVersion(">=1.0")
    *
    * @param groupId input

    * @tapVersion(">=1.0")
    *
    * @param value input
    * @return void api call
    */
    GroupService.prototype.putAlias = function (groupId, value) {
        var callOptions = this.resources.putAlias;
        callOptions.body = value;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Write group name
    *
    * LWM2M path: /1025/{groupId}/0
    * Body converter id: "string"

    * @tapVersion(">=1.0")
    *
    * @param groupId input

    * @tapVersion(">=1.0")
    *
    * @param name input
    * @return void api call
    */
    GroupService.prototype.putName = function (groupId, name) {
        var callOptions = this.resources.putName;
        callOptions.body = name;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Write scram user iteration
    *
    * LWM2M path: /1025/{groupId}/7
    * Body converter id: "integer_uint32"

    * @tapVersion(">=1.0")
    *
    * @param groupId input

    * @tapVersion(">=1.0")
    *
    * @param value input
    * @return void api call
    */
    GroupService.prototype.putScramUserIteration = function (groupId, value) {
        var callOptions = this.resources.putScramUserIteration;
        callOptions.body = value;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Write scram user salt
    *
    * LWM2M path: /1025/{groupId}/16
    * Body converter id: "integer_uint32"

    * @tapVersion(">=1.0")
    *
    * @param groupId input

    * @tapVersion(">=1.0")
    *
    * @param value input
    * @return void api call
    */
    GroupService.prototype.putScramUserSalt = function (groupId, value) {
        var callOptions = this.resources.putScramUserSalt;
        callOptions.body = value;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    /**
    * Write session lifetime
    *
    * LWM2M path: /1025/{groupId}/4
    * Body converter id: "integer_uint16"

    * @tapVersion(">=1.0")
    *
    * @param groupId input

    * @tapVersion(">=1.0")
    *
    * @param value input
    * @return void api call
    */
    GroupService.prototype.putSessionLifetime = function (groupId, value) {
        var callOptions = this.resources.putSessionLifetime;
        callOptions.body = value;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return this._call(callOptions);
    };
    return GroupService;
}(abstract_service_1.AbstractService));
exports.GroupService = GroupService;
