// <copyright file="HomeSectionConfiguration.cs" company="PlaceholderCompany">
// Copyright (c) PlaceholderCompany. All rights reserved.
// </copyright>

namespace Jellyfin.Database.Implementations.ModelConfiguration
{
    using System;
    using Jellyfin.Database.Implementations.Entities;
    using Microsoft.EntityFrameworkCore;
    using Microsoft.EntityFrameworkCore.Metadata.Builders;

    /// <summary>
    /// FluentAPI configuration for the HomeSection entity.
    /// </summary>
    public class HomeSectionConfiguration : IEntityTypeConfiguration<HomeSection>
    {
        /// <inheritdoc/>
        public void Configure(EntityTypeBuilder<HomeSection> builder)
        {
            ArgumentNullException.ThrowIfNull(builder);

            builder.ToTable("home_sections", "displaypreferences");

            builder.HasKey(e => e.Id);

            builder.Property(e => e.Order)
                .IsRequired();

            builder.Property(e => e.Type)
                .IsRequired();

            builder.Property(e => e.DisplayPreferencesId)
                .IsRequired();
        }
    }
}
