51 lines
2.7 KiB
JavaScript
51 lines
2.7 KiB
JavaScript
"use strict";
|
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
function step(result) { result.done ? resolve(result.value) : new P(function (resolve) { resolve(result.value); }).then(fulfilled, rejected); }
|
|
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
});
|
|
};
|
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
const CommandsBase_1 = require("./CommandsBase");
|
|
const UUID_1 = require("../UUID");
|
|
const LLSD = require("@caspertech/llsd");
|
|
const Utils_1 = require("../Utils");
|
|
class AssetCommands extends CommandsBase_1.CommandsBase {
|
|
downloadAsset(type, uuid) {
|
|
return __awaiter(this, void 0, void 0, function* () {
|
|
return yield this.currentRegion.caps.downloadAsset(uuid, type);
|
|
});
|
|
}
|
|
uploadAsset(type, data, name, description) {
|
|
return new Promise((resolve, reject) => {
|
|
if (this.agent && this.agent.inventory && this.agent.inventory.main && this.agent.inventory.main.root) {
|
|
this.currentRegion.caps.capsRequestXML('NewFileAgentInventory', {
|
|
'folder_id': new LLSD.UUID(this.agent.inventory.main.root.toString()),
|
|
'asset_type': type,
|
|
'inventory_type': Utils_1.Utils.HTTPAssetTypeToInventoryType(type),
|
|
'name': name,
|
|
'description': description,
|
|
'everyone_mask': (1 << 13) | (1 << 14) | (1 << 15) | (1 << 19),
|
|
'group_mask': (1 << 13) | (1 << 14) | (1 << 15) | (1 << 19),
|
|
'next_owner_mask': (1 << 13) | (1 << 14) | (1 << 15) | (1 << 19),
|
|
'expected_upload_cost': 0
|
|
}).then((response) => {
|
|
if (response['state'] === 'upload') {
|
|
const uploadURL = response['uploader'];
|
|
this.currentRegion.caps.capsRequestUpload(uploadURL, data).then((responseUpload) => {
|
|
resolve(new UUID_1.UUID(responseUpload['new_asset'].toString()));
|
|
}).catch((err) => {
|
|
reject(err);
|
|
});
|
|
}
|
|
}).catch((err) => {
|
|
console.log(err);
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
exports.AssetCommands = AssetCommands;
|
|
//# sourceMappingURL=AssetCommands.js.map
|