init
This commit is contained in:
189
OpenArchival.DataAccess.FileAccessManager/FileAccessManager.cs
Normal file
189
OpenArchival.DataAccess.FileAccessManager/FileAccessManager.cs
Normal file
@@ -0,0 +1,189 @@
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using OpenArchival.Blazor.CustomComponents;
|
||||
|
||||
namespace OpenArchival.DataAccess.FileAccessManager;
|
||||
|
||||
public class FileAccessManager : IFileAccessManager
|
||||
{
|
||||
private IDbContextFactory<ApplicationDbContext> _contextFactory { get; set; }
|
||||
IOptions<FileUploadOptions> _fileUploadOptions { get; set; }
|
||||
ILogger<FileAccessManager> _logger { get; set; }
|
||||
private readonly IImageThumbnailer _thumbnailer;
|
||||
|
||||
public FileAccessManager(
|
||||
IDbContextFactory<ApplicationDbContext> contextFactory,
|
||||
IOptions<FileUploadOptions> fileOptions,
|
||||
ILogger<FileAccessManager> logger,
|
||||
IImageThumbnailer thumbnailer
|
||||
)
|
||||
{
|
||||
_contextFactory = contextFactory;
|
||||
_fileUploadOptions = fileOptions;
|
||||
_logger = logger;
|
||||
_thumbnailer = thumbnailer;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Queries the file listing from the database based on the id, then deletes the file from the disk and
|
||||
/// the file listing from the database.
|
||||
///
|
||||
/// </summary>
|
||||
/// <param name="id"></param>
|
||||
/// <returns>
|
||||
/// Returns true if the file is deleted successfully
|
||||
/// returns false if the file cannot be found in the database
|
||||
/// </returns>
|
||||
/// <exception cref="IOException">Thrown if there is an IOException while trying to delete the file.</exception>
|
||||
public async Task<bool> DeleteFileAsync(int id)
|
||||
{
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
|
||||
FilePathListing? existingListing = await context.ArtifactFilePaths
|
||||
.Where(listing=>listing.Id == id)
|
||||
.SingleOrDefaultAsync();
|
||||
|
||||
if (existingListing == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
var filename = existingListing.Path;
|
||||
var smallThumb = existingListing.SmallThumbnailPath;
|
||||
var largeThumb = existingListing.LargeThumbnailPath;
|
||||
|
||||
// Delete from the database before we delete from the disk to avoid someone trying to read it
|
||||
// before it deletes
|
||||
await context.ArtifactFilePaths.Where(listing => listing.Id == id).ExecuteDeleteAsync();
|
||||
|
||||
try
|
||||
{
|
||||
if (File.Exists(filename))
|
||||
{
|
||||
File.Delete(filename);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(smallThumb) && File.Exists(smallThumb))
|
||||
{
|
||||
File.Delete(smallThumb);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(largeThumb) && File.Exists(largeThumb))
|
||||
{
|
||||
File.Delete(largeThumb);
|
||||
}
|
||||
}
|
||||
catch (IOException e)
|
||||
{
|
||||
throw new IOException("Could not delete file(s) from the disk!", e);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Uploads the given browser file to the disk and creates a corresponding database entry.
|
||||
/// </summary>
|
||||
/// <param name="browserFile"></param>
|
||||
/// <returns>Returns the FilePathListing object that was inserted to the database</returns>
|
||||
/// <exception cref="IOException">Throws wrapped IOException if the FileStream cannot be constructed.</exception>
|
||||
public async Task<FilePathListing> UploadFileAsync(IBrowserFile browserFile)
|
||||
{
|
||||
var diskFileName = $"{Guid.NewGuid()}{Path.GetExtension(browserFile.Name)}";
|
||||
var destinationPath = Path.Combine(_fileUploadOptions.Value.UploadFolderPath, diskFileName);
|
||||
|
||||
await using var browserUploadStream = browserFile.OpenReadStream(maxAllowedSize: _fileUploadOptions.Value.MaxUploadSizeBytes);
|
||||
|
||||
|
||||
try {
|
||||
await using var outFileStream = new FileStream(destinationPath, FileMode.Create);
|
||||
await browserUploadStream.CopyToAsync(outFileStream);
|
||||
} catch (IOException e)
|
||||
{
|
||||
throw new IOException("Failed to open file stream to write file to disk", e);
|
||||
}
|
||||
|
||||
// Create the new entity
|
||||
var newFile = new FilePathListing() { Path = destinationPath, OriginalName = Path.GetFileName(browserFile.Name) };
|
||||
|
||||
// Generate thumbnails if it is a supported image
|
||||
if (_thumbnailer.IsSupportedImage(destinationPath))
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _thumbnailer.GenerateThumbnailsAsync(destinationPath);
|
||||
newFile.SmallThumbnailPath = result.SmallThumbnailPath;
|
||||
newFile.LargeThumbnailPath = result.LargeThumbnailPath;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Failed to generate thumbnails for {Path}", destinationPath);
|
||||
// We don't throw here, as we still want to save the original file
|
||||
}
|
||||
}
|
||||
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
context.ArtifactFilePaths.Add(newFile);
|
||||
|
||||
// Save the file entry
|
||||
await context.SaveChangesAsync();
|
||||
|
||||
return newFile;
|
||||
}
|
||||
|
||||
public async Task<FilePathListing?> GetFile(int id)
|
||||
{
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
|
||||
FilePathListing? existingListing = await context.ArtifactFilePaths.FirstOrDefaultAsync(a => a.Id == id);
|
||||
|
||||
return existingListing;
|
||||
}
|
||||
|
||||
public async Task<(int Processed, int Failed)> BackfillThumbnailsAsync()
|
||||
{
|
||||
await using var context = await _contextFactory.CreateDbContextAsync();
|
||||
|
||||
var listingsToProcess = await context.ArtifactFilePaths
|
||||
.Where(f => string.IsNullOrEmpty(f.SmallThumbnailPath) || string.IsNullOrEmpty(f.LargeThumbnailPath))
|
||||
.ToListAsync();
|
||||
|
||||
int processed = 0;
|
||||
int failed = 0;
|
||||
|
||||
foreach (var listing in listingsToProcess)
|
||||
{
|
||||
if (!File.Exists(listing.Path))
|
||||
{
|
||||
_logger.LogWarning("File not found on disk during backfill: {Path} (ID: {Id})", listing.Path, listing.Id);
|
||||
failed++;
|
||||
continue;
|
||||
}
|
||||
|
||||
if (_thumbnailer.IsSupportedImage(listing.Path))
|
||||
{
|
||||
try
|
||||
{
|
||||
var result = await _thumbnailer.GenerateThumbnailsAsync(listing.Path);
|
||||
listing.SmallThumbnailPath = result.SmallThumbnailPath;
|
||||
listing.LargeThumbnailPath = result.LargeThumbnailPath;
|
||||
processed++;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
_logger.LogError(ex, "Failed to generate thumbnails during backfill for {Path} (ID: {Id})", listing.Path, listing.Id);
|
||||
failed++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (processed > 0)
|
||||
{
|
||||
await context.SaveChangesAsync();
|
||||
}
|
||||
|
||||
return (processed, failed);
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,19 @@
|
||||
using Microsoft.AspNetCore.Components.Forms;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenArchival.DataAccess.FileAccessManager;
|
||||
|
||||
public interface IFileAccessManager
|
||||
{
|
||||
public Task<FilePathListing> UploadFileAsync(IBrowserFile browserFile);
|
||||
|
||||
public Task<bool> DeleteFileAsync(int id);
|
||||
|
||||
public Task<FilePathListing?> GetFile(int id);
|
||||
|
||||
public Task<(int Processed, int Failed)> BackfillThumbnailsAsync();
|
||||
}
|
||||
@@ -0,0 +1,20 @@
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace OpenArchival.DataAccess.FileAccessManager;
|
||||
|
||||
public interface IImageThumbnailer
|
||||
{
|
||||
/// <summary>
|
||||
/// Generates small and large thumbnails for the given image file.
|
||||
/// </summary>
|
||||
/// <param name="originalFilePath">The full path to the original image file.</param>
|
||||
/// <returns>A task that returns a ThumbnailResult containing the paths to the generated thumbnails.</returns>
|
||||
Task<ThumbnailResult> GenerateThumbnailsAsync(string originalFilePath);
|
||||
|
||||
/// <summary>
|
||||
/// Checks if the file at the given path is a supported image format.
|
||||
/// </summary>
|
||||
bool IsSupportedImage(string filePath);
|
||||
}
|
||||
|
||||
public record ThumbnailResult(string SmallThumbnailPath, string LargeThumbnailPath);
|
||||
@@ -0,0 +1,89 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using Microsoft.Extensions.Options;
|
||||
using OpenArchival.Blazor.CustomComponents;
|
||||
using SixLabors.ImageSharp;
|
||||
using SixLabors.ImageSharp.Processing;
|
||||
using System.IO;
|
||||
|
||||
namespace OpenArchival.DataAccess.FileAccessManager;
|
||||
|
||||
public class ImageThumbnailer : IImageThumbnailer
|
||||
{
|
||||
private readonly IOptions<FileUploadOptions> _fileUploadOptions;
|
||||
private readonly ILogger<ImageThumbnailer> _logger;
|
||||
|
||||
private static readonly string[] SupportedExtensions = { ".jpg", ".jpeg", ".png", ".gif", ".bmp", ".webp", ".tiff" };
|
||||
|
||||
public ImageThumbnailer(IOptions<FileUploadOptions> fileUploadOptions, ILogger<ImageThumbnailer> logger)
|
||||
{
|
||||
_fileUploadOptions = fileUploadOptions;
|
||||
_logger = logger;
|
||||
}
|
||||
|
||||
public async Task<ThumbnailResult> GenerateThumbnailsAsync(string originalFilePath)
|
||||
{
|
||||
if (!File.Exists(originalFilePath))
|
||||
{
|
||||
_logger.LogError("Original file not found: {Path}", originalFilePath);
|
||||
throw new FileNotFoundException("Original file not found", originalFilePath);
|
||||
}
|
||||
|
||||
if (!IsSupportedImage(originalFilePath))
|
||||
{
|
||||
_logger.LogWarning("File is not a supported image format: {Path}", originalFilePath);
|
||||
return new ThumbnailResult(string.Empty, string.Empty);
|
||||
}
|
||||
|
||||
var fileNameWithoutExtension = Path.GetFileNameWithoutExtension(originalFilePath);
|
||||
var thumbnailFolder = _fileUploadOptions.Value.ThumbnailFolderPath;
|
||||
|
||||
if (!Directory.Exists(thumbnailFolder))
|
||||
{
|
||||
Directory.CreateDirectory(thumbnailFolder);
|
||||
}
|
||||
|
||||
var smallPath = Path.Combine(thumbnailFolder, $"{fileNameWithoutExtension}_small.webp");
|
||||
var largePath = Path.Combine(thumbnailFolder, $"{fileNameWithoutExtension}_large.webp");
|
||||
|
||||
using (var image = await Image.LoadAsync(originalFilePath))
|
||||
{
|
||||
await Task.WhenAll(
|
||||
CreateThumbnailAsync(image.Clone(x => { }), smallPath, _fileUploadOptions.Value.SmallThumbnailSize),
|
||||
CreateThumbnailAsync(image.Clone(x => { }), largePath, _fileUploadOptions.Value.LargeThumbnailSize)
|
||||
);
|
||||
}
|
||||
|
||||
return new ThumbnailResult(smallPath, largePath);
|
||||
}
|
||||
|
||||
public bool IsSupportedImage(string filePath)
|
||||
{
|
||||
var extension = Path.GetExtension(filePath).ToLowerInvariant();
|
||||
return SupportedExtensions.Contains(extension);
|
||||
}
|
||||
|
||||
private async Task CreateThumbnailAsync(Image image, string outputPath, int maxSize)
|
||||
{
|
||||
using (image)
|
||||
{
|
||||
int width, height;
|
||||
if (image.Width > image.Height)
|
||||
{
|
||||
width = maxSize;
|
||||
height = (int)((double)image.Height / image.Width * maxSize);
|
||||
}
|
||||
else
|
||||
{
|
||||
height = maxSize;
|
||||
width = (int)((double)image.Width / image.Height * maxSize);
|
||||
}
|
||||
|
||||
image.Mutate(x => x.Resize(new ResizeOptions
|
||||
{
|
||||
Size = new Size(width, height),
|
||||
Mode = ResizeMode.Max
|
||||
}));
|
||||
await image.SaveAsWebpAsync(outputPath);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net9.0</TargetFramework>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
<Nullable>enable</Nullable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.8" />
|
||||
<PackageReference Include="SixLabors.ImageSharp" Version="3.1.5" />
|
||||
<ProjectReference Include="..\OpenArchival.Blazor.Config\OpenArchival.Blazor.Config.csproj" />
|
||||
<ProjectReference Include="..\OpenArchival.DataAccess\OpenArchival.DataAccess.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,780 @@
|
||||
{
|
||||
"runtimeTarget": {
|
||||
"name": ".NETCoreApp,Version=v9.0",
|
||||
"signature": ""
|
||||
},
|
||||
"compilationOptions": {},
|
||||
"targets": {
|
||||
".NETCoreApp,Version=v9.0": {
|
||||
"OpenArchival.DataAccess.FileAccessManager/1.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore": "9.0.8",
|
||||
"OpenArchival.Blazor.Config": "1.0.0",
|
||||
"OpenArchival.DataAccess": "1.0.0",
|
||||
"SixLabors.ImageSharp": "3.1.5"
|
||||
},
|
||||
"runtime": {
|
||||
"OpenArchival.DataAccess.FileAccessManager.dll": {}
|
||||
}
|
||||
},
|
||||
"Confi/2024.110.108.4": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Confi.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"EFCore.NamingConventions/9.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore": "9.0.8",
|
||||
"Microsoft.EntityFrameworkCore.Relational": "9.0.8",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/EFCore.NamingConventions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"EntityFramework/6.5.1": {
|
||||
"dependencies": {
|
||||
"System.CodeDom": "6.0.0",
|
||||
"System.Configuration.ConfigurationManager": "6.0.1",
|
||||
"System.Data.SqlClient": "4.8.6"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netstandard2.1/EntityFramework.SqlServer.dll": {
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.500.124.31603"
|
||||
},
|
||||
"lib/netstandard2.1/EntityFramework.dll": {
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.500.124.31603"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.AspNetCore.Cryptography.Internal/9.0.8": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.AspNetCore.Cryptography.Internal.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36808"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.AspNetCore.Cryptography.Internal": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.AspNetCore.Cryptography.KeyDerivation.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36808"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore.Relational": "9.0.8",
|
||||
"Microsoft.Extensions.Identity.Stores": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.AspNetCore.Identity.EntityFrameworkCore.dll": {
|
||||
"assemblyVersion": "9.0.8.0",
|
||||
"fileVersion": "9.0.825.36808"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore.Abstractions": "9.0.8",
|
||||
"Microsoft.Extensions.Caching.Memory": "9.0.8",
|
||||
"Microsoft.Extensions.Logging": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Microsoft.EntityFrameworkCore.dll": {
|
||||
"assemblyVersion": "9.0.8.0",
|
||||
"fileVersion": "9.0.825.36802"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Abstractions/9.0.8": {
|
||||
"runtime": {
|
||||
"lib/net8.0/Microsoft.EntityFrameworkCore.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.8.0",
|
||||
"fileVersion": "9.0.825.36802"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Relational/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore": "9.0.8",
|
||||
"Microsoft.Extensions.Caching.Memory": "9.0.8",
|
||||
"Microsoft.Extensions.Configuration.Abstractions": "9.0.8",
|
||||
"Microsoft.Extensions.Logging": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Microsoft.EntityFrameworkCore.Relational.dll": {
|
||||
"assemblyVersion": "9.0.8.0",
|
||||
"fileVersion": "9.0.825.36802"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Abstractions/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Primitives": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Caching.Abstractions": "9.0.8",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.8",
|
||||
"Microsoft.Extensions.Options": "9.0.8",
|
||||
"Microsoft.Extensions.Primitives": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Caching.Memory.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Abstractions/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Primitives": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Configuration.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.DependencyInjection.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.8": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.DependencyInjection.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Identity.Core/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.AspNetCore.Cryptography.KeyDerivation": "9.0.8",
|
||||
"Microsoft.Extensions.Logging": "9.0.8",
|
||||
"Microsoft.Extensions.Options": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Identity.Core.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36808"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Identity.Stores/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Caching.Abstractions": "9.0.8",
|
||||
"Microsoft.Extensions.Identity.Core": "9.0.8",
|
||||
"Microsoft.Extensions.Logging": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Identity.Stores.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36808"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection": "9.0.8",
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.8",
|
||||
"Microsoft.Extensions.Options": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Logging.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Logging.Abstractions.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Options/9.0.8": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8",
|
||||
"Microsoft.Extensions.Primitives": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Options.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/9.0.8": {
|
||||
"runtime": {
|
||||
"lib/net9.0/Microsoft.Extensions.Primitives.dll": {
|
||||
"assemblyVersion": "9.0.0.0",
|
||||
"fileVersion": "9.0.825.36511"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Microsoft.Win32.SystemEvents/6.0.0": {
|
||||
"runtime": {
|
||||
"lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/win/lib/net6.0/Microsoft.Win32.SystemEvents.dll": {
|
||||
"rid": "win",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Npgsql/9.0.3": {
|
||||
"dependencies": {
|
||||
"Microsoft.Extensions.Logging.Abstractions": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Npgsql.dll": {
|
||||
"assemblyVersion": "9.0.3.0",
|
||||
"fileVersion": "9.0.3.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL/9.0.4": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore": "9.0.8",
|
||||
"Microsoft.EntityFrameworkCore.Relational": "9.0.8",
|
||||
"Npgsql": "9.0.3"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net8.0/Npgsql.EntityFrameworkCore.PostgreSQL.dll": {
|
||||
"assemblyVersion": "9.0.4.0",
|
||||
"fileVersion": "9.0.4.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Persic.EF/2025.105.129.21": {
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore": "9.0.8",
|
||||
"Microsoft.EntityFrameworkCore.Relational": "9.0.8"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Persic.EF.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"Persic.EF.Postgres/2025.106.102.11": {
|
||||
"dependencies": {
|
||||
"Confi": "2024.110.108.4",
|
||||
"EFCore.NamingConventions": "9.0.0",
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.4",
|
||||
"Persic.EF": "2025.105.129.21"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net9.0/Persic.EF.Postgres.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"runtime.native.System.Data.SqlClient.sni/4.7.0": {
|
||||
"dependencies": {
|
||||
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
|
||||
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni": "4.4.0",
|
||||
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni": "4.4.0"
|
||||
}
|
||||
},
|
||||
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
|
||||
"runtimeTargets": {
|
||||
"runtimes/win-arm64/native/sni.dll": {
|
||||
"rid": "win-arm64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "4.6.25512.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
|
||||
"runtimeTargets": {
|
||||
"runtimes/win-x64/native/sni.dll": {
|
||||
"rid": "win-x64",
|
||||
"assetType": "native",
|
||||
"fileVersion": "4.6.25512.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
|
||||
"runtimeTargets": {
|
||||
"runtimes/win-x86/native/sni.dll": {
|
||||
"rid": "win-x86",
|
||||
"assetType": "native",
|
||||
"fileVersion": "4.6.25512.1"
|
||||
}
|
||||
}
|
||||
},
|
||||
"SixLabors.ImageSharp/3.1.5": {
|
||||
"runtime": {
|
||||
"lib/net6.0/SixLabors.ImageSharp.dll": {
|
||||
"assemblyVersion": "3.0.0.0",
|
||||
"fileVersion": "3.1.5.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.CodeDom/6.0.0": {
|
||||
"runtime": {
|
||||
"lib/net6.0/System.CodeDom.dll": {
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Configuration.ConfigurationManager/6.0.1": {
|
||||
"dependencies": {
|
||||
"System.Security.Cryptography.ProtectedData": "6.0.0",
|
||||
"System.Security.Permissions": "6.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/System.Configuration.ConfigurationManager.dll": {
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.922.41905"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Data.SqlClient/4.8.6": {
|
||||
"dependencies": {
|
||||
"runtime.native.System.Data.SqlClient.sni": "4.7.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/netcoreapp2.1/System.Data.SqlClient.dll": {
|
||||
"assemblyVersion": "4.6.1.6",
|
||||
"fileVersion": "4.700.23.52603"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/unix/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
|
||||
"rid": "unix",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "4.6.1.6",
|
||||
"fileVersion": "4.700.23.52603"
|
||||
},
|
||||
"runtimes/win/lib/netcoreapp2.1/System.Data.SqlClient.dll": {
|
||||
"rid": "win",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "4.6.1.6",
|
||||
"fileVersion": "4.700.23.52603"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Drawing.Common/6.0.0": {
|
||||
"dependencies": {
|
||||
"Microsoft.Win32.SystemEvents": "6.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/System.Drawing.Common.dll": {
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/unix/lib/net6.0/System.Drawing.Common.dll": {
|
||||
"rid": "unix",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
},
|
||||
"runtimes/win/lib/net6.0/System.Drawing.Common.dll": {
|
||||
"rid": "win",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Security.Cryptography.ProtectedData/6.0.0": {
|
||||
"runtime": {
|
||||
"lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/win/lib/net6.0/System.Security.Cryptography.ProtectedData.dll": {
|
||||
"rid": "win",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Security.Permissions/6.0.0": {
|
||||
"dependencies": {
|
||||
"System.Windows.Extensions": "6.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/System.Security.Permissions.dll": {
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
}
|
||||
},
|
||||
"System.Windows.Extensions/6.0.0": {
|
||||
"dependencies": {
|
||||
"System.Drawing.Common": "6.0.0"
|
||||
},
|
||||
"runtime": {
|
||||
"lib/net6.0/System.Windows.Extensions.dll": {
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
},
|
||||
"runtimeTargets": {
|
||||
"runtimes/win/lib/net6.0/System.Windows.Extensions.dll": {
|
||||
"rid": "win",
|
||||
"assetType": "runtime",
|
||||
"assemblyVersion": "6.0.0.0",
|
||||
"fileVersion": "6.0.21.52210"
|
||||
}
|
||||
}
|
||||
},
|
||||
"OpenArchival.Blazor.Config/1.0.0": {
|
||||
"runtime": {
|
||||
"OpenArchival.Blazor.Config.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
},
|
||||
"OpenArchival.DataAccess/1.0.0": {
|
||||
"dependencies": {
|
||||
"EntityFramework": "6.5.1",
|
||||
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": "9.0.8",
|
||||
"Microsoft.EntityFrameworkCore": "9.0.8",
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": "9.0.8",
|
||||
"Npgsql": "9.0.3",
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL": "9.0.4",
|
||||
"Persic.EF.Postgres": "2025.106.102.11"
|
||||
},
|
||||
"runtime": {
|
||||
"OpenArchival.DataAccess.dll": {
|
||||
"assemblyVersion": "1.0.0.0",
|
||||
"fileVersion": "1.0.0.0"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"libraries": {
|
||||
"OpenArchival.DataAccess.FileAccessManager/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"Confi/2024.110.108.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-jP9p14+Y8jYk3G8upkQK1oh0bIuVh7hnFxsu4nli/jp0fwr9DLxPLAtlbtERH/J0BlBLrlSpd5yzvQsbNH/2HQ==",
|
||||
"path": "confi/2024.110.108.4",
|
||||
"hashPath": "confi.2024.110.108.4.nupkg.sha512"
|
||||
},
|
||||
"EFCore.NamingConventions/9.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-heKIYzPdEWx+Ba4xuG6jfEssW9rEi7I0lX38eoN7wo7qgg9uw7nn8UEmDQfwGEYPzSDpetCVANnDr5tqt2Asjg==",
|
||||
"path": "efcore.namingconventions/9.0.0",
|
||||
"hashPath": "efcore.namingconventions.9.0.0.nupkg.sha512"
|
||||
},
|
||||
"EntityFramework/6.5.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-sQRP2lWg1i3aAGWqdliAM8zrGx7LHMUk+9/MoxUjwfTZYGMXvZ2JYZTlyTm1PqDxvn3c9E3U76TWDON7Y5+CVA==",
|
||||
"path": "entityframework/6.5.1",
|
||||
"hashPath": "entityframework.6.5.1.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.AspNetCore.Cryptography.Internal/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-NwGO0wh/IjEthBLGA6fWfIiftsNF/paA5RxWp6ji4wWazetJgQ4truR9nU2thAzzFLiXqlg8vGjdVDA8bHu0zA==",
|
||||
"path": "microsoft.aspnetcore.cryptography.internal/9.0.8",
|
||||
"hashPath": "microsoft.aspnetcore.cryptography.internal.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.AspNetCore.Cryptography.KeyDerivation/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-gK70xxXYwwPiXYKYVmLYMuIO5EOGrRtQghmM6PkgtZ/0lgLEjIs//xgSLvZkV/mroNHA1DEqTcqscEj9OzZ1IA==",
|
||||
"path": "microsoft.aspnetcore.cryptography.keyderivation/9.0.8",
|
||||
"hashPath": "microsoft.aspnetcore.cryptography.keyderivation.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.AspNetCore.Identity.EntityFrameworkCore/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-z4q9roxXMQePwFM5tXXZS5sKkU78yYXVkj56NYYx9xKe+mxGkJMV1MaO0GFE6HnnM8bE3Xxhs0hAPw2jKbse6w==",
|
||||
"path": "microsoft.aspnetcore.identity.entityframeworkcore/9.0.8",
|
||||
"hashPath": "microsoft.aspnetcore.identity.entityframeworkcore.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-bNGdPhN762+BIIO5MFYLjafRqkSS1MqLOc/erd55InvLnFxt9H3N5JNsuag1ZHyBor1VtD42U0CHpgqkWeAYgQ==",
|
||||
"path": "microsoft.entityframeworkcore/9.0.8",
|
||||
"hashPath": "microsoft.entityframeworkcore.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Abstractions/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-B2yfAIQRRAQ4zvvWqh+HudD+juV3YoLlpXnrog3tU0PM9AFpuq6xo0+mEglN1P43WgdcUiF+65CWBcZe35s15Q==",
|
||||
"path": "microsoft.entityframeworkcore.abstractions/9.0.8",
|
||||
"hashPath": "microsoft.entityframeworkcore.abstractions.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Relational/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-OVhfyxiHxMvYpwQ8Jy3YZi4koy6TK5/Q7C1oq3z6db+HEGuu6x9L1BX5zDIdJxxlRePMyO4D8ORiXj/D7+MUqw==",
|
||||
"path": "microsoft.entityframeworkcore.relational/9.0.8",
|
||||
"hashPath": "microsoft.entityframeworkcore.relational.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Abstractions/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-4h7bsVoKoiK+SlPM+euX/ayGnKZhl47pPCidLTiio9xyG+vgVVfcYxcYQgjm0SCrdSxjG0EGIAKF8EFr3G8Ifw==",
|
||||
"path": "microsoft.extensions.caching.abstractions/9.0.8",
|
||||
"hashPath": "microsoft.extensions.caching.abstractions.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Caching.Memory/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-grR+oPyj8HVn4DT8CFUUdSw2pZZKS13KjytFe4txpHQliGM1GEDotohmjgvyl3hm7RFB3FRqvbouEX3/1ewp5A==",
|
||||
"path": "microsoft.extensions.caching.memory/9.0.8",
|
||||
"hashPath": "microsoft.extensions.caching.memory.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Configuration.Abstractions/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-yNou2KM35RvzOh4vUFtl2l33rWPvOCoba+nzEDJ+BgD8aOL/jew4WPCibQvntRfOJ2pJU8ARygSMD+pdjvDHuA==",
|
||||
"path": "microsoft.extensions.configuration.abstractions/9.0.8",
|
||||
"hashPath": "microsoft.extensions.configuration.abstractions.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-JJjI2Fa+QtZcUyuNjbKn04OjIUX5IgFGFu/Xc+qvzh1rXdZHLcnqqVXhR4093bGirTwacRlHiVg1XYI9xum6QQ==",
|
||||
"path": "microsoft.extensions.dependencyinjection/9.0.8",
|
||||
"hashPath": "microsoft.extensions.dependencyinjection.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-xY3lTjj4+ZYmiKIkyWitddrp1uL5uYiweQjqo4BKBw01ZC4HhcfgLghDpPZcUlppgWAFqFy9SgkiYWOMx365pw==",
|
||||
"path": "microsoft.extensions.dependencyinjection.abstractions/9.0.8",
|
||||
"hashPath": "microsoft.extensions.dependencyinjection.abstractions.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Identity.Core/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-giUYz84GHAizDucZp5vWAusDO2s9Jrrg2jQ6HUQNGs5HQMKJVobLPMQSiyg8R4yecH0pIc0QjANh0B/Kw13BHA==",
|
||||
"path": "microsoft.extensions.identity.core/9.0.8",
|
||||
"hashPath": "microsoft.extensions.identity.core.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Identity.Stores/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-sycaHcq78yI591+KxEdd53a7pJGQEl9H/wDsFkaPNE9g7loyq8vufPcc/9RH3KlGt5joR5Ey7PdoRSrlLjCgJg==",
|
||||
"path": "microsoft.extensions.identity.stores/9.0.8",
|
||||
"hashPath": "microsoft.extensions.identity.stores.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Logging/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-Z/7ze+0iheT7FJeZPqJKARYvyC2bmwu3whbm/48BJjdlGVvgDguoCqJIkI/67NkroTYobd5geai1WheNQvWrgA==",
|
||||
"path": "microsoft.extensions.logging/9.0.8",
|
||||
"hashPath": "microsoft.extensions.logging.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Logging.Abstractions/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-pYnAffJL7ARD/HCnnPvnFKSIHnTSmWz84WIlT9tPeQ4lHNiu0Az7N/8itihWvcF8sT+VVD5lq8V+ckMzu4SbOw==",
|
||||
"path": "microsoft.extensions.logging.abstractions/9.0.8",
|
||||
"hashPath": "microsoft.extensions.logging.abstractions.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Options/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-OmTaQ0v4gxGQkehpwWIqPoEiwsPuG/u4HUsbOFoWGx4DKET2AXzopnFe/fE608FIhzc/kcg2p8JdyMRCCUzitQ==",
|
||||
"path": "microsoft.extensions.options/9.0.8",
|
||||
"hashPath": "microsoft.extensions.options.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Extensions.Primitives/9.0.8": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-tizSIOEsIgSNSSh+hKeUVPK7xmTIjR8s+mJWOu1KXV3htvNQiPMFRMO17OdI1y/4ZApdBVk49u/08QGC9yvLug==",
|
||||
"path": "microsoft.extensions.primitives/9.0.8",
|
||||
"hashPath": "microsoft.extensions.primitives.9.0.8.nupkg.sha512"
|
||||
},
|
||||
"Microsoft.Win32.SystemEvents/6.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-hqTM5628jSsQiv+HGpiq3WKBl2c8v1KZfby2J6Pr7pEPlK9waPdgEO6b8A/+/xn/yZ9ulv8HuqK71ONy2tg67A==",
|
||||
"path": "microsoft.win32.systemevents/6.0.0",
|
||||
"hashPath": "microsoft.win32.systemevents.6.0.0.nupkg.sha512"
|
||||
},
|
||||
"Npgsql/9.0.3": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-tPvY61CxOAWxNsKLEBg+oR646X4Bc8UmyQ/tJszL/7mEmIXQnnBhVJZrZEEUv0Bstu0mEsHZD5At3EO8zQRAYw==",
|
||||
"path": "npgsql/9.0.3",
|
||||
"hashPath": "npgsql.9.0.3.nupkg.sha512"
|
||||
},
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL/9.0.4": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-mw5vcY2IEc7L+IeGrxpp/J5OSnCcjkjAgJYCm/eD52wpZze8zsSifdqV7zXslSMmfJG2iIUGZyo3KuDtEFKwMQ==",
|
||||
"path": "npgsql.entityframeworkcore.postgresql/9.0.4",
|
||||
"hashPath": "npgsql.entityframeworkcore.postgresql.9.0.4.nupkg.sha512"
|
||||
},
|
||||
"Persic.EF/2025.105.129.21": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-eSQWJVKPkK3wGNydGl46z3r9xUR5AGirIyHMzXqQ6qodl36Rjxy8YW5izMcmCQbDUWX5Dri7+9/R/OWbuxK/RA==",
|
||||
"path": "persic.ef/2025.105.129.21",
|
||||
"hashPath": "persic.ef.2025.105.129.21.nupkg.sha512"
|
||||
},
|
||||
"Persic.EF.Postgres/2025.106.102.11": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-2Xwq7hvSDcXmSkP3ChOPKQjlHt8T1tFX98CSmWzIjkqJy28nmctHrrrcgmURhvRqymxbHgA/+R1d2R2mBQRmEA==",
|
||||
"path": "persic.ef.postgres/2025.106.102.11",
|
||||
"hashPath": "persic.ef.postgres.2025.106.102.11.nupkg.sha512"
|
||||
},
|
||||
"runtime.native.System.Data.SqlClient.sni/4.7.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-9kyFSIdN3T0qjDQ2R0HRXYIhS3l5psBzQi6qqhdLz+SzFyEy4sVxNOke+yyYv8Cu8rPER12c3RDjLT8wF3WBYQ==",
|
||||
"path": "runtime.native.system.data.sqlclient.sni/4.7.0",
|
||||
"hashPath": "runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.win-arm64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-LbrynESTp3bm5O/+jGL8v0Qg5SJlTV08lpIpFesXjF6uGNMWqFnUQbYBJwZTeua6E/Y7FIM1C54Ey1btLWupdg==",
|
||||
"path": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni/4.4.0",
|
||||
"hashPath": "runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.win-x64.runtime.native.System.Data.SqlClient.sni/4.4.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-38ugOfkYJqJoX9g6EYRlZB5U2ZJH51UP8ptxZgdpS07FgOEToV+lS11ouNK2PM12Pr6X/PpT5jK82G3DwH/SxQ==",
|
||||
"path": "runtime.win-x64.runtime.native.system.data.sqlclient.sni/4.4.0",
|
||||
"hashPath": "runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
|
||||
},
|
||||
"runtime.win-x86.runtime.native.System.Data.SqlClient.sni/4.4.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-YhEdSQUsTx+C8m8Bw7ar5/VesXvCFMItyZF7G1AUY+OM0VPZUOeAVpJ4Wl6fydBGUYZxojTDR3I6Bj/+BPkJNA==",
|
||||
"path": "runtime.win-x86.runtime.native.system.data.sqlclient.sni/4.4.0",
|
||||
"hashPath": "runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512"
|
||||
},
|
||||
"SixLabors.ImageSharp/3.1.5": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-lNtlq7dSI/QEbYey+A0xn48z5w4XHSffF8222cC4F4YwTXfEImuiBavQcWjr49LThT/pRmtWJRcqA/PlL+eJ6g==",
|
||||
"path": "sixlabors.imagesharp/3.1.5",
|
||||
"hashPath": "sixlabors.imagesharp.3.1.5.nupkg.sha512"
|
||||
},
|
||||
"System.CodeDom/6.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-CPc6tWO1LAer3IzfZufDBRL+UZQcj5uS207NHALQzP84Vp/z6wF0Aa0YZImOQY8iStY0A2zI/e3ihKNPfUm8XA==",
|
||||
"path": "system.codedom/6.0.0",
|
||||
"hashPath": "system.codedom.6.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Configuration.ConfigurationManager/6.0.1": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-jXw9MlUu/kRfEU0WyTptAVueupqIeE3/rl0EZDMlf8pcvJnitQ8HeVEp69rZdaStXwTV72boi/Bhw8lOeO+U2w==",
|
||||
"path": "system.configuration.configurationmanager/6.0.1",
|
||||
"hashPath": "system.configuration.configurationmanager.6.0.1.nupkg.sha512"
|
||||
},
|
||||
"System.Data.SqlClient/4.8.6": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-2Ij/LCaTQRyAi5lAv7UUTV9R2FobC8xN9mE0fXBZohum/xLl8IZVmE98Rq5ugQHjCgTBRKqpXRb4ORulRdA6Ig==",
|
||||
"path": "system.data.sqlclient/4.8.6",
|
||||
"hashPath": "system.data.sqlclient.4.8.6.nupkg.sha512"
|
||||
},
|
||||
"System.Drawing.Common/6.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-NfuoKUiP2nUWwKZN6twGqXioIe1zVD0RIj2t976A+czLHr2nY454RwwXs6JU9Htc6mwqL6Dn/nEL3dpVf2jOhg==",
|
||||
"path": "system.drawing.common/6.0.0",
|
||||
"hashPath": "system.drawing.common.6.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Cryptography.ProtectedData/6.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-rp1gMNEZpvx9vP0JW0oHLxlf8oSiQgtno77Y4PLUBjSiDYoD77Y8uXHr1Ea5XG4/pIKhqAdxZ8v8OTUtqo9PeQ==",
|
||||
"path": "system.security.cryptography.protecteddata/6.0.0",
|
||||
"hashPath": "system.security.cryptography.protecteddata.6.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Security.Permissions/6.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-T/uuc7AklkDoxmcJ7LGkyX1CcSviZuLCa4jg3PekfJ7SU0niF0IVTXwUiNVP9DSpzou2PpxJ+eNY2IfDM90ZCg==",
|
||||
"path": "system.security.permissions/6.0.0",
|
||||
"hashPath": "system.security.permissions.6.0.0.nupkg.sha512"
|
||||
},
|
||||
"System.Windows.Extensions/6.0.0": {
|
||||
"type": "package",
|
||||
"serviceable": true,
|
||||
"sha512": "sha512-IXoJOXIqc39AIe+CIR7koBtRGMiCt/LPM3lI+PELtDIy9XdyeSrwXFdWV9dzJ2Awl0paLWUaknLxFQ5HpHZUog==",
|
||||
"path": "system.windows.extensions/6.0.0",
|
||||
"hashPath": "system.windows.extensions.6.0.0.nupkg.sha512"
|
||||
},
|
||||
"OpenArchival.Blazor.Config/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
},
|
||||
"OpenArchival.DataAccess/1.0.0": {
|
||||
"type": "project",
|
||||
"serviceable": false,
|
||||
"sha512": ""
|
||||
}
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,19 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net9.0",
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "9.0.0"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App",
|
||||
"version": "9.0.0"
|
||||
}
|
||||
],
|
||||
"configProperties": {
|
||||
"System.Reflection.NullabilityInfoContext.IsSupported": true,
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,20 @@
|
||||
{
|
||||
"runtimeOptions": {
|
||||
"tfm": "net9.0",
|
||||
"frameworks": [
|
||||
{
|
||||
"name": "Microsoft.NETCore.App",
|
||||
"version": "9.0.0"
|
||||
},
|
||||
{
|
||||
"name": "Microsoft.AspNetCore.App",
|
||||
"version": "9.0.0"
|
||||
}
|
||||
],
|
||||
"configProperties": {
|
||||
"System.GC.Server": true,
|
||||
"System.Reflection.NullabilityInfoContext.IsSupported": true,
|
||||
"System.Runtime.Serialization.EnableUnsafeBinaryFormatterSerialization": false
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
{"Version":1,"ManifestType":"Build","Endpoints":[]}
|
||||
@@ -0,0 +1,4 @@
|
||||
// <autogenerated />
|
||||
using System;
|
||||
using System.Reflection;
|
||||
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v9.0", FrameworkDisplayName = ".NET 9.0")]
|
||||
@@ -0,0 +1,23 @@
|
||||
//------------------------------------------------------------------------------
|
||||
// <auto-generated>
|
||||
// This code was generated by a tool.
|
||||
// Runtime Version:4.0.30319.42000
|
||||
//
|
||||
// Changes to this file may cause incorrect behavior and will be lost if
|
||||
// the code is regenerated.
|
||||
// </auto-generated>
|
||||
//------------------------------------------------------------------------------
|
||||
|
||||
using System;
|
||||
using System.Reflection;
|
||||
|
||||
[assembly: System.Reflection.AssemblyCompanyAttribute("OpenArchival.DataAccess.FileAccessManager")]
|
||||
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
|
||||
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
|
||||
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+6da218358353bb54f8e6b58efa699ba221b50ff1")]
|
||||
[assembly: System.Reflection.AssemblyProductAttribute("OpenArchival.DataAccess.FileAccessManager")]
|
||||
[assembly: System.Reflection.AssemblyTitleAttribute("OpenArchival.DataAccess.FileAccessManager")]
|
||||
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
|
||||
|
||||
// Generated by the MSBuild WriteCodeFragment class.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
6bd1ba547d14e609f19a8f5c999881578831a2827602aa6b3966d4cdb53ae1fc
|
||||
@@ -0,0 +1,17 @@
|
||||
is_global = true
|
||||
build_property.TargetFramework = net9.0
|
||||
build_property.TargetFrameworkIdentifier = .NETCoreApp
|
||||
build_property.TargetFrameworkVersion = v9.0
|
||||
build_property.TargetPlatformMinVersion =
|
||||
build_property.UsingMicrosoftNETSdkWeb =
|
||||
build_property.ProjectTypeGuids =
|
||||
build_property.InvariantGlobalization =
|
||||
build_property.PlatformNeutralAssembly =
|
||||
build_property.EnforceExtendedAnalyzerRules =
|
||||
build_property._SupportedPlatformList = Linux,macOS,Windows
|
||||
build_property.RootNamespace = OpenArchival.DataAccess.FileAccessManager
|
||||
build_property.ProjectDir = C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\
|
||||
build_property.EnableComHosting =
|
||||
build_property.EnableGeneratedComInterfaceComImportInterop =
|
||||
build_property.EffectiveAnalysisLevelStyle = 9.0
|
||||
build_property.EnableCodeStyleSeverity =
|
||||
@@ -0,0 +1,8 @@
|
||||
// <auto-generated/>
|
||||
global using System;
|
||||
global using System.Collections.Generic;
|
||||
global using System.IO;
|
||||
global using System.Linq;
|
||||
global using System.Net.Http;
|
||||
global using System.Threading;
|
||||
global using System.Threading.Tasks;
|
||||
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
||||
a27d6d99441e6955dd0ced71e3c026f5aa480a5f6ad5e6965cd73298d58e8755
|
||||
@@ -0,0 +1,23 @@
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.deps.json
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.runtimeconfig.json
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.staticwebassets.endpoints.json
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.exe
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.deps.json
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.runtimeconfig.json
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.dll
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.pdb
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.Blazor.Config.dll
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.dll
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.Blazor.Config.pdb
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\bin\Debug\net9.0\OpenArchival.DataAccess.pdb
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.csproj.AssemblyReference.cache
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.GeneratedMSBuildEditorConfig.editorconfig
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.AssemblyInfoInputs.cache
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.AssemblyInfo.cs
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.csproj.CoreCompileInputs.cache
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\OpenArch.3C4D639F.Up2Date
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.dll
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\refint\OpenArchival.DataAccess.FileAccessManager.dll
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.pdb
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\OpenArchival.DataAccess.FileAccessManager.genruntimeconfig.cache
|
||||
C:\Users\Vincent\Documents\dev\Open-Archival\OpenArchival.DataAccess.FileAccessManager\obj\Debug\net9.0\ref\OpenArchival.DataAccess.FileAccessManager.dll
|
||||
Binary file not shown.
@@ -0,0 +1 @@
|
||||
10eb3dbc37505539e0803555e365b3994c8c063c9172657a0919a6b8cff5c4a3
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,259 @@
|
||||
{
|
||||
"format": 1,
|
||||
"restore": {
|
||||
"C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\OpenArchival.DataAccess.FileAccessManager.csproj": {}
|
||||
},
|
||||
"projects": {
|
||||
"C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.Blazor.Config\\OpenArchival.Blazor.Config.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.Blazor.Config\\OpenArchival.Blazor.Config.csproj",
|
||||
"projectName": "OpenArchival.Blazor.Config",
|
||||
"projectPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.Blazor.Config\\OpenArchival.Blazor.Config.csproj",
|
||||
"packagesPath": "C:\\Users\\Vincent\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.Blazor.Config\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\NuGet.Config",
|
||||
"C:\\Users\\Vincent\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net9.0"
|
||||
],
|
||||
"sources": {
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "10.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.103/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\OpenArchival.DataAccess.FileAccessManager.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\OpenArchival.DataAccess.FileAccessManager.csproj",
|
||||
"projectName": "OpenArchival.DataAccess.FileAccessManager",
|
||||
"projectPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\OpenArchival.DataAccess.FileAccessManager.csproj",
|
||||
"packagesPath": "C:\\Users\\Vincent\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\NuGet.Config",
|
||||
"C:\\Users\\Vincent\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net9.0"
|
||||
],
|
||||
"sources": {
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"projectReferences": {
|
||||
"C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.Blazor.Config\\OpenArchival.Blazor.Config.csproj": {
|
||||
"projectPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.Blazor.Config\\OpenArchival.Blazor.Config.csproj"
|
||||
},
|
||||
"C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess\\OpenArchival.DataAccess.csproj": {
|
||||
"projectPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess\\OpenArchival.DataAccess.csproj"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "10.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"dependencies": {
|
||||
"Microsoft.EntityFrameworkCore": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.8, )"
|
||||
},
|
||||
"SixLabors.ImageSharp": {
|
||||
"target": "Package",
|
||||
"version": "[3.1.5, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.103/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
},
|
||||
"C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess\\OpenArchival.DataAccess.csproj": {
|
||||
"version": "1.0.0",
|
||||
"restore": {
|
||||
"projectUniqueName": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess\\OpenArchival.DataAccess.csproj",
|
||||
"projectName": "OpenArchival.DataAccess",
|
||||
"projectPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess\\OpenArchival.DataAccess.csproj",
|
||||
"packagesPath": "C:\\Users\\Vincent\\.nuget\\packages\\",
|
||||
"outputPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess\\obj\\",
|
||||
"projectStyle": "PackageReference",
|
||||
"fallbackFolders": [
|
||||
"C:\\Program Files (x86)\\Microsoft Visual Studio\\Shared\\NuGetPackages"
|
||||
],
|
||||
"configFilePaths": [
|
||||
"C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\NuGet.Config",
|
||||
"C:\\Users\\Vincent\\AppData\\Roaming\\NuGet\\NuGet.Config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.FallbackLocation.config",
|
||||
"C:\\Program Files (x86)\\NuGet\\Config\\Microsoft.VisualStudio.Offline.config"
|
||||
],
|
||||
"originalTargetFrameworks": [
|
||||
"net9.0"
|
||||
],
|
||||
"sources": {
|
||||
"https://api.nuget.org/v3/index.json": {}
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"projectReferences": {}
|
||||
}
|
||||
},
|
||||
"warningProperties": {
|
||||
"warnAsError": [
|
||||
"NU1605"
|
||||
]
|
||||
},
|
||||
"restoreAuditProperties": {
|
||||
"enableAudit": "true",
|
||||
"auditLevel": "low",
|
||||
"auditMode": "direct"
|
||||
},
|
||||
"SdkAnalysisLevel": "10.0.100"
|
||||
},
|
||||
"frameworks": {
|
||||
"net9.0": {
|
||||
"targetAlias": "net9.0",
|
||||
"dependencies": {
|
||||
"EntityFramework": {
|
||||
"target": "Package",
|
||||
"version": "[6.5.1, )"
|
||||
},
|
||||
"Microsoft.AspNetCore.Identity.EntityFrameworkCore": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.8, )"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.8, )"
|
||||
},
|
||||
"Microsoft.EntityFrameworkCore.Design": {
|
||||
"include": "Runtime, Build, Native, ContentFiles, Analyzers, BuildTransitive",
|
||||
"suppressParent": "All",
|
||||
"target": "Package",
|
||||
"version": "[9.0.8, )"
|
||||
},
|
||||
"Microsoft.Extensions.DependencyInjection.Abstractions": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.8, )"
|
||||
},
|
||||
"Npgsql": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.3, )"
|
||||
},
|
||||
"Npgsql.EntityFrameworkCore.PostgreSQL": {
|
||||
"target": "Package",
|
||||
"version": "[9.0.4, )"
|
||||
},
|
||||
"Persic.EF.Postgres": {
|
||||
"target": "Package",
|
||||
"version": "[2025.106.102.11, )"
|
||||
}
|
||||
},
|
||||
"imports": [
|
||||
"net461",
|
||||
"net462",
|
||||
"net47",
|
||||
"net471",
|
||||
"net472",
|
||||
"net48",
|
||||
"net481"
|
||||
],
|
||||
"assetTargetFallback": true,
|
||||
"warn": true,
|
||||
"frameworkReferences": {
|
||||
"Microsoft.AspNetCore.App": {
|
||||
"privateAssets": "none"
|
||||
},
|
||||
"Microsoft.NETCore.App": {
|
||||
"privateAssets": "all"
|
||||
}
|
||||
},
|
||||
"runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\10.0.103/PortableRuntimeIdentifierGraph.json"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,24 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<RestoreSuccess Condition=" '$(RestoreSuccess)' == '' ">True</RestoreSuccess>
|
||||
<RestoreTool Condition=" '$(RestoreTool)' == '' ">NuGet</RestoreTool>
|
||||
<ProjectAssetsFile Condition=" '$(ProjectAssetsFile)' == '' ">$(MSBuildThisFileDirectory)project.assets.json</ProjectAssetsFile>
|
||||
<NuGetPackageRoot Condition=" '$(NuGetPackageRoot)' == '' ">$(UserProfile)\.nuget\packages\</NuGetPackageRoot>
|
||||
<NuGetPackageFolders Condition=" '$(NuGetPackageFolders)' == '' ">C:\Users\Vincent\.nuget\packages\;C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages</NuGetPackageFolders>
|
||||
<NuGetProjectStyle Condition=" '$(NuGetProjectStyle)' == '' ">PackageReference</NuGetProjectStyle>
|
||||
<NuGetToolVersion Condition=" '$(NuGetToolVersion)' == '' ">7.0.0</NuGetToolVersion>
|
||||
</PropertyGroup>
|
||||
<ItemGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<SourceRoot Include="C:\Users\Vincent\.nuget\packages\" />
|
||||
<SourceRoot Include="C:\Program Files (x86)\Microsoft Visual Studio\Shared\NuGetPackages\" />
|
||||
</ItemGroup>
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)sixlabors.imagesharp\3.1.5\build\SixLabors.ImageSharp.props" Condition="Exists('$(NuGetPackageRoot)sixlabors.imagesharp\3.1.5\build\SixLabors.ImageSharp.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.8\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props" Condition="Exists('$(NuGetPackageRoot)microsoft.entityframeworkcore\9.0.8\buildTransitive\net8.0\Microsoft.EntityFrameworkCore.props')" />
|
||||
<Import Project="$(NuGetPackageRoot)entityframework\6.5.1\buildTransitive\net6.0\EntityFramework.props" Condition="Exists('$(NuGetPackageRoot)entityframework\6.5.1\buildTransitive\net6.0\EntityFramework.props')" />
|
||||
</ImportGroup>
|
||||
<PropertyGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<PkgEntityFramework Condition=" '$(PkgEntityFramework)' == '' ">C:\Users\Vincent\.nuget\packages\entityframework\6.5.1</PkgEntityFramework>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="utf-8" standalone="no"?>
|
||||
<Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||
<ImportGroup Condition=" '$(ExcludeRestorePackageImports)' != 'true' ">
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.options\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Options.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.options\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Options.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets" Condition="Exists('$(NuGetPackageRoot)microsoft.extensions.logging.abstractions\9.0.8\buildTransitive\net8.0\Microsoft.Extensions.Logging.Abstractions.targets')" />
|
||||
<Import Project="$(NuGetPackageRoot)entityframework\6.5.1\buildTransitive\net6.0\EntityFramework.targets" Condition="Exists('$(NuGetPackageRoot)entityframework\6.5.1\buildTransitive\net6.0\EntityFramework.targets')" />
|
||||
</ImportGroup>
|
||||
</Project>
|
||||
2239
OpenArchival.DataAccess.FileAccessManager/obj/project.assets.json
Normal file
2239
OpenArchival.DataAccess.FileAccessManager/obj/project.assets.json
Normal file
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,78 @@
|
||||
{
|
||||
"version": 2,
|
||||
"dgSpecHash": "63EJ3RnIJjQ=",
|
||||
"success": true,
|
||||
"projectFilePath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\OpenArchival.DataAccess.FileAccessManager.csproj",
|
||||
"expectedPackageFiles": [
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\confi\\2024.110.108.4\\confi.2024.110.108.4.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\efcore.namingconventions\\9.0.0\\efcore.namingconventions.9.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\entityframework\\6.5.1\\entityframework.6.5.1.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.aspnetcore.cryptography.internal\\9.0.8\\microsoft.aspnetcore.cryptography.internal.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.aspnetcore.cryptography.keyderivation\\9.0.8\\microsoft.aspnetcore.cryptography.keyderivation.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.aspnetcore.identity.entityframeworkcore\\9.0.8\\microsoft.aspnetcore.identity.entityframeworkcore.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.csharp\\4.7.0\\microsoft.csharp.4.7.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.entityframeworkcore\\9.0.8\\microsoft.entityframeworkcore.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.entityframeworkcore.abstractions\\9.0.8\\microsoft.entityframeworkcore.abstractions.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.entityframeworkcore.analyzers\\9.0.8\\microsoft.entityframeworkcore.analyzers.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.entityframeworkcore.relational\\9.0.8\\microsoft.entityframeworkcore.relational.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.caching.abstractions\\9.0.8\\microsoft.extensions.caching.abstractions.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.caching.memory\\9.0.8\\microsoft.extensions.caching.memory.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.configuration\\8.0.0\\microsoft.extensions.configuration.8.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.configuration.abstractions\\9.0.8\\microsoft.extensions.configuration.abstractions.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.dependencyinjection\\9.0.8\\microsoft.extensions.dependencyinjection.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.dependencyinjection.abstractions\\9.0.8\\microsoft.extensions.dependencyinjection.abstractions.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.identity.core\\9.0.8\\microsoft.extensions.identity.core.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.identity.stores\\9.0.8\\microsoft.extensions.identity.stores.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.logging\\9.0.8\\microsoft.extensions.logging.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.logging.abstractions\\9.0.8\\microsoft.extensions.logging.abstractions.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.options\\9.0.8\\microsoft.extensions.options.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.extensions.primitives\\9.0.8\\microsoft.extensions.primitives.9.0.8.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.win32.registry\\4.7.0\\microsoft.win32.registry.4.7.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\microsoft.win32.systemevents\\6.0.0\\microsoft.win32.systemevents.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\npgsql\\9.0.3\\npgsql.9.0.3.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\npgsql.entityframeworkcore.postgresql\\9.0.4\\npgsql.entityframeworkcore.postgresql.9.0.4.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\persic.ef\\2025.105.129.21\\persic.ef.2025.105.129.21.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\persic.ef.postgres\\2025.106.102.11\\persic.ef.postgres.2025.106.102.11.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\runtime.native.system.data.sqlclient.sni\\4.7.0\\runtime.native.system.data.sqlclient.sni.4.7.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-arm64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\runtime.win-x64.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x64.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\runtime.win-x86.runtime.native.system.data.sqlclient.sni\\4.4.0\\runtime.win-x86.runtime.native.system.data.sqlclient.sni.4.4.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\sixlabors.imagesharp\\3.1.5\\sixlabors.imagesharp.3.1.5.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.codedom\\6.0.0\\system.codedom.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.componentmodel.annotations\\5.0.0\\system.componentmodel.annotations.5.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.configuration.configurationmanager\\6.0.1\\system.configuration.configurationmanager.6.0.1.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.data.sqlclient\\4.8.6\\system.data.sqlclient.4.8.6.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.drawing.common\\6.0.0\\system.drawing.common.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.security.accesscontrol\\6.0.0\\system.security.accesscontrol.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.security.cryptography.protecteddata\\6.0.0\\system.security.cryptography.protecteddata.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.security.permissions\\6.0.0\\system.security.permissions.6.0.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.security.principal.windows\\4.7.0\\system.security.principal.windows.4.7.0.nupkg.sha512",
|
||||
"C:\\Users\\Vincent\\.nuget\\packages\\system.windows.extensions\\6.0.0\\system.windows.extensions.6.0.0.nupkg.sha512"
|
||||
],
|
||||
"logs": [
|
||||
{
|
||||
"code": "NU1903",
|
||||
"level": "Warning",
|
||||
"message": "Package 'SixLabors.ImageSharp' 3.1.5 has a known high severity vulnerability, https://github.com/advisories/GHSA-2cmq-823j-5qj8",
|
||||
"projectPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\OpenArchival.DataAccess.FileAccessManager.csproj",
|
||||
"warningLevel": 1,
|
||||
"filePath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\OpenArchival.DataAccess.FileAccessManager.csproj",
|
||||
"libraryId": "SixLabors.ImageSharp",
|
||||
"targetGraphs": [
|
||||
"net9.0"
|
||||
]
|
||||
},
|
||||
{
|
||||
"code": "NU1902",
|
||||
"level": "Warning",
|
||||
"message": "Package 'SixLabors.ImageSharp' 3.1.5 has a known moderate severity vulnerability, https://github.com/advisories/GHSA-rxmq-m78w-7wmc",
|
||||
"projectPath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\OpenArchival.DataAccess.FileAccessManager.csproj",
|
||||
"warningLevel": 1,
|
||||
"filePath": "C:\\Users\\Vincent\\Documents\\dev\\Open-Archival\\OpenArchival.DataAccess.FileAccessManager\\OpenArchival.DataAccess.FileAccessManager.csproj",
|
||||
"libraryId": "SixLabors.ImageSharp",
|
||||
"targetGraphs": [
|
||||
"net9.0"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user