Prototyping

This commit is contained in:
TheXamlGuy
2024-05-10 22:38:08 +01:00
parent cc63e3d830
commit e372eca4d0
24 changed files with 139 additions and 99 deletions
+20
View File
@@ -0,0 +1,20 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="9.0.0-preview.3.24172.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="9.0.0-preview.3.24172.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite.Core" Version="9.0.0-preview.3.24172.4" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="9.0.0-preview.3.24172.4">
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="SQLitePCLRaw.bundle_e_sqlcipher" Version="2.1.8" />
</ItemGroup>
</Project>
+11
View File
@@ -0,0 +1,11 @@
using System.ComponentModel.DataAnnotations;
namespace Bitvault.Data;
public record Category
{
[Key]
public int Id { get; set; }
public string? Name { get; set; }
}
+22
View File
@@ -0,0 +1,22 @@
using Bitvault.Data;
using System.ComponentModel.DataAnnotations;
namespace Bitvault.Data;
public record Content
{
[Key]
public int Id { get; set; }
public string? Name { get; set; }
public string? Description { get; set; }
public int State { get; set; }
public ICollection<Tag>? Tags { get; }
public Category? Category { get; }
public ICollection<Document>? Documents { get; }
}
+13
View File
@@ -0,0 +1,13 @@
using System.ComponentModel.DataAnnotations;
namespace Bitvault.Data;
public record Document
{
public byte[]? Blob { get; set; }
public DocumentType Type { get; set; }
[Key]
public int Id { get; set; }
}
+7
View File
@@ -0,0 +1,7 @@
namespace Bitvault.Data;
public enum DocumentType
{
Form,
File
}
+11
View File
@@ -0,0 +1,11 @@
using System.ComponentModel.DataAnnotations;
namespace Bitvault.Data;
public class Tag
{
[Key]
public int Id { get; set; }
public string? Name { get; set; }
}
+27
View File
@@ -0,0 +1,27 @@
using Bitvault.Data;
using Microsoft.EntityFrameworkCore;
namespace Bitvault.Data;
public class VaultDbContext(DbContextOptions<VaultDbContext> options) :
DbContext(options)
{
public DbSet<Category> Categories { get; set; }
public DbSet<Document> Documents { get; set; }
public DbSet<Content> Items { get; set; }
public DbSet<Tag> Tags { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity<Content>()
.HasMany(x => x.Tags)
.WithOne();
modelBuilder.Entity<Content>()
.HasMany(x => x.Documents)
.WithOne();
}
}