update project

This commit is contained in:
root
2026-05-30 01:11:35 -04:00
parent 3a0628ecc7
commit 2225f6bc72
9743 changed files with 1122482 additions and 59 deletions
@@ -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 []; } }