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

#pragma warning disable CS1591

using global::System;
using global::System.Collections.Generic;
using global::System.Text.Json.Serialization;

namespace MediaBrowser.Model.Session;

public class GeneralCommand
{
    /// <summary>
    /// Initializes a new instance of the <see cref="GeneralCommand"/> class.
    /// </summary>
    public GeneralCommand()
        : this(new Dictionary<string, string>())
    {
    }

    /// <summary>
    /// Initializes a new instance of the <see cref="GeneralCommand"/> class.
    /// </summary>
    /// <param name="arguments">The command arguments.</param>
    [JsonConstructor]
    public GeneralCommand(Dictionary<string, string>? arguments)
    {
        Arguments = arguments ?? new Dictionary<string, string>();
    }

    public GeneralCommandType Name { get; set; }

    public Guid ControllingUserId { get; set; }

    public Dictionary<string, string> Arguments { get; }
}
