Пример #1
0
        public async Task <IActionResult> GetShareableLink([FromQuery] Guid linkGuidId)
        {
            try
            {
                ShareableLinkModel link = await _fileService.GetShareableLink(linkGuidId);

                return(Ok(link));
            }

            catch (Exception ex)
            {
                return(BadRequest(ex));
            }
        }
        public async Task <ShareableLinkModel> GetShareableLink(Guid linkId)
        {
            ShareableLinkModel link = await _context.ShareableLinks.FirstOrDefaultAsync(x => x.Id == linkId);

            if (link != null)
            {
                return(link);
            }
            else
            {
                NullReferenceException ex = new NullReferenceException();
                ex.Data.Add("message", "FILE_NOT_FOUND_OR_DELETED");
                throw ex;
            }
        }
        public async Task <Guid> CreateShareableLink(int fileId, string filePassword)
        {
            FileModel file = await _context.Files.FirstOrDefaultAsync(x => x.Id == fileId);

            ShareableLinkModel shareableLink = new ShareableLinkModel()
            {
                Id           = Guid.NewGuid(),
                FileId       = file.Id,
                FilePassword = filePassword,
                FileName     = file.FileName
            };

            _context.ShareableLinks.Add(shareableLink);
            await _context.SaveChangesAsync();

            return(shareableLink.Id);
        }