"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 AclService = /** @class */ (function (_super) {
    __extends(AclService, _super);
    function AclService(client, apiConfig) {
        var _this = _super.call(this, client, apiConfig) || this;
        _this.resources = {
            'getInstanceId': {
                path: "/acl/{objectId}/instance-id",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'getList': {
                path: "/acl/{objectId}/list",
                methodType: "get",
                returnTypeConverter: "AclEntries"
            },
            'getObjectId': {
                path: "/acl/{objectId}/object-id",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'getOwner': {
                path: "/acl/{objectId}/owner",
                methodType: "get",
                returnTypeConverter: "integer_uint16"
            },
            'putList': {
                path: "/acl/{objectId}/list",
                methodType: "put"
            },
            'putOwner': {
                path: "/acl/{objectId}/owner",
                methodType: "put",
                bodyEncoder: "integer_uint32"
            },
        };
        return _this;
    }
    /**
    * Get ACL object instance id
    *
    * LWM2M path: /2/{objectId}/1

    * @tapVersion(">=1.0")
    *
    * @param objectId input
    * @return number api call
    */
    AclService.prototype.getInstanceId = function (objectId) {
        var callOptions = this.resources.getInstanceId;
        callOptions.pathParameters = {
            "objectId": objectId,
        };
        return this._call(callOptions);
    };
    /**
    * Get ACL list
    * Ressource contenant les droits d&#39;un groupe sur cet objet : * ressource instance ID &#x3D; Short Server ID du groupe
    * LWM2M path: /2/{objectId}/2

    * @tapVersion(">=1.0")
    *
    * @param objectId input
    * @return AclEntries api call
    */
    AclService.prototype.getList = function (objectId) {
        var callOptions = this.resources.getList;
        callOptions.pathParameters = {
            "objectId": objectId,
        };
        return this._call(callOptions);
    };
    /**
    * Get acl object id
    *
    * LWM2M path: /2/{objectId}/0

    * @tapVersion(">=1.0")
    *
    * @param objectId input
    * @return number api call
    */
    AclService.prototype.getObjectId = function (objectId) {
        var callOptions = this.resources.getObjectId;
        callOptions.pathParameters = {
            "objectId": objectId,
        };
        return this._call(callOptions);
    };
    /**
    * Get ACL group owner id
    *
    * LWM2M path: /2/{objectId}/3

    * @tapVersion(">=1.0")
    *
    * @param objectId input
    * @return number api call
    */
    AclService.prototype.getOwner = function (objectId) {
        var callOptions = this.resources.getOwner;
        callOptions.pathParameters = {
            "objectId": objectId,
        };
        return this._call(callOptions);
    };
    /**
    * Write ACL
    *
    * LWM2M path: /2/{objectId}/2

    * @tapVersion(">=1.0")
    *
    * @param objectId input
    * @return void api call
    */
    AclService.prototype.putList = function (objectId) {
        var callOptions = this.resources.putList;
        callOptions.pathParameters = {
            "objectId": objectId,
        };
        return this._call(callOptions);
    };
    /**
    * Set access control owner group
    *
    * LWM2M path: /2/{objectId}/3
    * Body converter id: "integer_uint32"

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

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