"use strict";
var __extends = (this && this.__extends) || (function () {
    var extendStatics = function (d, b) {
        extendStatics = Object.setPrototypeOf ||
            ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||
            function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };
        return extendStatics(d, b);
    };
    return function (d, b) {
        if (typeof b !== "function" && b !== null)
            throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
        extendStatics(d, b);
        function __() { this.constructor = d; }
        d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
    };
})();
var __importDefault = (this && this.__importDefault) || function (mod) {
    return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var Entity_1 = __importDefault(require("../../Core/Entity"));
var floating_inventories_consts_1 = require("../v2/floating-inventories.consts");
var BASE_ROUTE = 'floating_inventories';
var USERS_WITH_AVAILABLE_FLOATING_INVENTORY = "/".concat(BASE_ROUTE, "/users_with_available_floating_inventory");
var FloatingInventoryEntity = /** @class */ (function (_super) {
    __extends(FloatingInventoryEntity, _super);
    function FloatingInventoryEntity(session) {
        return _super.call(this, {
            session: session,
            entityName: 'floating_inventories'
        }) || this;
    }
    FloatingInventoryEntity.prototype.getUsersWithAvailableFloatingInventory = function (taskId) {
        return this.service.routeGenerator
            .get(USERS_WITH_AVAILABLE_FLOATING_INVENTORY)
            .withExtractor(floating_inventories_consts_1.userIdsExtractor)
            .setException("failed to get available users for dispatch for task [".concat(taskId, "]"))
            .withQueryString({ task_id: taskId })
            .invoke();
    };
    return FloatingInventoryEntity;
}(Entity_1.default));
exports.default = FloatingInventoryEntity;
//# sourceMappingURL=FloatingInventoryEntity.js.map