add all controllers logic

This commit is contained in:
root
2026-03-11 17:53:15 -04:00
parent 3e6c577085
commit 2ef71cc92b
421 changed files with 12009 additions and 5211 deletions
@@ -0,0 +1,27 @@
<?php
namespace App\Http\Requests\Classes;
use App\Http\Requests\ApiFormRequest;
class ClassSectionIndexRequest extends ApiFormRequest
{
public function authorize(): bool
{
return $this->user() !== null;
}
public function rules(): array
{
return [
'search' => ['nullable', 'string', 'max:120'],
'class_id' => ['nullable', 'integer', 'min:1'],
'school_year' => ['nullable', 'string', 'max:9'],
'semester' => ['nullable', 'string', 'max:255'],
'sort_by' => ['nullable', 'string', 'in:class_section_name,class_section_id,class_id,school_year,semester,class_name'],
'sort_dir' => ['nullable', 'string', 'in:asc,desc'],
'page' => ['nullable', 'integer', 'min:1'],
'per_page' => ['nullable', 'integer', 'min:1', 'max:200'],
];
}
}
@@ -0,0 +1,25 @@
<?php
namespace App\Http\Requests\Classes;
use App\Http\Requests\ApiFormRequest;
use Illuminate\Validation\Rule;
class ClassSectionStoreRequest extends ApiFormRequest
{
public function authorize(): bool
{
return $this->user() !== null;
}
public function rules(): array
{
return [
'class_id' => ['required', 'integer', 'min:1'],
'class_section_id' => ['required', 'integer', 'min:1', Rule::unique('classSection', 'class_section_id')],
'class_section_name' => ['required', 'string', 'max:100'],
'semester' => ['required', 'string', 'max:255'],
'school_year' => ['required', 'string', 'max:9'],
];
}
}
@@ -0,0 +1,33 @@
<?php
namespace App\Http\Requests\Classes;
use App\Http\Requests\ApiFormRequest;
use Illuminate\Validation\Rule;
class ClassSectionUpdateRequest extends ApiFormRequest
{
public function authorize(): bool
{
return $this->user() !== null;
}
public function rules(): array
{
$section = $this->route('classSection');
$sectionId = is_object($section) ? $section->id : $section;
return [
'class_id' => ['sometimes', 'integer', 'min:1'],
'class_section_id' => [
'sometimes',
'integer',
'min:1',
Rule::unique('classSection', 'class_section_id')->ignore($sectionId),
],
'class_section_name' => ['sometimes', 'string', 'max:100'],
'semester' => ['sometimes', 'string', 'max:255'],
'school_year' => ['sometimes', 'string', 'max:9'],
];
}
}