using Microsoft.EntityFrameworkCore; namespace Socialize.Api.Modules.Projects.Data; public static class ProjectModelConfiguration { public static ModelBuilder ConfigureProjectsModule(this ModelBuilder modelBuilder) { modelBuilder.Entity(project => { project.ToTable("Projects"); project.HasKey(x => x.Id); project.Property(x => x.Name).HasMaxLength(256).IsRequired(); project.Property(x => x.Description).HasMaxLength(4000); project.Property(x => x.Notes).HasMaxLength(4000); project.Property(x => x.Status).HasMaxLength(64).IsRequired(); project.Property(x => x.CreatedAt) .ValueGeneratedOnAdd() .HasDefaultValueSql("CURRENT_TIMESTAMP"); project.HasIndex(x => new { x.ClientId, x.Name }).IsUnique(); project.HasIndex(x => x.WorkspaceId); project.HasIndex(x => x.ClientId); }); return modelBuilder; } }