#pragma warning disable CA1813 // Avoid unsealed attributes

using System;

namespace Jellyfin.Api.Attributes;

/// <summary>
/// Internal produces image attribute.
/// </summary>
[AttributeUsage(AttributeTargets.Method)]
public class AcceptsFileAttribute : Attribute
{
    private readonly string[] _contentTypes;

    /// <summary>
    /// Initializes a new instance of the <see cref="AcceptsFileAttribute"/> class.
    /// </summary>
    /// <param name="contentTypes">Content types this endpoint produces.</param>
    public AcceptsFileAttribute(params string[] contentTypes)
    {
        _contentTypes = contentTypes;
    }

    /// <summary>
    /// Gets the configured content types.
    /// </summary>
    /// <returns>the configured content types.</returns>
    public string[] ContentTypes => _contentTypes;
}