Moved entity configurations to their own folder

This commit is contained in:
2026-08-20 15:49:20 +02:00
parent 436ebf36a1
commit 7415a53ee2
52 changed files with 146 additions and 126 deletions
@@ -0,0 +1,8 @@
namespace PostFundManagement.Domain.Configuration.Email;
public sealed class Account
{
public string? Username { get; set; }
public string? Password { get; set; }
}
@@ -0,0 +1,12 @@
namespace PostFundManagement.Domain.Configuration.Email;
public sealed class SmtpSettings
{
public Account? Credentials { get; set; }
public int Port { get; set; }
public string? Host { get; set; }
public bool UseSsl { get; set; }
}
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Activity : IEntityTypeConfiguration<Entities.Activity>
public sealed class Activity : IEntityTypeConfiguration<Domain.Entities.Activity>
{
public void Configure(EntityTypeBuilder<Entities.Activity> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Activity> builder)
{
builder.ToTable(nameof(Entities.Activity).Pluralize());
builder.ToTable(nameof(Domain.Entities.Activity).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class AuditLog : IEntityTypeConfiguration<Entities.AuditLog>
public sealed class AuditLog : IEntityTypeConfiguration<Domain.Entities.AuditLog>
{
public void Configure(EntityTypeBuilder<Entities.AuditLog> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.AuditLog> builder)
{
builder.ToTable(nameof(Entities.AuditLog).Pluralize());
builder.ToTable(nameof(Domain.Entities.AuditLog).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.EntityName).IsRequired().HasMaxLength(LabelLength);
@@ -1,10 +1,10 @@
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Award : IEntityTypeConfiguration<Entities.Award>
public sealed class Award : IEntityTypeConfiguration<Domain.Entities.Award>
{
public void Configure(EntityTypeBuilder<Entities.Award> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Award> builder)
{
builder.ToTable(nameof(Entities.Award).Pluralize());
builder.ToTable(nameof(Domain.Entities.Award).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.OrganisationId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Beneficiary : IEntityTypeConfiguration<Entities.Beneficiary>
public sealed class Beneficiary : IEntityTypeConfiguration<Domain.Entities.Beneficiary>
{
public void Configure(EntityTypeBuilder<Entities.Beneficiary> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Beneficiary> builder)
{
builder.ToTable(nameof(Entities.Beneficiary).Pluralize());
builder.ToTable(nameof(Domain.Entities.Beneficiary).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Budget : IEntityTypeConfiguration<Entities.Budget>
public sealed class Budget : IEntityTypeConfiguration<Domain.Entities.Budget>
{
public void Configure(EntityTypeBuilder<Entities.Budget> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Budget> builder)
{
builder.ToTable(nameof(Entities.Budget).Pluralize());
builder.ToTable(nameof(Domain.Entities.Budget).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class ChangeRequest : IEntityTypeConfiguration<Entities.ChangeRequest>
public sealed class ChangeRequest : IEntityTypeConfiguration<Domain.Entities.ChangeRequest>
{
public void Configure(EntityTypeBuilder<Entities.ChangeRequest> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.ChangeRequest> builder)
{
builder.ToTable(nameof(Entities.ChangeRequest).Pluralize());
builder.ToTable(nameof(Domain.Entities.ChangeRequest).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class ComplianceItem : IEntityTypeConfiguration<Entities.ComplianceItem>
public sealed class ComplianceItem : IEntityTypeConfiguration<Domain.Entities.ComplianceItem>
{
public void Configure(EntityTypeBuilder<Entities.ComplianceItem> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.ComplianceItem> builder)
{
builder.ToTable(nameof(Entities.ComplianceItem).Pluralize());
builder.ToTable(nameof(Domain.Entities.ComplianceItem).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,10 +1,10 @@
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Contract : IEntityTypeConfiguration<Entities.Contract>
public sealed class Contract : IEntityTypeConfiguration<Domain.Entities.Contract>
{
public void Configure(EntityTypeBuilder<Entities.Contract> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Contract> builder)
{
builder.ToTable(nameof(Entities.Contract).Pluralize());
builder.ToTable(nameof(Domain.Entities.Contract).Pluralize());
builder.HasKey(pk => pk.Id);
builder.HasIndex(f => f.AwardId).IsUnique();
@@ -21,7 +21,7 @@ public sealed class Contract : IEntityTypeConfiguration<Entities.Contract>
builder.HasOne(f => f.Award)
.WithOne(f => f.Contract)
.HasForeignKey<Entities.Contract>(fk => fk.AwardId)
.HasForeignKey<Domain.Entities.Contract>(fk => fk.AwardId)
.IsRequired()
.OnDelete(DeleteBehavior.Restrict);
@@ -1,10 +1,10 @@
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Disbursement : IEntityTypeConfiguration<Entities.Disbursement>
public sealed class Disbursement : IEntityTypeConfiguration<Domain.Entities.Disbursement>
{
public void Configure(EntityTypeBuilder<Entities.Disbursement> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Disbursement> builder)
{
builder.ToTable(nameof(Entities.Disbursement).Pluralize());
builder.ToTable(nameof(Domain.Entities.Disbursement).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,10 +1,10 @@
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Evidence : IEntityTypeConfiguration<Entities.Evidence>
public sealed class Evidence : IEntityTypeConfiguration<Domain.Entities.Evidence>
{
public void Configure(EntityTypeBuilder<Entities.Evidence> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Evidence> builder)
{
builder.ToTable(nameof(Entities.Evidence).Pluralize());
builder.ToTable(nameof(Domain.Entities.Evidence).Pluralize());
builder.HasKey(f => f.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Indicator : IEntityTypeConfiguration<Entities.Indicator>
public sealed class Indicator : IEntityTypeConfiguration<Domain.Entities.Indicator>
{
public void Configure(EntityTypeBuilder<Entities.Indicator> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Indicator> builder)
{
builder.ToTable(nameof(Entities.Indicator).Pluralize());
builder.ToTable(nameof(Domain.Entities.Indicator).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Instrument : IEntityTypeConfiguration<Entities.Instrument>
public sealed class Instrument : IEntityTypeConfiguration<Domain.Entities.Instrument>
{
public void Configure(EntityTypeBuilder<Entities.Instrument> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Instrument> builder)
{
builder.ToTable(nameof(Entities.Instrument).Pluralize());
builder.ToTable(nameof(Domain.Entities.Instrument).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProgrammeId).IsRequired();
@@ -1,11 +1,11 @@
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Invite : IEntityTypeConfiguration<Entities.Invite>
public sealed class Invite : IEntityTypeConfiguration<Domain.Entities.Invite>
{
public void Configure(EntityTypeBuilder<Entities.Invite> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Invite> builder)
{
builder.ToTable(nameof(Entities.Invite).Pluralize());
builder.ToTable(nameof(Domain.Entities.Invite).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.OrganisationId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Issue : IEntityTypeConfiguration<Entities.Issue>
public sealed class Issue : IEntityTypeConfiguration<Domain.Entities.Issue>
{
public void Configure(EntityTypeBuilder<Entities.Issue> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Issue> builder)
{
builder.ToTable(nameof(Entities.Issue).Pluralize());
builder.ToTable(nameof(Domain.Entities.Issue).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Milestone : IEntityTypeConfiguration<Entities.Milestone>
public sealed class Milestone : IEntityTypeConfiguration<Domain.Entities.Milestone>
{
public void Configure(EntityTypeBuilder<Entities.Milestone> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Milestone> builder)
{
builder.ToTable(nameof(Entities.Milestone).Pluralize());
builder.ToTable(nameof(Domain.Entities.Milestone).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Notification : IEntityTypeConfiguration<Entities.Notification>
public sealed class Notification : IEntityTypeConfiguration<Domain.Entities.Notification>
{
public void Configure(EntityTypeBuilder<Entities.Notification> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Notification> builder)
{
builder.ToTable(nameof(Entities.Notification).Pluralize());
builder.ToTable(nameof(Domain.Entities.Notification).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.CreatedAt).IsRequired().HasDefaultValueSql("now()");
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Organisation : IEntityTypeConfiguration<Entities.Organisation>
public sealed class Organisation : IEntityTypeConfiguration<Domain.Entities.Organisation>
{
public void Configure(EntityTypeBuilder<Entities.Organisation> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Organisation> builder)
{
builder.ToTable(nameof(Entities.Organisation).Pluralize());
builder.ToTable(nameof(Domain.Entities.Organisation).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.CreatedBy).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Outcome : IEntityTypeConfiguration<Entities.Outcome>
public sealed class Outcome : IEntityTypeConfiguration<Domain.Entities.Outcome>
{
public void Configure(EntityTypeBuilder<Entities.Outcome> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Outcome> builder)
{
builder.ToTable(nameof(Entities.Outcome).Pluralize());
builder.ToTable(nameof(Domain.Entities.Outcome).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.BeneficiaryId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Portfolio : IEntityTypeConfiguration<Entities.Portfolio>
public sealed class Portfolio : IEntityTypeConfiguration<Domain.Entities.Portfolio>
{
public void Configure(EntityTypeBuilder<Entities.Portfolio> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Portfolio> builder)
{
builder.ToTable(nameof(Entities.Portfolio).Pluralize());
builder.ToTable(nameof(Domain.Entities.Portfolio).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.CreatedBy).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Programme : IEntityTypeConfiguration<Entities.Programme>
public sealed class Programme : IEntityTypeConfiguration<Domain.Entities.Programme>
{
public void Configure(EntityTypeBuilder<Entities.Programme> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Programme> builder)
{
builder.ToTable(nameof(Entities.Programme).Pluralize());
builder.ToTable(nameof(Domain.Entities.Programme).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.PortfolioId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Project : IEntityTypeConfiguration<Entities.Project>
public sealed class Project : IEntityTypeConfiguration<Domain.Entities.Project>
{
public void Configure(EntityTypeBuilder<Entities.Project> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Project> builder)
{
builder.ToTable(nameof(Entities.Project).Pluralize());
builder.ToTable(nameof(Domain.Entities.Project).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProgrammeId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Risk : IEntityTypeConfiguration<Entities.Risk>
public sealed class Risk : IEntityTypeConfiguration<Domain.Entities.Risk>
{
public void Configure(EntityTypeBuilder<Entities.Risk> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Risk> builder)
{
builder.ToTable(nameof(Entities.Risk).Pluralize());
builder.ToTable(nameof(Domain.Entities.Risk).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class Rule : IEntityTypeConfiguration<Entities.Rule>
public sealed class Rule : IEntityTypeConfiguration<Domain.Entities.Rule>
{
public void Configure(EntityTypeBuilder<Entities.Rule> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.Rule> builder)
{
builder.ToTable(nameof(Entities.Rule).Pluralize());
builder.ToTable(nameof(Domain.Entities.Rule).Pluralize());
builder.HasKey(fk => fk.Id);
builder.Property(f => f.ProgrammeId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class SiteVisit : IEntityTypeConfiguration<Entities.SiteVisit>
public sealed class SiteVisit : IEntityTypeConfiguration<Domain.Entities.SiteVisit>
{
public void Configure(EntityTypeBuilder<Entities.SiteVisit> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.SiteVisit> builder)
{
builder.ToTable(nameof(Entities.SiteVisit).Pluralize());
builder.ToTable(nameof(Domain.Entities.SiteVisit).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.ProjectId).IsRequired();
@@ -1,12 +1,12 @@
using static PostFundManagement.Domain.Extensions.Constants;
namespace PostFundManagement.Domain.Configuration;
namespace PostFundManagement.Domain.Configuration.Entities;
public sealed class User : IEntityTypeConfiguration<Entities.User>
public sealed class User : IEntityTypeConfiguration<Domain.Entities.User>
{
public void Configure(EntityTypeBuilder<Entities.User> builder)
public void Configure(EntityTypeBuilder<Domain.Entities.User> builder)
{
builder.ToTable(nameof(Entities.User).Pluralize());
builder.ToTable(nameof(Domain.Entities.User).Pluralize());
builder.HasKey(pk => pk.Id);
builder.Property(f => f.Email).IsRequired().HasMaxLength(LabelLength);