UNPKG

azurite

Version:

An open source Azure Storage API compatible server

29 lines 1.41 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const tslib_1 = require("tslib"); const StorageErrorFactory_1 = tslib_1.__importDefault(require("../errors/StorageErrorFactory")); const models_1 = require("../generated/artifacts/models"); class ContainerReadLeaseValidator { constructor(leaseAccessConditions) { this.leaseAccessConditions = leaseAccessConditions; } validate(lease, context) { // check only when input Leased Id is not empty if (this.leaseAccessConditions !== undefined && this.leaseAccessConditions.leaseId !== undefined && this.leaseAccessConditions.leaseId !== "") { // return error when lease is unlocked if (lease.leaseStatus === models_1.LeaseStatusType.Unlocked) { throw StorageErrorFactory_1.default.getContainerLeaseLost(context.contextId); } else if (lease.leaseId !== undefined && this.leaseAccessConditions.leaseId.toLowerCase() !== lease.leaseId.toLowerCase()) { // return error when lease is locked but lease ID not match throw StorageErrorFactory_1.default.getContainerLeaseIdMismatchWithContainerOperation(context.contextId); } } } } exports.default = ContainerReadLeaseValidator; //# sourceMappingURL=ContainerReadLeaseValidator.js.map