azurite
Version:
An open source Azure Storage API compatible server
40 lines • 2.49 kB
JavaScript
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
;