First commit that builds.

This commit is contained in:
2025-06-29 14:43:35 +02:00
parent 3944764cb5
commit 6d15dcb985
24 changed files with 816 additions and 0 deletions

View File

@ -0,0 +1,32 @@
using MessengerBroker.Db.Model;
using Microsoft.EntityFrameworkCore;
namespace MessengerBroker.Db
{
public class BrokerDbContext : DbContext
{
private string connectionString;
public DbSet<Sync> Syncs { get; }
public DbSet<User> Users { get; }
public DbSet<Message> Messages { get; }
public BrokerDbContext(string connectionString)
{
this.connectionString = connectionString;
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
base.OnConfiguring(optionsBuilder);
optionsBuilder.UseSqlServer(this.connectionString);
}
}
}

View File

@ -0,0 +1,14 @@
<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.6" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="9.0.6" />
</ItemGroup>
</Project>

View File

@ -0,0 +1,15 @@
namespace MessengerBroker.Db.Model.Contracts
{
public interface IForeignEntity
{
Guid Id { get; }
Guid BrokerId { get; }
bool IsDeleted { get; }
Sync? FirstSync { get; }
Sync? LastSync { get; }
}
}

View File

@ -0,0 +1,9 @@
namespace MessengerBroker.Db.Model
{
public class Message
{
public Guid Id { get; set; }
public Guid BrokerId { get; set; }
}
}

View File

@ -0,0 +1,15 @@
namespace MessengerBroker.Db.Model
{
public class Sync
{
public int Id { get; set; }
public Guid BrokerId { get; set; }
public DateTime StartedUtc { get; set; }
public DateTime? FinishedUtc { get; set; }
public long? Changes { get; set; }
}
}

View File

@ -0,0 +1,11 @@
using MessengerBroker.Db.Model.Contracts;
namespace MessengerBroker.Db.Model
{
public class User
{
public Guid Id { get; set; }
public Guid BrokerId { get; set; }
}
}