update project
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
<?php declare(strict_types=1);
|
||||
namespace App\Http\Requests\Reporting;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
final class CancelScheduledReportRequest extends FormRequest { public function authorize(): bool { return true; } public function rules(): array { return []; } }
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php declare(strict_types=1);
|
||||
namespace App\Http\Requests\Reporting;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use App\Domain\SchoolCore\Reporting\DTO\ReportExportData;
|
||||
|
||||
final class ExportReportRequest extends FormRequest
|
||||
{
|
||||
public function authorize(): bool { return true; }
|
||||
public function rules(): array { return ['report_key' => ['required','string'], 'filters' => ['sometimes','array'], 'columns' => ['sometimes','array']]; }
|
||||
public function toDTO(): ReportExportData { return new ReportExportData((string) $this->input('report_key'), $this->input('filters', []), $this->input('columns'), (string) $this->input('format', 'csv'), $this->input('snapshot_id'), $this->input('filename'), (bool) $this->input('include_sensitive_columns', false), $this->input('idempotency_key'), $this->input('metadata', [])); }
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
<?php declare(strict_types=1);
|
||||
|
||||
namespace App\Http\Requests\Reporting;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
|
||||
final class ListReportsRequest extends FormRequest
|
||||
{
|
||||
public function authorize(): bool { return true; }
|
||||
public function rules(): array { return []; }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php declare(strict_types=1);
|
||||
namespace App\Http\Requests\Reporting;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use App\Domain\SchoolCore\Reporting\DTO\ReportRequestData;
|
||||
|
||||
final class RunReportRequest extends FormRequest
|
||||
{
|
||||
public function authorize(): bool { return true; }
|
||||
public function rules(): array { return ['report_key' => ['required','string'], 'filters' => ['sometimes','array'], 'columns' => ['sometimes','array']]; }
|
||||
public function toDTO(): ReportRequestData { return new ReportRequestData((string) $this->input('report_key'), $this->input('filters', []), $this->input('columns'), $this->input('sorts'), $this->input('page'), $this->input('per_page'), (bool) $this->input('include_totals', false), $this->input('timezone'), $this->input('locale'), (bool) $this->input('snapshot', false), $this->input('metadata', [])); }
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
<?php declare(strict_types=1);
|
||||
namespace App\Http\Requests\Reporting;
|
||||
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
use App\Domain\SchoolCore\Reporting\DTO\ScheduledReportData;
|
||||
|
||||
final class ScheduleReportRequest extends FormRequest
|
||||
{
|
||||
public function authorize(): bool { return true; }
|
||||
public function rules(): array { return ['report_key' => ['required','string'], 'filters' => ['sometimes','array'], 'columns' => ['sometimes','array']]; }
|
||||
public function toDTO(): ScheduledReportData { return new ScheduledReportData((string) $this->input('report_key'), $this->input('filters', []), $this->input('columns'), (string) $this->input('format', 'csv'), (string) $this->input('frequency', 'weekly'), (string) $this->input('run_at'), $this->input('recipient_user_ids', []), $this->input('recipient_emails'), $this->input('expires_at'), $this->input('metadata', [])); }
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
<?php declare(strict_types=1);
|
||||
namespace App\Http\Requests\Reporting;
|
||||
use Illuminate\Foundation\Http\FormRequest;
|
||||
final class ViewReportSnapshotRequest extends FormRequest { public function authorize(): bool { return true; } public function rules(): array { return []; } }
|
||||
Reference in New Issue
Block a user