<?php

namespace App\Interfaces;

interface ReportRepositoryInterface 
{

    // Allow the selection of each given report type
    public function get_report_carpet($_carpet_id);
    public function get_report_singular($_attack_id, $_organisation_id);
    public function validate_report_singular($_attack_id);
    public function get_attack_start_sizes($_address, $_from, $_to, $_min_gbps, $_min_mpps);

    // These are lists used for retrieving reports that end users needs to be concerned with.
    public function get_list_carpet($_filters, $_offset = 0, $_limit = 50, $_order = 'start_at', $_direction = 'DESC');
    public function get_list_singular($_draw, $_filters, $_offset = 0, $_limit = 50, $_order = 'start_at', $_direction = 'DESC');
    public function get_list_automation_singular($_draw, $_filters, $_offset = 0, $_limit = 500, $_order = 'start_at', $_direction = 'DESC');
    public function get_table_leaderboard($_draw, $_offset = 0, $_limit = 100, $_order = 'c_score', $_direction = 'DESC', $_start = null, $_finish = null, $_size = null);

}

