Files
zap-stream-api/NostrStreamer/Database/Configuration/UserStreamConfiguration.cs
2023-08-25 20:02:24 +01:00

45 lines
1.1 KiB
C#

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Metadata.Builders;
namespace NostrStreamer.Database.Configuration;
public class UserStreamConfiguration : IEntityTypeConfiguration<UserStream>
{
public void Configure(EntityTypeBuilder<UserStream> builder)
{
builder.HasKey(a => a.Id);
builder.Property(a => a.StreamId)
.IsRequired();
builder.Property(a => a.Starts)
.IsRequired();
builder.Property(a => a.Ends);
builder.Property(a => a.State)
.IsRequired();
builder.Property(a => a.Event)
.IsRequired();
builder.Property(a => a.Thumbnail);
builder.Property(a => a.EdgeIp)
.IsRequired();
builder.Property(a => a.ForwardClientId)
.IsRequired();
builder.Property(a => a.LastSegment)
.IsRequired();
builder.HasOne(a => a.Endpoint)
.WithMany()
.HasForeignKey(a => a.EndpointId);
builder.HasOne(a => a.User)
.WithMany(a => a.Streams)
.HasForeignKey(a => a.PubKey);
}
}