Добавил базовые датасеты и агрегации для конструктора отчетов

This commit is contained in:
brusnitsyn
2026-06-22 17:01:23 +09:00
parent 5bad7599cf
commit 09f5e0d686

View 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;
}