diff options
Diffstat (limited to 'lib/VNLib.Plugins.Extensions.Data/src')
4 files changed, 22 insertions, 18 deletions
diff --git a/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageContext.cs b/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageContext.cs index dcde80a..fabd54e 100644 --- a/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageContext.cs +++ b/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageContext.cs @@ -1,5 +1,5 @@ /* -* Copyright (c) 2022 Vaughn Nugent +* Copyright (c) 2023 Vaughn Nugent * * Library: VNLib * Package: VNLib.Plugins.Extensions.Data @@ -22,6 +22,8 @@ * along with this program. If not, see https://www.gnu.org/licenses/. */ +using System; + using Microsoft.EntityFrameworkCore; namespace VNLib.Plugins.Extensions.Data.Storage @@ -40,9 +42,8 @@ namespace VNLib.Plugins.Extensions.Data.Storage protected override void OnModelCreating(ModelBuilder modelBuilder) { - //Set table name - modelBuilder.Entity<LWStorageEntry>() - .ToTable(TableName); + if(TableName != null) + throw new NotImplementedException("Table/relational package requires development not yet implemented"); } } }
\ No newline at end of file diff --git a/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageDescriptor.cs b/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageDescriptor.cs index 939d3e3..cc9bd46 100644 --- a/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageDescriptor.cs +++ b/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageDescriptor.cs @@ -1,5 +1,5 @@ /* -* Copyright (c) 2022 Vaughn Nugent +* Copyright (c) 2023 Vaughn Nugent * * Library: VNLib * Package: VNLib.Plugins.Extensions.Data @@ -33,7 +33,6 @@ using System.Text.Json.Serialization; using VNLib.Utils; using VNLib.Utils.Async; -using VNLib.Utils.Extensions; using VNLib.Utils.Memory; namespace VNLib.Plugins.Extensions.Data.Storage @@ -108,7 +107,7 @@ namespace VNLib.Plugins.Extensions.Data.Storage //Decode and deserialize the data return BrotliDecoder.TryDecompress(Entry.Data, decodeBuffer, out int written) - ? JsonSerializer.Deserialize<Dictionary<string, string>>(Entry.Data, SerializerOptions) ?? new(StringComparer.OrdinalIgnoreCase) + ? JsonSerializer.Deserialize<Dictionary<string, string>>(decodeBuffer.Span[..written], SerializerOptions) ?? new(StringComparer.OrdinalIgnoreCase) : throw new InvalidDataException("Failed to decompress data"); } } @@ -122,7 +121,7 @@ namespace VNLib.Plugins.Extensions.Data.Storage { Check(); //De-serialize and return object - return StringStorage.Value.TryGetValue(key, out string? val) ? val.AsJsonObject<T>(SerializerOptions) : default; + return StringStorage.Value.TryGetValue(key, out string? val) ? JsonSerializer.Deserialize<T>(val, SerializerOptions) : default; } /// <inheritdoc/> @@ -138,7 +137,7 @@ namespace VNLib.Plugins.Extensions.Data.Storage else { //Serialize the object to a string - string value = obj.ToJsonString(SerializerOptions)!; + string value = JsonSerializer.Serialize(obj, SerializerOptions); //Attempt to store string in storage SetStringValue(key, value); } diff --git a/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageManager.cs b/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageManager.cs index 8a34ec4..eabe618 100644 --- a/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageManager.cs +++ b/lib/VNLib.Plugins.Extensions.Data/src/Storage/LWStorageManager.cs @@ -1,5 +1,5 @@ /* -* Copyright (c) 2022 Vaughn Nugent +* Copyright (c) 2023 Vaughn Nugent * * Library: VNLib * Package: VNLib.Plugins.Extensions.Data @@ -272,8 +272,9 @@ namespace VNLib.Plugins.Extensions.Data.Storage { throw new InvalidDataException("Failed to compress the descriptor data"); } + //Set the data - entry.Data = encBuffer.Span.ToArray(); + entry.Data = encBuffer.Span[..compressed].ToArray(); } //Update modified time entry.LastModified = DateTime.UtcNow; diff --git a/lib/VNLib.Plugins.Extensions.Data/src/VNLib.Plugins.Extensions.Data.csproj b/lib/VNLib.Plugins.Extensions.Data/src/VNLib.Plugins.Extensions.Data.csproj index 67310b6..0616048 100644 --- a/lib/VNLib.Plugins.Extensions.Data/src/VNLib.Plugins.Extensions.Data.csproj +++ b/lib/VNLib.Plugins.Extensions.Data/src/VNLib.Plugins.Extensions.Data.csproj @@ -4,20 +4,24 @@ <TargetFramework>net6.0</TargetFramework> <RootNamespace>VNLib.Plugins.Extensions.Data</RootNamespace> <AssemblyName>VNLib.Plugins.Extensions.Data</AssemblyName> - <Version>1.0.1.1</Version> <Nullable>enable</Nullable> - <SignAssembly>True</SignAssembly> <GenerateDocumentationFile>True</GenerateDocumentationFile> - <AssemblyOriginatorKeyFile>\\vaughnnugent.com\Internal\Folder Redirection\vman\Documents\Programming\Software\StrongNameingKey.snk</AssemblyOriginatorKeyFile> <AnalysisLevel>latest-all</AnalysisLevel> </PropertyGroup> <PropertyGroup> <Authors>Vaughn Nugent</Authors> - <Description>Data extensions for VNLib Plugins</Description> + <Company>Vaughn Nugent</Company> + <Product>VNLib.Plugins.Extensions.Data</Product> + <PackageId>VNLib.Plugins.Extensions.Data</PackageId> + <Description> + An Essentials framework extension library that provides data structures for abstractions between data and + databases, using the EntityFrameworkCore library and design patterns. + </Description> <Copyright>Copyright © 2023 Vaughn Nugent</Copyright> - <PackageProjectUrl>https://www.vaughnnugent.com/resources</PackageProjectUrl> + <PackageProjectUrl>https://www.vaughnnugent.com/resources/software/modules/VNLib.Plugins.Extensions</PackageProjectUrl> + <RepositoryUrl>https://github.com/VnUgE/VNLib.Plugins.Extensions/tree/master/lib/VNLib.Plugins.Extensions.Data</RepositoryUrl> </PropertyGroup> <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|AnyCPU'"> @@ -37,8 +41,7 @@ <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets> </PackageReference> - <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.13" /> - <PackageReference Include="Microsoft.EntityFrameworkCore.Relational" Version="6.0.13" /> + <PackageReference Include="Microsoft.EntityFrameworkCore" Version="6.0.14" /> </ItemGroup> <ItemGroup> |