Добавил базовые датасеты и агрегации для конструктора отчетов
This commit is contained in:
36
app/Services/Analytics/AnalyticsQuery.php
Normal file
36
app/Services/Analytics/AnalyticsQuery.php
Normal file
@@ -0,0 +1,36 @@
|
||||
<?php
|
||||
|
||||
namespace App\Services\Analytics;
|
||||
|
||||
use App\Models\Department;
|
||||
use App\Models\User;
|
||||
use App\Services\DateRange;
|
||||
|
||||
/**
|
||||
* Запрос на построение отчёта: что и как агрегировать.
|
||||
*/
|
||||
readonly class AnalyticsQuery
|
||||
{
|
||||
/**
|
||||
* @param array<int,string> $dimensions ключи измерений (в порядке отображения)
|
||||
* @param array<int,string> $measures ключи показателей (в порядке отображения)
|
||||
* @param array<int,array{key:string,value:mixed}> $filters
|
||||
* @param 'period'|'dynamics' $mode
|
||||
* @param 'day'|'week'|'month' $detalization
|
||||
* @param array{metric?:string,type?:string} $chart
|
||||
* @param Measure[] $customMeasures пользовательские показатели, подмешиваемые к датасету
|
||||
*/
|
||||
public function __construct(
|
||||
public string $datasetKey,
|
||||
public array $dimensions,
|
||||
public array $measures,
|
||||
public array $filters,
|
||||
public string $mode,
|
||||
public string $detalization,
|
||||
public Department $department,
|
||||
public DateRange $dateRange,
|
||||
public array $chart = [],
|
||||
public array $customMeasures = [],
|
||||
public ?User $user = null,
|
||||
) {}
|
||||
}
|
||||
Reference in New Issue
Block a user