예제 #1
0
        public async Task <IActionResult> CreateSAS(SASToken token)
        {
            if (token == null)
            {
                return(BadRequest());
            }

            switch (token.TokenSubject)
            {
            case SASTokenSubjects.Blob:
                var blob = await _blobStore.GetByIdAsync(token.BlobId);

                if (blob == null)
                {
                    return(NotFound($"SAS subject blob {token.BlobId} not found."));
                }
                break;

            case SASTokenSubjects.Container:
                var container = await _containerStore.GetAsync(token.ContainerId);

                if (container == null)
                {
                    return(NotFound($"SAS subject container {token.ContainerId} not found."));
                }
                break;
            }

            token = await _sasStore.AddAsync(token);

            return(Ok(token));
        }
예제 #2
0
        public async Task <IActionResult> GetMetaDataAsync(string id)
        {
            if (string.IsNullOrEmpty(id))
            {
                return(BadRequest());
            }

            var blob = await _blobStore.GetByIdAsync(id);

            if (blob == null)
            {
                return(NotFound());
            }

            var metaData = await _blobMetaDataStore.GetAllFromBlobAsync(id);

            var metaDataModel = ModelMapper.ToViewModelList(metaData);

            return(Ok(metaDataModel));
        }