public void CreateContainer(string containerName)
        {
            _authorizationChecker.CheckUserIsInRole(Security.Roles.Admin);

            ValidateContainerName(containerName);
            _contentStorageHost.CreateContainer(containerName);
        }
Пример #2
0
        public void AddAdmin(string userName, string authenticationToken)
        {
            _authorizationChecker.CheckUserIsInRole(Security.Roles.Admin, Security.Roles.System);

            AddUser(userName, authenticationToken, "*", Security.Roles.Admin, Security.Roles.Replicator, Security.Roles.Backup, Security.Roles.Operator);
        }
Пример #3
0
        public IDocumentMultiPartUploadInfo GetMultiPartUploadInfoOrDocumentIdentifier(string hash, string extention, long size)
        {
            _authorizationChecker.CheckUserIsInRole(Security.Roles.Operator);

            var container = GetContainer();

            var existingContentIdentifier = GetExistingContentIdentifier(container, hash, extention);

            if (existingContentIdentifier != null)
            {
                var existingDocumentIdentifier = _documentIdentifierProvider.GetDocumentIdentifier(existingContentIdentifier);
                var existingContentName        = _contentNameProvider.GetContentName(existingContentIdentifier);

                _committedContentNamesRepository.EnsureContent(_containerName, existingContentName, existingContentIdentifier.ModifiedMoment, CancellationToken.None);

                return(_documentMultiPartUploadInfoFactory(null, existingDocumentIdentifier));
            }

            CheckContainerState(true);

            var newContentIdentifier = GenerateUniqueContentIdentifier(container, hash, extention);

            var content = container.CreateContent(newContentIdentifier) as IURLContent;

            var multiPartUploadInfo = content.GetMultiPartUploadInfo(URLExpirySeconds, size);

            return(_documentMultiPartUploadInfoFactory(multiPartUploadInfo, null));
        }
        public IContentStorageContainer GetContentStorageContainer()
        {
            _authorizationChecker.CheckUserIsInRole(Security.Roles.Admin, Security.Roles.Maintainer, Security.Roles.Replicator, Security.Roles.Operator, Security.Roles.Backup);

            return(_contentStorageContainerFactory(((IContentStorageIdentity)Thread.CurrentPrincipal.Identity).ContainerName));
        }