2017-12-13 15:23:50 +00:00
|
|
|
"use strict";
|
|
|
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
2017-12-19 19:59:06 +00:00
|
|
|
const UUID_1 = require("./UUID");
|
|
|
|
|
const AssetType_1 = require("../enums/AssetType");
|
2017-12-19 23:43:00 +00:00
|
|
|
const InventoryFolder_1 = require("./InventoryFolder");
|
2017-12-13 15:23:50 +00:00
|
|
|
class Inventory {
|
2017-12-20 02:00:12 +00:00
|
|
|
constructor(clientEvents, agent) {
|
2017-12-13 15:23:50 +00:00
|
|
|
this.main = {
|
2017-12-19 23:43:00 +00:00
|
|
|
skeleton: {}
|
2017-12-13 15:23:50 +00:00
|
|
|
};
|
|
|
|
|
this.library = {
|
2017-12-19 23:43:00 +00:00
|
|
|
skeleton: {}
|
2017-12-13 15:23:50 +00:00
|
|
|
};
|
2017-12-20 02:00:12 +00:00
|
|
|
this.agent = agent;
|
2017-12-13 15:23:50 +00:00
|
|
|
this.clientEvents = clientEvents;
|
|
|
|
|
}
|
2017-12-19 23:43:00 +00:00
|
|
|
getRootFolderLibrary() {
|
|
|
|
|
if (this.library.root === undefined) {
|
2017-12-20 02:00:12 +00:00
|
|
|
return new InventoryFolder_1.InventoryFolder(this.library, this.agent);
|
2017-12-19 23:43:00 +00:00
|
|
|
}
|
|
|
|
|
const uuidStr = this.library.root.toString();
|
|
|
|
|
if (this.library.skeleton[uuidStr]) {
|
|
|
|
|
return this.library.skeleton[uuidStr];
|
|
|
|
|
}
|
|
|
|
|
else {
|
2017-12-20 02:00:12 +00:00
|
|
|
return new InventoryFolder_1.InventoryFolder(this.library, this.agent);
|
2017-12-19 23:43:00 +00:00
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
getRootFolderMain() {
|
|
|
|
|
if (this.main.root === undefined) {
|
2017-12-20 02:00:12 +00:00
|
|
|
return new InventoryFolder_1.InventoryFolder(this.main, this.agent);
|
2017-12-19 23:43:00 +00:00
|
|
|
}
|
|
|
|
|
const uuidStr = this.main.root.toString();
|
|
|
|
|
if (this.main.skeleton[uuidStr]) {
|
|
|
|
|
return this.main.skeleton[uuidStr];
|
|
|
|
|
}
|
|
|
|
|
else {
|
2017-12-20 02:00:12 +00:00
|
|
|
return new InventoryFolder_1.InventoryFolder(this.main, this.agent);
|
2017-12-19 23:43:00 +00:00
|
|
|
}
|
|
|
|
|
}
|
2017-12-19 19:59:06 +00:00
|
|
|
findFolderForType(type) {
|
|
|
|
|
if (this.main.root === undefined) {
|
|
|
|
|
return UUID_1.UUID.zero();
|
|
|
|
|
}
|
|
|
|
|
if (type === AssetType_1.AssetType.Folder) {
|
|
|
|
|
return this.main.root;
|
|
|
|
|
}
|
|
|
|
|
let found = UUID_1.UUID.zero();
|
2017-12-20 02:00:12 +00:00
|
|
|
Object.keys(this.main.skeleton).forEach((fUUID) => {
|
|
|
|
|
const folder = this.main.skeleton[fUUID];
|
2017-12-19 19:59:06 +00:00
|
|
|
if (folder.typeDefault === type) {
|
|
|
|
|
found = folder.folderID;
|
|
|
|
|
}
|
|
|
|
|
});
|
|
|
|
|
return found;
|
|
|
|
|
}
|
2017-12-13 15:23:50 +00:00
|
|
|
}
|
|
|
|
|
exports.Inventory = Inventory;
|
|
|
|
|
//# sourceMappingURL=Inventory.js.map
|