Got the sliders extracted to their own page
This commit is contained in:
@@ -5,47 +5,54 @@ namespace OpenArchival.DataAccess;
|
||||
|
||||
public class FilePathListingProvider : IFilePathListingProvider
|
||||
{
|
||||
private readonly ApplicationDbContext _context;
|
||||
private readonly IDbContextFactory<ApplicationDbContext> _contextFactory;
|
||||
private readonly ILogger<FilePathListingProvider> _logger;
|
||||
|
||||
[SetsRequiredMembers]
|
||||
public FilePathListingProvider(ApplicationDbContext context, ILogger<FilePathListingProvider> logger)
|
||||
public FilePathListingProvider(IDbContextFactory<ApplicationDbContext> factory, ILogger<FilePathListingProvider> logger)
|
||||
{
|
||||
_context = context;
|
||||
_contextFactory = factory;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<FilePathListing?> GetFilePathListingAsync(int id)
|
||||
{
|
||||
return await _context.ArtifactFilePaths.Where(f => f.Id == id).FirstOrDefaultAsync();
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
return await context.ArtifactFilePaths.Where(f => f.Id == id).FirstOrDefaultAsync();
|
||||
}
|
||||
|
||||
public async Task<FilePathListing?> GetFilePathListingByPathAsync(string path)
|
||||
{
|
||||
return await _context.ArtifactFilePaths.Where(f => f.Path == path).FirstOrDefaultAsync();
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
return await context.ArtifactFilePaths.Where(f => f.Path == path).FirstOrDefaultAsync();
|
||||
}
|
||||
|
||||
public async Task CreateFilePathListingAsync(FilePathListing filePathListing)
|
||||
{
|
||||
_context.ArtifactFilePaths.Add(filePathListing);
|
||||
await _context.SaveChangesAsync();
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
context.ArtifactFilePaths.Add(filePathListing);
|
||||
await context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public async Task UpdateFilePathListingAsync(FilePathListing filePathListing)
|
||||
{
|
||||
_context.ArtifactFilePaths.Update(filePathListing);
|
||||
await _context.SaveChangesAsync();
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
context.ArtifactFilePaths.Update(filePathListing);
|
||||
await context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public async Task DeleteFilePathListingAsync(FilePathListing filePathListing)
|
||||
{
|
||||
_context.ArtifactFilePaths.Remove(filePathListing);
|
||||
await _context.SaveChangesAsync();
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
context.ArtifactFilePaths.Remove(filePathListing);
|
||||
await context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
public async Task<bool> DeleteFilePathListingAsync(string originalFileName, string diskPath)
|
||||
{
|
||||
var listingToDelete = await _context.ArtifactFilePaths
|
||||
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
var listingToDelete = await context.ArtifactFilePaths
|
||||
.Where(p => p.OriginalName == originalFileName)
|
||||
.Where(p => p.Path == diskPath)
|
||||
.FirstOrDefaultAsync();
|
||||
@@ -55,7 +62,8 @@ public class FilePathListingProvider : IFilePathListingProvider
|
||||
return false;
|
||||
}
|
||||
|
||||
_context.RemoveRange(listingToDelete);
|
||||
context.RemoveRange(listingToDelete);
|
||||
await context.SaveChangesAsync();
|
||||
return true;
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user