"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"
            },
            '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"
            },
            '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
    * @param password input
    * @return void api call
    */
    GroupService.prototype.changePassword = function (groupId, password) {
        var callOptions = this.changePasswordCall(groupId, password);
        return this._call(callOptions);
    };
    /**
    * Update password
    * Change groupId password using an ASCII string
    * LWM2M path: /1025/{groupId}/2
    * Body converter id: "string"
    * @tapVersion(">=1.0")
    * @param groupId input
    * @param password input
    * @return call options
    */
    GroupService.prototype.changePasswordCall = function (groupId, password) {
        var callOptions = this.resources.changePassword;
        callOptions.body = password;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return 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
    * @param password input
    * @return void api call
    */
    GroupService.prototype.changePasswordKey = function (groupId, password) {
        var callOptions = this.changePasswordKeyCall(groupId, password);
        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
    * @param password input
    * @return call options
    */
    GroupService.prototype.changePasswordKeyCall = function (groupId, password) {
        var callOptions = this.resources.changePasswordKey;
        callOptions.body = password;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return 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.createCall(groupId);
        return this._call(callOptions);
    };
    /**
    * Create group with id groupId
    *
    * LWM2M path: /1025/{groupId}/65535
    * @tapVersion(">=1.0")
    * @param groupId input
    * @return call options
    */
    GroupService.prototype.createCall = function (groupId) {
        var callOptions = this.resources.create;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return 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.getAliasCall(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 call options
    */
    GroupService.prototype.getAliasCall = function (groupId) {
        var callOptions = this.resources.getAlias;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return 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.getNameCall(groupId);
        return this._call(callOptions);
    };
    /**
    * Get the name of the group
    *
    * LWM2M path: /1025/{groupId}/0
    * @tapVersion(">=1.0")
    * @param groupId input
    * @return call options
    */
    GroupService.prototype.getNameCall = function (groupId) {
        var callOptions = this.resources.getName;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return 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.getSessionLifetimeCall(groupId);
        return this._call(callOptions);
    };
    /**
    * Get the maximum session lifetime
    *
    * LWM2M path: /1025/{groupId}/4
    * @tapVersion(">=1.0")
    * @param groupId input
    * @return call options
    */
    GroupService.prototype.getSessionLifetimeCall = function (groupId) {
        var callOptions = this.resources.getSessionLifetime;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return callOptions;
    };
    /**
    * Write group alias
    *
    * LWM2M path: /1025/{groupId}/5
    * Body converter id: "integer_uint16"
    * @tapVersion(">=1.0")
    * @param groupId input
    * @param value input
    * @return void api call
    */
    GroupService.prototype.putAlias = function (groupId, value) {
        var callOptions = this.putAliasCall(groupId, value);
        return this._call(callOptions);
    };
    /**
    * Write group alias
    *
    * LWM2M path: /1025/{groupId}/5
    * Body converter id: "integer_uint16"
    * @tapVersion(">=1.0")
    * @param groupId input
    * @param value input
    * @return call options
    */
    GroupService.prototype.putAliasCall = function (groupId, value) {
        var callOptions = this.resources.putAlias;
        callOptions.body = value;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return callOptions;
    };
    /**
    * Write group name
    *
    * LWM2M path: /1025/{groupId}/0
    * Body converter id: "string"
    * @tapVersion(">=1.0")
    * @param groupId input
    * @param name input
    * @return void api call
    */
    GroupService.prototype.putName = function (groupId, name) {
        var callOptions = this.putNameCall(groupId, name);
        return this._call(callOptions);
    };
    /**
    * Write group name
    *
    * LWM2M path: /1025/{groupId}/0
    * Body converter id: "string"
    * @tapVersion(">=1.0")
    * @param groupId input
    * @param name input
    * @return call options
    */
    GroupService.prototype.putNameCall = function (groupId, name) {
        var callOptions = this.resources.putName;
        callOptions.body = name;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return callOptions;
    };
    /**
    * Write session lifetime
    *
    * LWM2M path: /1025/{groupId}/4
    * Body converter id: "integer_uint16"
    * @tapVersion(">=1.0")
    * @param groupId input
    * @param value input
    * @return void api call
    */
    GroupService.prototype.putSessionLifetime = function (groupId, value) {
        var callOptions = this.putSessionLifetimeCall(groupId, value);
        return this._call(callOptions);
    };
    /**
    * Write session lifetime
    *
    * LWM2M path: /1025/{groupId}/4
    * Body converter id: "integer_uint16"
    * @tapVersion(">=1.0")
    * @param groupId input
    * @param value input
    * @return call options
    */
    GroupService.prototype.putSessionLifetimeCall = function (groupId, value) {
        var callOptions = this.resources.putSessionLifetime;
        callOptions.body = value;
        callOptions.pathParameters = {
            "groupId": groupId,
        };
        return callOptions;
    };
    return GroupService;
}(abstract_service_1.AbstractService));
exports.GroupService = GroupService;
