using System.ComponentModel.DataAnnotations; using Microsoft.EntityFrameworkCore; using Microsoft.EntityFrameworkCore.Metadata.Builders; using Newtonsoft.Json; using QuestShare.Common; namespace QuestShare.Server.Models { public class SessionMember { public Guid ClientSessionId { get; set; } public required Client Client { get; set; } public required Session Session { get; set; } // public required string CharacterId { get; set; } public DateTime Created { get; set; } public DateTime LastUpdated { get; set; } } internal class ClientSessionConfiguration : IEntityTypeConfiguration { public void Configure(EntityTypeBuilder builder) { builder.ToTable("SessionMembers"); builder.HasKey(cs => cs.ClientSessionId); builder.HasMany(); builder.HasMany(); builder.Property(cs => cs.Created).HasDefaultValueSql("current_timestamp").ValueGeneratedOnAddOrUpdate(); builder.Property(cs => cs.LastUpdated).HasDefaultValueSql("current_timestamp").ValueGeneratedOnAddOrUpdate(); } } }