From aa162c3cc098449370f5b21351f2168f0ca23935 Mon Sep 17 00:00:00 2001 From: JohnMwaniki Date: Tue, 10 Feb 2026 23:41:51 +0300 Subject: [PATCH 1/2] feat: add fluet entity validation --- .../Configurations/CategoryConfiguration.cs | 3 +++ .../Configurations/VenueConfiguration.cs | 4 ---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/eventz-api/Eventz.Infrastructure/Configurations/CategoryConfiguration.cs b/eventz-api/Eventz.Infrastructure/Configurations/CategoryConfiguration.cs index 082e0cf..64cb9d1 100644 --- a/eventz-api/Eventz.Infrastructure/Configurations/CategoryConfiguration.cs +++ b/eventz-api/Eventz.Infrastructure/Configurations/CategoryConfiguration.cs @@ -8,7 +8,10 @@ public class CategoryConfiguration: IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { + builder.ToTable("Categories"); + builder.Property("Name").IsRequired().HasColumnType("VARCHAR(100)"); + builder.Property("Description").IsRequired().HasColumnType("TEXT"); builder.HasKey(x => x.Id); } diff --git a/eventz-api/Eventz.Infrastructure/Configurations/VenueConfiguration.cs b/eventz-api/Eventz.Infrastructure/Configurations/VenueConfiguration.cs index 24f25b4..05e10e7 100644 --- a/eventz-api/Eventz.Infrastructure/Configurations/VenueConfiguration.cs +++ b/eventz-api/Eventz.Infrastructure/Configurations/VenueConfiguration.cs @@ -15,10 +15,6 @@ public void Configure(EntityTypeBuilder builder) { builder.ToTable("Venues"); builder.HasIndex(v => v.Id); - builder.HasMany(v => v.Events) - .WithOne(e => e.Venue) - .HasForeignKey(e => e.VenueId) - .OnDelete(DeleteBehavior.Restrict); } } } From 115129ccd3e57c3b8164caa9f4e555e12ddaa917 Mon Sep 17 00:00:00 2001 From: JohnMwaniki Date: Wed, 11 Feb 2026 22:46:18 +0300 Subject: [PATCH 2/2] feat: add entities validation --- .../Configurations/CategoryConfiguration.cs | 4 ++-- .../Configurations/EventConfiguration.cs | 3 +++ .../Configurations/EventRegistrationConfiguration.cs | 3 +++ .../Configurations/TicketConfiguration.cs | 4 ++++ .../Eventz.Infrastructure/Configurations/UserConfiguration.cs | 3 +++ .../Configurations/VenueConfiguration.cs | 4 ++++ 6 files changed, 19 insertions(+), 2 deletions(-) diff --git a/eventz-api/Eventz.Infrastructure/Configurations/CategoryConfiguration.cs b/eventz-api/Eventz.Infrastructure/Configurations/CategoryConfiguration.cs index 64cb9d1..002cadf 100644 --- a/eventz-api/Eventz.Infrastructure/Configurations/CategoryConfiguration.cs +++ b/eventz-api/Eventz.Infrastructure/Configurations/CategoryConfiguration.cs @@ -10,8 +10,8 @@ public void Configure(EntityTypeBuilder builder) { builder.ToTable("Categories"); - builder.Property("Name").IsRequired().HasColumnType("VARCHAR(100)"); - builder.Property("Description").IsRequired().HasColumnType("TEXT"); + builder.Property("Name").IsRequired().HasMaxLength(100); + builder.Property("Description").IsRequired().HasMaxLength(10000); builder.HasKey(x => x.Id); } diff --git a/eventz-api/Eventz.Infrastructure/Configurations/EventConfiguration.cs b/eventz-api/Eventz.Infrastructure/Configurations/EventConfiguration.cs index 41fa924..0a4ad04 100644 --- a/eventz-api/Eventz.Infrastructure/Configurations/EventConfiguration.cs +++ b/eventz-api/Eventz.Infrastructure/Configurations/EventConfiguration.cs @@ -24,6 +24,9 @@ public void Configure(EntityTypeBuilder builder) builder.Property(e => e.StartDate).IsRequired(); builder.Property(e => e.EndDate) .IsRequired(); + builder.Property(e => e.IsPublic).IsRequired().HasDefaultValue(false); + builder.Property(e => e.CategoryId).IsRequired(); + builder.Property(e => e.CategoryId).IsRequired(); //relations builder.HasOne(e => e.Venue) diff --git a/eventz-api/Eventz.Infrastructure/Configurations/EventRegistrationConfiguration.cs b/eventz-api/Eventz.Infrastructure/Configurations/EventRegistrationConfiguration.cs index 9fbeb3b..b4a205f 100644 --- a/eventz-api/Eventz.Infrastructure/Configurations/EventRegistrationConfiguration.cs +++ b/eventz-api/Eventz.Infrastructure/Configurations/EventRegistrationConfiguration.cs @@ -17,6 +17,9 @@ public void Configure(EntityTypeBuilder builder) builder.HasIndex(er => new { er.UserId, er.EventId }).IsUnique(); builder.Property(er => er.RegisteredAt) .HasDefaultValueSql("GETUTCDATE()"); + builder.Property(er => er.UserId).IsRequired(); + builder.Property(er => er.EventId).IsRequired(); + builder.Property(er => er.CheckedIn).IsRequired().HasDefaultValue(false); builder.HasOne(er => er.Event) .WithMany(e => e.Registrations) diff --git a/eventz-api/Eventz.Infrastructure/Configurations/TicketConfiguration.cs b/eventz-api/Eventz.Infrastructure/Configurations/TicketConfiguration.cs index 7b8be7a..d47fed5 100644 --- a/eventz-api/Eventz.Infrastructure/Configurations/TicketConfiguration.cs +++ b/eventz-api/Eventz.Infrastructure/Configurations/TicketConfiguration.cs @@ -15,6 +15,10 @@ public void Configure(EntityTypeBuilder builder) { builder.ToTable("Tickets"); builder.HasKey(t => t.Id); + builder.Property(t => t.EventId).IsRequired(); + builder.Property(t => t.Type).IsRequired(); + builder.Property(t => t.Price).HasPrecision(18, 2); + builder.Property(t => t.Quantity).IsRequired(); builder.HasOne(t => t.Event) .WithMany(e => e.Tickets) .HasForeignKey(t => t.EventId) diff --git a/eventz-api/Eventz.Infrastructure/Configurations/UserConfiguration.cs b/eventz-api/Eventz.Infrastructure/Configurations/UserConfiguration.cs index eb581cb..5607ba1 100644 --- a/eventz-api/Eventz.Infrastructure/Configurations/UserConfiguration.cs +++ b/eventz-api/Eventz.Infrastructure/Configurations/UserConfiguration.cs @@ -12,6 +12,9 @@ public void Configure (EntityTypeBuilder builder) builder.HasKey(u => u.Id); builder.HasIndex(u => u.Email).IsUnique(); + builder.Property(u => u.UserName).IsRequired().HasMaxLength(255); + builder.Property(u => u.Password).IsRequired().HasMaxLength(255); + builder.Property(u => u.Email).IsRequired().HasMaxLength(255); builder.Property(u => u.CreatedAt).HasDefaultValueSql("GETUTCDATE()"); } diff --git a/eventz-api/Eventz.Infrastructure/Configurations/VenueConfiguration.cs b/eventz-api/Eventz.Infrastructure/Configurations/VenueConfiguration.cs index 05e10e7..4669b32 100644 --- a/eventz-api/Eventz.Infrastructure/Configurations/VenueConfiguration.cs +++ b/eventz-api/Eventz.Infrastructure/Configurations/VenueConfiguration.cs @@ -15,6 +15,10 @@ public void Configure(EntityTypeBuilder builder) { builder.ToTable("Venues"); builder.HasIndex(v => v.Id); + builder.Property(v => v.Name).IsRequired(); + builder.Property(v => v.Address).IsRequired(); + builder.Property(v => v.City).IsRequired(); + builder.Property(v => v.Capacity).IsRequired(); } } }