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

namespace Jellyfin.Database.Implementations.Entities;

using System;

/// <summary>
/// Stores serialized collection-folder library options for database-backed persistence.
/// </summary>
public class LibraryOptionsEntity
{
    /// <summary>
    /// Gets or sets the collection folder path used as the prototype key.
    /// </summary>
    public required string LibraryPath { get; set; }

    /// <summary>
    /// Gets or sets the serialized library options JSON payload.
    /// </summary>
    public required string OptionsJson { get; set; }

    /// <summary>
    /// Gets or sets the schema version for the serialized payload.
    /// </summary>
    public int Version { get; set; }

    /// <summary>
    /// Gets or sets the UTC timestamp when the row was created.
    /// </summary>
    public DateTime DateCreated { get; set; }

    /// <summary>
    /// Gets or sets the UTC timestamp when the row was last modified.
    /// </summary>
    public DateTime DateModified { get; set; }
}