Добавил базовые датасеты и агрегации для конструктора отчетов
This commit is contained in:
31
app/Services/Analytics/Contracts/DataSet.php
Normal file
31
app/Services/Analytics/Contracts/DataSet.php
Normal file
@@ -0,0 +1,31 @@
|
|||||||
|
<?php
|
||||||
|
|
||||||
|
namespace App\Services\Analytics\Contracts;
|
||||||
|
|
||||||
|
use App\Services\Analytics\AnalyticsQuery;
|
||||||
|
use App\Services\Analytics\AnalyticsResult;
|
||||||
|
|
||||||
|
interface DataSet
|
||||||
|
{
|
||||||
|
public function key(): string;
|
||||||
|
|
||||||
|
public function label(): string;
|
||||||
|
|
||||||
|
public function description(): string;
|
||||||
|
|
||||||
|
public function category(): string;
|
||||||
|
|
||||||
|
/** Фиксированный отчёт (предопределённые колонки, без выбора группировок/показателей). */
|
||||||
|
public function fixed(): bool;
|
||||||
|
|
||||||
|
/** @return \App\Services\Analytics\Dimension[] */
|
||||||
|
public function dimensions(): array;
|
||||||
|
|
||||||
|
/** @return \App\Services\Analytics\Measure[] */
|
||||||
|
public function measures(): array;
|
||||||
|
|
||||||
|
/** @return \App\Services\Analytics\FilterDef[] */
|
||||||
|
public function filters(): array;
|
||||||
|
|
||||||
|
public function run(AnalyticsQuery $query): AnalyticsResult;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user