using MicCheck.Api.Common.Security.Authorization; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; namespace MicCheck.Api.Data.Configurations; public class UserProjectPermissionConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.HasKey(p => new { p.UserId, p.ProjectId }); builder.Property(p => p.Permissions) .HasConversion( v => string.Join(',', v.Select(p => p.ToString())), v => string.IsNullOrEmpty(v) ? new List() : v.Split(',', StringSplitOptions.RemoveEmptyEntries) .Select(Enum.Parse) .ToList()); } }