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); }