UNPKG

azurite

Version:

An open source Azure Storage API compatible server

40 lines 2.49 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.OPERATION_QUEUE_SAS_PERMISSIONS = exports.OperationQueueSASPermission = void 0; const tslib_1 = require("tslib"); const operation_1 = tslib_1.__importDefault(require("../generated/artifacts/operation")); const QueueSASPermissions_1 = require("./QueueSASPermissions"); class OperationQueueSASPermission { constructor(permission = "") { this.permission = permission; } validate(permissions) { return this.validatePermissions(permissions); } validatePermissions(permissions) { for (const p of this.permission) { if (permissions.toString().includes(p)) { return true; } } return false; } } exports.OperationQueueSASPermission = OperationQueueSASPermission; // See https://docs.microsoft.com/en-us/rest/api/storageservices/constructing-a-service-sas // Blob Service SAS Permissions for blob level exports.OPERATION_QUEUE_SAS_PERMISSIONS = new Map(); // Init permission as "" for all operations. for (const operation in operation_1.default) { if (!isNaN(Number(operation))) { exports.OPERATION_QUEUE_SAS_PERMISSIONS.set(Number(operation), new OperationQueueSASPermission()); } } exports.OPERATION_QUEUE_SAS_PERMISSIONS.set(operation_1.default.Queue_GetProperties, new OperationQueueSASPermission(QueueSASPermissions_1.QueueSASPermission.Read)); exports.OPERATION_QUEUE_SAS_PERMISSIONS.set(operation_1.default.Queue_GetPropertiesWithHead, new OperationQueueSASPermission(QueueSASPermissions_1.QueueSASPermission.Read)); exports.OPERATION_QUEUE_SAS_PERMISSIONS.set(operation_1.default.Messages_Peek, new OperationQueueSASPermission(QueueSASPermissions_1.QueueSASPermission.Read)); exports.OPERATION_QUEUE_SAS_PERMISSIONS.set(operation_1.default.Messages_Enqueue, new OperationQueueSASPermission(QueueSASPermissions_1.QueueSASPermission.Add)); exports.OPERATION_QUEUE_SAS_PERMISSIONS.set(operation_1.default.MessageId_Update, new OperationQueueSASPermission(QueueSASPermissions_1.QueueSASPermission.Update)); exports.OPERATION_QUEUE_SAS_PERMISSIONS.set(operation_1.default.Messages_Dequeue, new OperationQueueSASPermission(QueueSASPermissions_1.QueueSASPermission.Process)); exports.OPERATION_QUEUE_SAS_PERMISSIONS.set(operation_1.default.MessageId_Delete, new OperationQueueSASPermission(QueueSASPermissions_1.QueueSASPermission.Process)); //# sourceMappingURL=OperationQueueSASPermission.js.map