@itwin/object-storage-azure
Version:
Object storage implementation using Azure Blob Storage
39 lines • 1.83 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.buildBlobSASParameters = buildBlobSASParameters;
exports.buildContainerSASParameters = buildContainerSASParameters;
/*---------------------------------------------------------------------------------------------
* Copyright (c) Bentley Systems, Incorporated. All rights reserved.
* See LICENSE.md in the project root for license terms and full copyright notice.
*--------------------------------------------------------------------------------------------*/
const storage_blob_1 = require("@azure/storage-blob");
function buildBlobSASParameters(containerName, readOrWrite, expiresOn, accountName, accountKey, blobName) {
const permissions = new storage_blob_1.BlobSASPermissions();
permissions.read = readOrWrite === "read";
permissions.write = readOrWrite === "write";
const parameters = (0, storage_blob_1.generateBlobSASQueryParameters)({
containerName,
blobName,
permissions,
expiresOn,
}, new storage_blob_1.StorageSharedKeyCredential(accountName, accountKey));
return parameters.toString();
}
function buildContainerSASParameters(containerName, expiresOn, accountName, accountKey) {
const permissions = getContainerSASPermissions();
const parameters = (0, storage_blob_1.generateBlobSASQueryParameters)({
containerName,
permissions,
expiresOn,
}, new storage_blob_1.StorageSharedKeyCredential(accountName, accountKey));
return parameters.toString();
}
function getContainerSASPermissions() {
const permissions = new storage_blob_1.ContainerSASPermissions();
permissions.read = true;
permissions.write = true;
permissions.delete = true;
permissions.list = true;
return permissions;
}
//# sourceMappingURL=Helpers.js.map