Beispiel #1
0
        public async Task <ActionResult <FolderDTO> > GetFolder(Guid id)
        {
            FolderDTO folder = await _folderService.GetFolderById(id);

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

            if (!(await _authorizationService.AuthorizeAsync(
                      User, folder, Operations.Read)).Succeeded)
            {
                return(NotFound("Folder not found."));
            }
            if ((await _authorizationService.AuthorizeAsync(
                     User, folder, Operations.Create)).Succeeded)
            {
                folder.Links = _linkGenerator.GenerateAllLinks(User, folder);
            }
            else
            {
                folder.Links = _linkGenerator.GenerateRestrictedLinks(folder);
            }
            return(Ok(folder));
        }
Beispiel #2
0
        public async Task <ActionResult <FileDTO> > GetById(Guid id)
        {
            FileDTO file = await _fileService.GetFileById(id);

            if (!(await _authorizationService.AuthorizeAsync(
                      User, file, Operations.Read)).Succeeded)
            {
                return(NotFound("File not found"));
            }
            if ((await _authorizationService.AuthorizeAsync(
                     User, file, Operations.Create)).Succeeded)
            {
                file.Links = _linkGenerator.GenerateAllLinks(User, file);
            }
            else
            {
                file.Links = _linkGenerator.GenerateRestrictedLinks(file);
            }

            return(Ok(file));
        }