Files
zap-stream-api/NostrStreamer/Database/Configuration/UserStreamKeyConfiguration.cs
2024-08-28 10:05:41 +01:00

31 lines
913 B
C#

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace NostrStreamer.Database.Configuration;
public class UserStreamKeyConfiguration : IEntityTypeConfiguration<UserStreamKey>
{
public void Configure(EntityTypeBuilder<UserStreamKey> builder)
{
builder.HasKey(a => a.Id);
builder.Property(a => a.Key)
.IsRequired();
builder.Property(a => a.Created)
.IsRequired();
builder.Property(a => a.Expires)
.IsRequired(false);
builder.HasOne(a => a.UserStream)
.WithOne(a => a.StreamKey)
.HasPrincipalKey<UserStream>(a => a.Id)
.HasForeignKey<UserStreamKey>(a => a.StreamId);
builder.HasOne(a => a.User)
.WithMany(a => a.StreamKeys)
.HasForeignKey(a => a.UserPubkey)
.HasPrincipalKey(a => a.PubKey);
}
}