unit TwitchAPI.Commands.GetExtensionAnalytics;

interface

uses
  TwitchAPI.Entities;

type

{ ITwitchGetExtensionAnalyticsResult }

  ITwitchGetExtensionAnalyticsResult = interface
    function GetCount: Integer;
    function GetData: TArray<TTwitchExtensionAnalytics>;
    function GetPagination: TTwitchPagination;
    property Count: Integer read GetCount;
    property Data: TArray<TTwitchExtensionAnalytics> read GetData;
    property Pagination: TTwitchPagination read GetPagination;
  end;

{ ITwitchGetExtensionAnalyticsCommand }

  /// <summary>
  ///   Gets an analytics report for one or more extensions. The response
  ///   contains the URLs used to download the reports (CSV files).
  /// </summary>
  ITwitchGetExtensionAnalyticsCommand = interface
    function Execute: ITwitchGetExtensionAnalyticsResult;
    function SetExtensionID(const AValue: string): ITwitchGetExtensionAnalyticsCommand;
    function SetType(const AValue: string): ITwitchGetExtensionAnalyticsCommand;
    function SetStartedAt(const AValue: TDateTime): ITwitchGetExtensionAnalyticsCommand;
    function SetEndedAt(const AValue: TDateTime): ITwitchGetExtensionAnalyticsCommand;
    function SetFirst(const AValue: Integer): ITwitchGetExtensionAnalyticsCommand;
    function SetPagination(const AValue: TTwitchPagination): ITwitchGetExtensionAnalyticsCommand;
  end;

implementation

end.
