first commit
This commit is contained in:
@@ -0,0 +1,20 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Reports\UniversalReport;
|
||||
|
||||
use App\Http\Requests\CattrFormRequest;
|
||||
|
||||
class UniversalReportDestroyRequest extends CattrFormRequest
|
||||
{
|
||||
public function _authorize(): bool
|
||||
{
|
||||
return auth()->check();
|
||||
}
|
||||
|
||||
public function _rules(): array
|
||||
{
|
||||
return [
|
||||
'id' => 'required|int|exists:universal_reports,id',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,50 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Reports\UniversalReport;
|
||||
|
||||
use App\Enums\UniversalReportType;
|
||||
use App\Enums\UniversalReportBase;
|
||||
use App\Exceptions\Entities\InvalidMainException;
|
||||
use App\Http\Requests\CattrFormRequest;
|
||||
use Exception;
|
||||
use Illuminate\Validation\Rules\Enum;
|
||||
|
||||
class UniversalReportEditRequest extends CattrFormRequest
|
||||
{
|
||||
public function _authorize(): bool
|
||||
{
|
||||
return auth()->check();
|
||||
}
|
||||
|
||||
public function _rules(): array
|
||||
{
|
||||
$enumCase = UniversalReportBase::tryFrom(request('base'));
|
||||
switch ($enumCase) {
|
||||
case UniversalReportBase::PROJECT:
|
||||
$table = 'projects';
|
||||
break;
|
||||
case UniversalReportBase::USER:
|
||||
$table = 'users';
|
||||
break;
|
||||
case UniversalReportBase::TASK:
|
||||
$table = 'tasks';
|
||||
break;
|
||||
default:
|
||||
return throw new InvalidMainException();
|
||||
|
||||
}
|
||||
return [
|
||||
'id' => 'required|int|exists:universal_reports,id',
|
||||
'name' => 'required|string',
|
||||
'base' => ['required', new Enum(UniversalReportBase::class)],
|
||||
'fields' => 'required|array',
|
||||
'fields.*' => 'array',
|
||||
'fields.*.*' => 'required|string|in:'.implode(',', array_map(fn($item) => implode(',', $item), $enumCase->fields())),
|
||||
'dataObjects' => 'required|array',
|
||||
'dataObjects.*' => "required|int|exists:$table,id",
|
||||
'charts' => 'nullable|array',
|
||||
'charts.*' => 'required|string|in:'.implode(',', array_map(fn($item) => $item, $enumCase->charts())),
|
||||
'type' => ['required', 'string', new Enum(UniversalReportType::class)],
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,25 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Reports\UniversalReport;
|
||||
|
||||
use App\Enums\UniversalReportBase;
|
||||
use App\Http\Requests\CattrFormRequest;
|
||||
use Exception;
|
||||
use Illuminate\Validation\Rules\Enum;
|
||||
|
||||
class UniversalReportRequest extends CattrFormRequest
|
||||
{
|
||||
public function _authorize(): bool
|
||||
{
|
||||
return auth()->check();
|
||||
}
|
||||
|
||||
public function _rules(): array
|
||||
{
|
||||
return [
|
||||
'id' => 'required|exists:universal_reports,id|int',
|
||||
'start_at' => 'nullable|date',
|
||||
'end_at' => 'nullable|date',
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,23 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Reports\UniversalReport;
|
||||
|
||||
use App\Enums\UniversalReportBase;
|
||||
use App\Http\Requests\CattrFormRequest;
|
||||
use Exception;
|
||||
use Illuminate\Validation\Rules\Enum;
|
||||
|
||||
class UniversalReportShowRequest extends CattrFormRequest
|
||||
{
|
||||
public function _authorize(): bool
|
||||
{
|
||||
return auth()->check();
|
||||
}
|
||||
|
||||
public function _rules(): array
|
||||
{
|
||||
return [
|
||||
'id' => 'required|exists:universal_reports,id|int'
|
||||
];
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Requests\Reports\UniversalReport;
|
||||
|
||||
use App\Enums\UniversalReportType;
|
||||
use App\Enums\UniversalReportBase;
|
||||
use App\Exceptions\Entities\InvalidMainException;
|
||||
use App\Http\Requests\CattrFormRequest;
|
||||
use Exception;
|
||||
use Illuminate\Validation\Rules\Enum;
|
||||
|
||||
class UniversalReportStoreRequest extends CattrFormRequest
|
||||
{
|
||||
public function _authorize(): bool
|
||||
{
|
||||
return auth()->check();
|
||||
}
|
||||
|
||||
public function _rules(): array
|
||||
{
|
||||
$enumCase = UniversalReportBase::tryFrom(request('base'));
|
||||
switch ($enumCase) {
|
||||
case UniversalReportBase::PROJECT:
|
||||
$table = 'projects';
|
||||
break;
|
||||
case UniversalReportBase::USER:
|
||||
$table = 'users';
|
||||
break;
|
||||
case UniversalReportBase::TASK:
|
||||
$table = 'tasks';
|
||||
break;
|
||||
default:
|
||||
return throw new InvalidMainException();
|
||||
|
||||
}
|
||||
return [
|
||||
'name' => 'required|string',
|
||||
'base' => ['required', new Enum(UniversalReportBase::class)],
|
||||
'fields' => 'required|array',
|
||||
'fields.*' => 'array',
|
||||
'fields.*.*' => 'required|string|in:'.implode(',', array_map(fn($item) => implode(',', $item), $enumCase->fields())),
|
||||
'dataObjects' => 'required|array',
|
||||
'dataObjects.*' => "required|int|exists:$table,id",
|
||||
'charts' => 'nullable|array',
|
||||
'charts.*' => 'required|string|in:'.implode(',', array_map(fn($item) => $item, $enumCase->charts())),
|
||||
'type' => ['required', 'string', new Enum(UniversalReportType::class)]
|
||||
];
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user