Compare commits

..

No commits in common. "727d273d97016bef8e69f0b25be456f0706d171a" and "7b6db05648a8b24765b28bef285e367843993a85" have entirely different histories.

142 changed files with 327 additions and 3387 deletions

View File

@ -1,24 +0,0 @@
# syntax = edrevo/dockerfile-plus
INCLUDE+ Dockerfile.dev
ENV PORT=80
COPY composer.json composer.lock ./
#COPY app/Helpers/helpers.php ./app/Helpers/helpers.php
RUN composer install --prefer-dist --no-scripts --no-dev --no-autoloader
COPY package.json package-lock.json ./
RUN npm install
COPY . .
RUN composer dump-autoload --no-dev --optimize
RUN npm run prod
CMD ["bash", "-c", "make db-prepare start-app"]
EXPOSE ${PORT}

View File

@ -1,48 +0,0 @@
FROM ubuntu:22.04
ENV DEBIAN_FRONTEND=noninteractive
ENV TZ=Europe/Moscow
ENV PATH=node_modules/.bin:$PATH
WORKDIR /app
RUN apt update && apt upgrade -y
RUN apt install ca-certificates apt-transport-https software-properties-common lsb-release -y
RUN add-apt-repository ppa:ondrej/php -y
RUN apt-get update && apt-get install -y \
make \
curl \
git \
libpq-dev \
libzip-dev \
sqlite3 \
unzip \
zip \
php8.3 \
php8.3-bcmath \
php8.3-exif \
php8.3-pdo \
php8.3-pgsql \
php8.3-pgsql \
php8.3-zip \
php8.3-xdebug \
php8.3-dom \
php8.3-xml \
php8.3-mbstring \
php8.3-sqlite3 \
php8.3-curl
RUN apt-get update && apt-get install -y \
software-properties-common \
&& rm -rf /var/lib/apt/lists/*
RUN curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin --filename=composer
COPY ./xdebug.ini /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini
RUN curl -sL https://deb.nodesource.com/setup_18.x | bash -
RUN apt-get update && apt-get install -y nodejs
ENV PATH=node_modules/.bin:$PATH

View File

@ -57,9 +57,3 @@ ide-helper:
php artisan ide-helper:gen php artisan ide-helper:gen
php artisan ide-helper:meta php artisan ide-helper:meta
php artisan ide-helper:mod -n php artisan ide-helper:mod -n
db-prepare:
php artisan migrate:refresh --force --seed
start-app:
php artisan serve --host 0.0.0.0 --port ${PORT}

View File

@ -1,105 +0,0 @@
<?php
namespace App\Http\Controllers\admin\Catalog\Direction;
use App\Http\Controllers\Controller;
use App\Http\Requests\admin\Catalog\Direction\StoreEntranceExaminationRequest;
use App\Http\Requests\admin\Catalog\Direction\UpdateEntranceExaminationRequest;
use App\Models\Direction;
use App\Models\EntranceExamination;
use App\Models\ExaminationType;
use App\Models\Subject;
use App\Models\SubjectType;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
class EntranceExaminationController extends Controller
{
public function index(): View
{
$entranceExaminations = EntranceExamination::all();
return view('admin.catalog.direction.entrance_examination.index', compact('entranceExaminations'));
}
public function create(): View
{
$directions = Direction::pluck('name', 'id');
$examination_types = ExaminationType::pluck('name', 'id');
$subjects = Subject::pluck('name', 'id');
$subjectTypes = SubjectType::pluck('name', 'id');
return view(
'admin.catalog.direction.entrance_examination.create',
compact(
'directions',
'examination_types',
'subjects',
'subjectTypes',
)
);
}
public function store(StoreEntranceExaminationRequest $request): RedirectResponse
{
$validated = $request->validated();
$entranceExamination = new EntranceExamination();
$entranceExamination->examination_type_id = $validated['examination_type_id'];
$entranceExamination->direction_id = $validated['direction_id'];
$entranceExamination->subject_id = $validated['subject_id'];
$entranceExamination->scores = $validated['scores'];
$entranceExamination->position = $validated['position'];
$entranceExamination->subject_type_id = $validated['subject_type_id'];
$entranceExamination->save();
return redirect()->route('entrance_examinations.index');
}
public function show(EntranceExamination $entranceExamination): View
{
return view(
'admin.catalog.direction.entrance_examination.show',
compact('entranceExamination')
);
}
public function edit(EntranceExamination $entranceExamination): View
{
$directions = Direction::pluck('name', 'id');
$examination_types = ExaminationType::pluck('name', 'id');
$subjects = Subject::pluck('name', 'id');
$subjectTypes = SubjectType::pluck('name', 'id');
return view(
'admin.catalog.direction.entrance_examination.edit',
compact(
'entranceExamination',
'directions',
'examination_types',
'subjects',
'subjectTypes',
)
);
}
public function update(
UpdateEntranceExaminationRequest $request,
EntranceExamination $entranceExamination
): RedirectResponse {
$validated = $request->validated();
$entranceExamination->examination_type_id = $validated['examination_type_id'];
$entranceExamination->direction_id = $validated['direction_id'];
$entranceExamination->subject_id = $validated['subject_id'];
$entranceExamination->scores = $validated['scores'];
$entranceExamination->position = $validated['position'];
$entranceExamination->subject_type_id = $validated['subject_type_id'];
$entranceExamination->save();
return redirect()->route('entrance_examinations.index');
}
public function destroy(EntranceExamination $entranceExamination): RedirectResponse
{
$entranceExamination->delete();
return redirect()->route('entrance_examinations.index');
}
}

View File

@ -1,72 +0,0 @@
<?php
namespace App\Http\Controllers\admin\Catalog\Direction;
use App\Http\Controllers\Controller;
use App\Http\Requests\admin\Catalog\Direction\StoreExaminationTypeRequest;
use App\Http\Requests\admin\Catalog\Direction\UpdateExaminationTypeRequest;
use App\Models\ExaminationType;
use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View;
use Illuminate\Foundation\Application;
use Illuminate\Http\RedirectResponse;
class ExaminationTypeController extends Controller
{
public function index(): View
{
$types = ExaminationType::all();
return view('admin.catalog.direction.examination_type.index', compact('types'));
}
public function create(): View
{
return view('admin.catalog.direction.examination_type.create');
}
public function store(StoreExaminationTypeRequest $request): RedirectResponse
{
$validated = $request->validated();
$type = new ExaminationType();
$type->name = $validated['name'];
$type->description = $validated['description'];
$type->slug = $validated['slug'];
$type->position = $validated['position'];
$type->save();
return redirect()->route('examination_types.index');
}
public function show(ExaminationType $examinationType): View
{
return view('admin.catalog.direction.examination_type.show', compact('examinationType'));
}
public function edit(ExaminationType $examinationType): View
{
return view('admin.catalog.direction.examination_type.edit', compact('examinationType'));
}
public function update(UpdateExaminationTypeRequest $request, ExaminationType $examinationType): RedirectResponse
{
$validated = $request->validated();
$examinationType->name = $validated['name'];
$examinationType->description = $validated['description'];
$examinationType->slug = $validated['slug'];
$examinationType->position = $validated['position'];
$examinationType->save();
return redirect()->route('examination_types.index');
}
public function destroy(ExaminationType $examinationType): RedirectResponse
{
if ($examinationType->entranceExaminations()->exists()) {
return back();
}
$examinationType->delete();
return redirect()->route('examination_types.index');
}
}

View File

@ -1,72 +0,0 @@
<?php
namespace App\Http\Controllers\admin\Catalog\Direction;
use App\Http\Controllers\Controller;
use App\Http\Requests\admin\Catalog\Direction\StoreExaminationTypeRequest;
use App\Http\Requests\admin\Catalog\Direction\StoreSubjectRequest;
use App\Http\Requests\admin\Catalog\Direction\UpdateExaminationTypeRequest;
use App\Http\Requests\admin\Catalog\Direction\UpdateSubjectRequest;
use App\Models\Subject;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
class SubjectController extends Controller
{
public function index(): View
{
$subjects = Subject::all();
return view('admin.catalog.direction.subject.index', compact('subjects'));
}
public function create(): View
{
return view('admin.catalog.direction.subject.create');
}
public function store(StoreSubjectRequest $request): RedirectResponse
{
$validated = $request->validated();
$subject = new Subject();
$subject->name = $validated['name'];
$subject->description = $validated['description'];
$subject->slug = $validated['slug'];
$subject->position = $validated['position'];
$subject->save();
return redirect()->route('subjects.index');
}
public function show(Subject $subject): View
{
return view('admin.catalog.direction.subject.show', compact('subject'));
}
public function edit(Subject $subject): View
{
return view('admin.catalog.direction.subject.edit', compact('subject'));
}
public function update(UpdateSubjectRequest $request, Subject $subject): RedirectResponse
{
$validated = $request->validated();
$subject->name = $validated['name'];
$subject->description = $validated['description'];
$subject->slug = $validated['slug'];
$subject->position = $validated['position'];
$subject->save();
return redirect()->route('subjects.index');
}
public function destroy(Subject $subject): RedirectResponse
{
if ($subject->entranceExaminations()->exists()) {
return back();
}
$subject->delete();
return redirect()->route('subjects.index');
}
}

View File

@ -1,70 +0,0 @@
<?php
namespace App\Http\Controllers\admin\Catalog\Direction;
use App\Http\Controllers\Controller;
use App\Http\Requests\admin\Catalog\Direction\StoreSubjectTypeRequest;
use App\Http\Requests\admin\Catalog\Direction\UpdateSubjectTypeRequest;
use App\Models\SubjectType;
use Illuminate\Contracts\View\View;
use Illuminate\Http\RedirectResponse;
class SubjectTypeController extends Controller
{
public function index(): View
{
$subjectTypes = SubjectType::all();
return view('admin.catalog.direction.subject_type.index', compact('subjectTypes'));
}
public function create(): View
{
return view('admin.catalog.direction.subject_type.create');
}
public function store(StoreSubjectTypeRequest $request): RedirectResponse
{
$validated = $request->validated();
$type = new SubjectType();
$type->name = $validated['name'];
$type->description = $validated['description'];
$type->slug = $validated['slug'];
$type->position = $validated['position'];
$type->save();
return redirect()->route('subject_types.index');
}
public function show(SubjectType $subjectType): View
{
return view('admin.catalog.direction.subject_type.show', compact('subjectType'));
}
public function edit(SubjectType $subjectType): View
{
return view('admin.catalog.direction.subject_type.edit', compact('subjectType'));
}
public function update(UpdateSubjectTypeRequest $request, SubjectType $subjectType): RedirectResponse
{
$validated = $request->validated();
$subjectType->name = $validated['name'];
$subjectType->description = $validated['description'];
$subjectType->slug = $validated['slug'];
$subjectType->position = $validated['position'];
$subjectType->save();
return redirect()->route('subject_types.index');
}
public function destroy(SubjectType $subjectType): RedirectResponse
{
if ($subjectType->entranceExaminations()->exists()) {
return back();
}
$subjectType->delete();
return redirect()->route('subject_types.index');
}
}

View File

@ -93,9 +93,6 @@ class DirectionController extends Controller
public function destroy(Direction $direction): RedirectResponse public function destroy(Direction $direction): RedirectResponse
{ {
if ($direction->entranceExaminations()->exists()) {
return back();
}
$direction->delete(); $direction->delete();
return redirect()->route('directions.index'); return redirect()->route('directions.index');
} }

View File

@ -1,10 +1,10 @@
<?php <?php
namespace App\Http\Controllers\admin\Catalog\Direction; namespace App\Http\Controllers\admin\Catalog;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Requests\admin\Catalog\Direction\StoreEducationFormRequest; use App\Http\Requests\admin\Catalog\StoreEducationFormRequest;
use App\Http\Requests\admin\Catalog\Direction\UpdateEducationFormRequest; use App\Http\Requests\admin\Catalog\UpdateEducationFormRequest;
use App\Models\EducationForm; use App\Models\EducationForm;
use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View; use Illuminate\Contracts\View\View;
@ -15,12 +15,12 @@ class EducationFormController extends Controller
public function index(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application public function index(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application
{ {
$forms = EducationForm::all(); $forms = EducationForm::all();
return view('admin.catalog.direction.education_form.index', compact('forms')); return view('admin.catalog.education_form.index', compact('forms'));
} }
public function create(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application public function create(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application
{ {
return view('admin.catalog.direction.education_form.create'); return view('admin.catalog.education_form.create');
} }
public function store(StoreEducationFormRequest $request) public function store(StoreEducationFormRequest $request)
@ -38,12 +38,12 @@ class EducationFormController extends Controller
public function show(EducationForm $educationForm): View|Factory|\Illuminate\Contracts\Foundation\Application public function show(EducationForm $educationForm): View|Factory|\Illuminate\Contracts\Foundation\Application
{ {
$directions = $educationForm->directions; $directions = $educationForm->directions;
return view('admin.catalog.direction.education_form.show', compact('educationForm', 'directions')); return view('admin.catalog.education_form.show', compact('educationForm', 'directions'));
} }
public function edit(EducationForm $educationForm) public function edit(EducationForm $educationForm)
{ {
return view('admin.catalog.direction.education_form.edit', compact('educationForm')); return view('admin.catalog.education_form.edit', compact('educationForm'));
} }
public function update(UpdateEducationFormRequest $request, EducationForm $educationForm) public function update(UpdateEducationFormRequest $request, EducationForm $educationForm)

View File

@ -1,10 +1,10 @@
<?php <?php
namespace App\Http\Controllers\admin\Catalog\Direction; namespace App\Http\Controllers\admin\Catalog;
use App\Http\Controllers\Controller; use App\Http\Controllers\Controller;
use App\Http\Requests\admin\Catalog\Direction\StoreEducationLevelRequest; use App\Http\Requests\admin\Catalog\StoreEducationLevelRequest;
use App\Http\Requests\admin\Catalog\Direction\UpdateEducationLevelRequest; use App\Http\Requests\admin\Catalog\UpdateEducationLevelRequest;
use App\Models\EducationLevel; use App\Models\EducationLevel;
use Illuminate\Contracts\View\Factory; use Illuminate\Contracts\View\Factory;
use Illuminate\Contracts\View\View; use Illuminate\Contracts\View\View;
@ -16,12 +16,12 @@ class EducationLevelController extends Controller
public function index(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application public function index(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application
{ {
$levels = EducationLevel::all(); $levels = EducationLevel::all();
return view('admin.catalog.direction.education_level.index', compact('levels')); return view('admin.catalog.education_level.index', compact('levels'));
} }
public function create(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application public function create(): View|Application|Factory|\Illuminate\Contracts\Foundation\Application
{ {
return view('admin.catalog.direction.education_level.create'); return view('admin.catalog.education_level.create');
} }
public function store(StoreEducationLevelRequest $request): RedirectResponse public function store(StoreEducationLevelRequest $request): RedirectResponse
@ -41,14 +41,14 @@ class EducationLevelController extends Controller
): View|Application|Factory|\Illuminate\Contracts\Foundation\Application { ): View|Application|Factory|\Illuminate\Contracts\Foundation\Application {
$directions = $educationLevel->directions(); $directions = $educationLevel->directions();
return view( return view(
'admin.catalog.direction.education_level.show', 'admin.catalog.education_level.show',
compact('educationLevel', 'directions') compact('educationLevel', 'directions')
); );
} }
public function edit(EducationLevel $educationLevel) public function edit(EducationLevel $educationLevel)
{ {
return view('admin.catalog.direction.education_level.edit', compact('educationLevel')); return view('admin.catalog.education_level.edit', compact('educationLevel'));
} }
public function update(UpdateEducationLevelRequest $request, EducationLevel $educationLevel): RedirectResponse public function update(UpdateEducationLevelRequest $request, EducationLevel $educationLevel): RedirectResponse

View File

@ -1,25 +0,0 @@
<?php
namespace App\Http\Requests\admin\Catalog\Direction;
use Illuminate\Foundation\Http\FormRequest;
class StoreEntranceExaminationRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'direction_id' => 'required|numeric|int|max:1000',
'examination_type_id' => 'required|numeric|int|max:1000',
'subject_id' => 'required|numeric|int|max:1000',
'subject_type_id' => 'required|numeric|int|max:1000',
'scores' => 'required|numeric|int|max:1000',
'position' => 'required|numeric|int|max:1000',
];
}
}

View File

@ -1,23 +0,0 @@
<?php
namespace App\Http\Requests\admin\Catalog\Direction;
use Illuminate\Foundation\Http\FormRequest;
class StoreExaminationTypeRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'position' => 'required|int|numeric|max:255',
'name' => 'required|string|max:255|unique:examination_types,name',
'description' => 'string',
'slug' => 'required|string|max:255|unique:examination_types,slug',
];
}
}

View File

@ -1,23 +0,0 @@
<?php
namespace App\Http\Requests\admin\Catalog\Direction;
use Illuminate\Foundation\Http\FormRequest;
class StoreSubjectRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'position' => 'required|int|numeric|max:255',
'name' => 'required|string|max:255|unique:subjects,name',
'description' => 'string',
'slug' => 'required|string|max:255|unique:subjects,slug',
];
}
}

View File

@ -1,23 +0,0 @@
<?php
namespace App\Http\Requests\admin\Catalog\Direction;
use Illuminate\Foundation\Http\FormRequest;
class StoreSubjectTypeRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'position' => 'required|int|numeric|max:255',
'name' => 'required|string|max:255|unique:subject_types,name',
'description' => 'string',
'slug' => 'required|string|max:255|unique:subject_types,slug',
];
}
}

View File

@ -1,25 +0,0 @@
<?php
namespace App\Http\Requests\admin\Catalog\Direction;
use Illuminate\Foundation\Http\FormRequest;
class UpdateEntranceExaminationRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'direction_id' => 'required|numeric|int|max:1000',
'examination_type_id' => 'required|numeric|int|max:1000',
'subject_id' => 'required|numeric|int|max:1000',
'subject_type_id' => 'required|numeric|int|max:1000',
'scores' => 'required|numeric|int|max:1000',
'position' => 'required|numeric|int|max:1000',
];
}
}

View File

@ -1,33 +0,0 @@
<?php
namespace App\Http\Requests\admin\Catalog\Direction;
use Illuminate\Foundation\Http\FormRequest;
class UpdateExaminationTypeRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'position' => 'required|int|numeric|max:255',
'description' => 'string',
'slug' => [
'string',
'required',
'max:255',
"unique:examination_types,slug,{$this->examination_type->id}",
],
'name' => [
'required',
'string',
'max:255',
"unique:examination_types,name,{$this->examination_type->id}",
],
];
}
}

View File

@ -1,33 +0,0 @@
<?php
namespace App\Http\Requests\admin\Catalog\Direction;
use Illuminate\Foundation\Http\FormRequest;
class UpdateSubjectRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'position' => 'required|int|numeric|max:255',
'description' => 'string',
'slug' => [
'string',
'required',
'max:255',
"unique:subjects,slug,{$this->subject->id}",
],
'name' => [
'required',
'string',
'max:255',
"unique:subjects,name,{$this->subject->id}",
],
];
}
}

View File

@ -1,33 +0,0 @@
<?php
namespace App\Http\Requests\admin\Catalog\Direction;
use Illuminate\Foundation\Http\FormRequest;
class UpdateSubjectTypeRequest extends FormRequest
{
public function authorize(): bool
{
return true;
}
public function rules(): array
{
return [
'position' => 'required|int|numeric|max:255',
'description' => 'string',
'slug' => [
'string',
'required',
'max:255',
"unique:subject_types,slug,{$this->subject_type->id}",
],
'name' => [
'required',
'string',
'max:255',
"unique:subject_types,name,{$this->subject_type->id}",
],
];
}
}

View File

@ -18,7 +18,7 @@ class StoreDepartmentRequest extends FormRequest
'position' => 'required|int|numeric|max:255', 'position' => 'required|int|numeric|max:255',
'name' => 'required|string|max:255|unique:departments,name', 'name' => 'required|string|max:255|unique:departments,name',
'description' => 'string', 'description' => 'string',
'slug' => 'required|string|max:255|unique:departments,slug', 'slug' => 'required|string|max:255',
'faculty_id' => 'required|numeric|int|max:1000', 'faculty_id' => 'required|numeric|int|max:1000',
]; ];
} }

View File

@ -17,7 +17,7 @@ class StoreDirectionRequest extends FormRequest
'position' => 'required|int|numeric|max:255', 'position' => 'required|int|numeric|max:255',
'name' => 'required|string|max:255|unique:directions,name', 'name' => 'required|string|max:255|unique:directions,name',
'description' => 'string', 'description' => 'string',
'slug' => 'required|string|max:255|unique:directions,slug', 'slug' => 'required|string|max:255',
'code' => 'required|string|max:255', 'code' => 'required|string|max:255',
'education_level_id' => 'required|int|numeric|max:1000', 'education_level_id' => 'required|int|numeric|max:1000',
'education_form_id' => 'required|int|numeric|max:1000', 'education_form_id' => 'required|int|numeric|max:1000',

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Requests\admin\Catalog\Direction; namespace App\Http\Requests\admin\Catalog;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
@ -16,7 +16,7 @@ class StoreEducationFormRequest extends FormRequest
return [ return [
'name' => 'required|string|max:255|unique:education_levels,name', 'name' => 'required|string|max:255|unique:education_levels,name',
'description' => 'string', 'description' => 'string',
'slug' => 'required|string|max:255|unique:education_levels,slug', 'slug' => 'required|string|max:255',
]; ];
} }
} }

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Requests\admin\Catalog\Direction; namespace App\Http\Requests\admin\Catalog;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
@ -16,7 +16,7 @@ class StoreEducationLevelRequest extends FormRequest
return [ return [
'name' => 'required|string|max:255|unique:education_levels,name', 'name' => 'required|string|max:255|unique:education_levels,name',
'description' => 'string', 'description' => 'string',
'slug' => 'required|string|max:255|unique:education_levels,slug', 'slug' => 'required|string|max:255',
]; ];
} }
} }

View File

@ -17,7 +17,7 @@ class StoreEducationalInstitutionRequest extends FormRequest
'position' => 'required|int|numeric|max:255', 'position' => 'required|int|numeric|max:255',
'name' => 'required|string|max:255|unique:educational_institutions,name', 'name' => 'required|string|max:255|unique:educational_institutions,name',
'description' => 'string', 'description' => 'string',
'slug' => 'required|string|max:255|unique:educational_institutions,slug', 'slug' => 'required|string|max:255',
]; ];
} }
} }

View File

@ -18,7 +18,7 @@ class StoreFacultyRequest extends FormRequest
'position' => 'required|int|numeric|max:255', 'position' => 'required|int|numeric|max:255',
'name' => 'required|string|max:255|unique:faculties,name', 'name' => 'required|string|max:255|unique:faculties,name',
'description' => 'string', 'description' => 'string',
'slug' => 'required|string|max:255|unique:faculties,slug', 'slug' => 'required|string|max:255',
'educational_institution_id' => 'required|int|numeric|max:1000' 'educational_institution_id' => 'required|int|numeric|max:1000'
]; ];
} }

View File

@ -15,12 +15,7 @@ class UpdateDepartmentRequest extends FormRequest
return [ return [
'position' => 'required|int|numeric|max:255', 'position' => 'required|int|numeric|max:255',
'description' => 'string', 'description' => 'string',
'slug' => [ 'slug' => 'string|required|max:255',
'string',
'required',
'max:255',
"unique:departments,slug,{$this->department->id}",
],
'faculty_id' => 'int|required|numeric|max:255', 'faculty_id' => 'int|required|numeric|max:255',
'name' => [ 'name' => [
'required', 'required',

View File

@ -18,12 +18,7 @@ class UpdateDirectionRequest extends FormRequest
'position' => 'required||numeric|int|max:255', 'position' => 'required||numeric|int|max:255',
'description' => 'string', 'description' => 'string',
'department_id' => 'int|required|numeric|max:1000', 'department_id' => 'int|required|numeric|max:1000',
'slug' => [ 'slug' => 'required|string|max:255',
'required',
'string',
'max:255',
"unique:directions,slug,{$this->direction->id}",
],
'code' => 'required|string|max:255', 'code' => 'required|string|max:255',
'education_level_id' => 'required|int|numeric|max:1000', 'education_level_id' => 'required|int|numeric|max:1000',
'education_form_id' => 'required|int|numeric|max:1000', 'education_form_id' => 'required|int|numeric|max:1000',

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Requests\admin\Catalog\Direction; namespace App\Http\Requests\admin\Catalog;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
@ -16,7 +16,7 @@ class UpdateEducationFormRequest extends FormRequest
return [ return [
'name' => "required|string|max:255|unique:education_forms,name,{$this->education_form->id}", 'name' => "required|string|max:255|unique:education_forms,name,{$this->education_form->id}",
'description' => 'string', 'description' => 'string',
'slug' => "required|string|max:255|unique:education_forms,slug,{$this->education_form->id}", 'slug' => 'required|string|max:255',
]; ];
} }
} }

View File

@ -1,6 +1,6 @@
<?php <?php
namespace App\Http\Requests\admin\Catalog\Direction; namespace App\Http\Requests\admin\Catalog;
use Illuminate\Foundation\Http\FormRequest; use Illuminate\Foundation\Http\FormRequest;
@ -16,7 +16,7 @@ class UpdateEducationLevelRequest extends FormRequest
return [ return [
'name' => "required|string|max:255|unique:education_levels,name,{$this->education_level->id}", 'name' => "required|string|max:255|unique:education_levels,name,{$this->education_level->id}",
'description' => 'string', 'description' => 'string',
'slug' => "required|string|max:255|unique:education_levels,slug,{$this->education_level->id}", 'slug' => 'required|string|max:255',
]; ];
} }
} }

View File

@ -17,12 +17,7 @@ class UpdateEducationalInstitutionRequest extends FormRequest
return [ return [
'position' => 'required|int|numeric|max:255', 'position' => 'required|int|numeric|max:255',
'description' => 'string', 'description' => 'string',
'slug' => [ 'slug' => 'required|string|max:255',
'required',
'string',
'max:255',
"unique:educational_institutions,slug,{$this->educational_institution->id}",
],
'name' => [ 'name' => [
'required', 'required',
'string', 'string',

View File

@ -16,12 +16,7 @@ class UpdateFacultyRequest extends FormRequest
return [ return [
'position' => 'required|int|numeric|max:255', 'position' => 'required|int|numeric|max:255',
'description' => 'string', 'description' => 'string',
'slug' => [ 'slug' => 'required|string|max:255',
'required',
'string',
'max:255',
"unique:faculties,slug,{$this->faculty->id}",
],
'educational_institution_id' => 'required|int|numeric|max:255', 'educational_institution_id' => 'required|int|numeric|max:255',
'name' => [ 'name' => [
'required', 'required',

View File

@ -5,7 +5,6 @@ namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo; use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Direction extends Model class Direction extends Model
{ {
@ -34,9 +33,4 @@ class Direction extends Model
{ {
return $this->belongsTo(EducationForm::class); return $this->belongsTo(EducationForm::class);
} }
public function entranceExaminations(): HasMany
{
return $this->hasMany('App\Models\EntranceExamination', 'direction_id');
}
} }

View File

@ -1,42 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class EntranceExamination extends Model
{
use HasFactory;
protected $fillable = [
'direction_id',
'examination_type_id',
'subject_id',
'subject_type_id',
'scores',
'position',
];
public function examinationType(): BelongsTo
{
return $this->belongsTo(ExaminationType::class);
}
public function direction(): BelongsTo
{
return $this->belongsTo(Direction::class);
}
public function subject(): BelongsTo
{
return $this->belongsTo(Subject::class);
}
public function subjectType(): BelongsTo
{
return $this->belongsTo(SubjectType::class);
}
}

View File

@ -1,25 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
class ExaminationType extends Model
{
use HasFactory;
protected $fillable = [
'id',
'name',
'description',
'slug',
'position',
];
public function entranceExaminations(): HasMany
{
return $this->hasMany('App\Models\EntranceExamination', 'examination_type_id');
}
}

View File

@ -1,25 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
class Subject extends Model
{
use HasFactory;
protected $fillable = [
'id',
'name',
'description',
'slug',
'position',
];
public function entranceExaminations(): HasMany
{
return $this->hasMany('App\Models\EntranceExamination', 'subject_id');
}
}

View File

@ -1,25 +0,0 @@
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\HasMany;
class SubjectType extends Model
{
use HasFactory;
protected $fillable = [
'id',
'name',
'description',
'slug',
'position',
];
public function entranceExaminations(): HasMany
{
return $this->hasMany('App\Models\EntranceExamination', 'subject_type_id');
}
}

View File

@ -2,20 +2,23 @@
namespace App\Providers; namespace App\Providers;
use Illuminate\Routing\UrlGenerator;
use Illuminate\Support\ServiceProvider; use Illuminate\Support\ServiceProvider;
class AppServiceProvider extends ServiceProvider class AppServiceProvider extends ServiceProvider
{ {
/**
* Register any application services.
*/
public function register(): void public function register(): void
{ {
// //
} }
public function boot(UrlGenerator $url): void /**
* Bootstrap any application services.
*/
public function boot(): void
{ {
if (env('APP_ENV') == 'production') { //
$url->forceScheme('https');
}
} }
} }

View File

@ -16,10 +16,10 @@
"laravel/tinker": "^2.9.0", "laravel/tinker": "^2.9.0",
"laravel/ui": "^4.4.0", "laravel/ui": "^4.4.0",
"laravelcollective/html": "^6.4.1", "laravelcollective/html": "^6.4.1",
"league/flysystem": "^3.24.0", "league/flysystem": "^3.24.0"
"fakerphp/faker": "^1.23.1"
}, },
"require-dev": { "require-dev": {
"fakerphp/faker": "^1.23.1",
"laravel/breeze": "^1.28.1", "laravel/breeze": "^1.28.1",
"laravel/pint": "^1.13.10", "laravel/pint": "^1.13.10",
"laravel/sail": "^1.27.3", "laravel/sail": "^1.27.3",

425
composer.lock generated
View File

@ -4,7 +4,7 @@
"Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies",
"This file is @generated automatically" "This file is @generated automatically"
], ],
"content-hash": "5cf86f441bf56b881a8a88e4cd9e4af6", "content-hash": "3c31e42f7cfc5921b4dfaffd75926ba5",
"packages": [ "packages": [
{ {
"name": "brick/math", "name": "brick/math",
@ -298,27 +298,27 @@
}, },
{ {
"name": "doctrine/lexer", "name": "doctrine/lexer",
"version": "3.0.1", "version": "3.0.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/lexer.git", "url": "https://github.com/doctrine/lexer.git",
"reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd" "reference": "84a527db05647743d50373e0ec53a152f2cde568"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/lexer/zipball/31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568",
"reference": "31ad66abc0fc9e1a1f2d9bc6a42668d2fbbcd6dd", "reference": "84a527db05647743d50373e0ec53a152f2cde568",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"php": "^8.1" "php": "^8.1"
}, },
"require-dev": { "require-dev": {
"doctrine/coding-standard": "^12", "doctrine/coding-standard": "^10",
"phpstan/phpstan": "^1.10", "phpstan/phpstan": "^1.9",
"phpunit/phpunit": "^10.5", "phpunit/phpunit": "^9.5",
"psalm/plugin-phpunit": "^0.18.3", "psalm/plugin-phpunit": "^0.18.3",
"vimeo/psalm": "^5.21" "vimeo/psalm": "^5.0"
}, },
"type": "library", "type": "library",
"autoload": { "autoload": {
@ -355,7 +355,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/lexer/issues", "issues": "https://github.com/doctrine/lexer/issues",
"source": "https://github.com/doctrine/lexer/tree/3.0.1" "source": "https://github.com/doctrine/lexer/tree/3.0.0"
}, },
"funding": [ "funding": [
{ {
@ -371,7 +371,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-02-05T11:56:58+00:00" "time": "2022-12-15T16:57:16+00:00"
}, },
{ {
"name": "dragonmantank/cron-expression", "name": "dragonmantank/cron-expression",
@ -501,69 +501,6 @@
], ],
"time": "2023-10-06T06:47:41+00:00" "time": "2023-10-06T06:47:41+00:00"
}, },
{
"name": "fakerphp/faker",
"version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
"reference": "bfb4fe148adbf78eff521199619b93a52ae3554b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b",
"reference": "bfb4fe148adbf78eff521199619b93a52ae3554b",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
"psr/container": "^1.0 || ^2.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
},
"conflict": {
"fzaninotto/faker": "*"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4.1",
"doctrine/persistence": "^1.3 || ^2.0",
"ext-intl": "*",
"phpunit/phpunit": "^9.5.26",
"symfony/phpunit-bridge": "^5.4.16"
},
"suggest": {
"doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
"ext-curl": "Required by Faker\\Provider\\Image to download images.",
"ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
"ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
"ext-mbstring": "Required for multibyte Unicode string functionality."
},
"type": "library",
"autoload": {
"psr-4": {
"Faker\\": "src/Faker/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "François Zaninotto"
}
],
"description": "Faker is a PHP library that generates fake data for you.",
"keywords": [
"data",
"faker",
"fixtures"
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
"source": "https://github.com/FakerPHP/Faker/tree/v1.23.1"
},
"time": "2024-01-02T13:46:09+00:00"
},
{ {
"name": "fruitcake/php-cors", "name": "fruitcake/php-cors",
"version": "v1.3.0", "version": "v1.3.0",
@ -1162,16 +1099,16 @@
}, },
{ {
"name": "laravel/framework", "name": "laravel/framework",
"version": "v10.44.0", "version": "v10.43.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/framework.git", "url": "https://github.com/laravel/framework.git",
"reference": "1199dbe361787bbe9648131a79f53921b4148cf6" "reference": "4f7802dfc9993cb57cf69615491ce1a7eb2e9529"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/framework/zipball/1199dbe361787bbe9648131a79f53921b4148cf6", "url": "https://api.github.com/repos/laravel/framework/zipball/4f7802dfc9993cb57cf69615491ce1a7eb2e9529",
"reference": "1199dbe361787bbe9648131a79f53921b4148cf6", "reference": "4f7802dfc9993cb57cf69615491ce1a7eb2e9529",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -1219,7 +1156,6 @@
"conflict": { "conflict": {
"carbonphp/carbon-doctrine-types": ">=3.0", "carbonphp/carbon-doctrine-types": ">=3.0",
"doctrine/dbal": ">=4.0", "doctrine/dbal": ">=4.0",
"phpunit/phpunit": ">=11.0.0",
"tightenco/collect": "<5.5.33" "tightenco/collect": "<5.5.33"
}, },
"provide": { "provide": {
@ -1364,7 +1300,7 @@
"issues": "https://github.com/laravel/framework/issues", "issues": "https://github.com/laravel/framework/issues",
"source": "https://github.com/laravel/framework" "source": "https://github.com/laravel/framework"
}, },
"time": "2024-02-13T16:01:16+00:00" "time": "2024-01-30T16:25:02+00:00"
}, },
{ {
"name": "laravel/prompts", "name": "laravel/prompts",
@ -2502,27 +2438,25 @@
}, },
{ {
"name": "nikic/php-parser", "name": "nikic/php-parser",
"version": "v5.0.0", "version": "v4.18.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/nikic/PHP-Parser.git", "url": "https://github.com/nikic/PHP-Parser.git",
"reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc" "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/4a21235f7e56e713259a6f76bf4b5ea08502b9dc", "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999",
"reference": "4a21235f7e56e713259a6f76bf4b5ea08502b9dc", "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"ext-ctype": "*",
"ext-json": "*",
"ext-tokenizer": "*", "ext-tokenizer": "*",
"php": ">=7.4" "php": ">=7.0"
}, },
"require-dev": { "require-dev": {
"ircmaxell/php-yacc": "^0.0.7", "ircmaxell/php-yacc": "^0.0.7",
"phpunit/phpunit": "^7.0 || ^8.0 || ^9.0" "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0"
}, },
"bin": [ "bin": [
"bin/php-parse" "bin/php-parse"
@ -2530,7 +2464,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "5.0-dev" "dev-master": "4.9-dev"
} }
}, },
"autoload": { "autoload": {
@ -2554,9 +2488,9 @@
], ],
"support": { "support": {
"issues": "https://github.com/nikic/PHP-Parser/issues", "issues": "https://github.com/nikic/PHP-Parser/issues",
"source": "https://github.com/nikic/PHP-Parser/tree/v5.0.0" "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0"
}, },
"time": "2024-01-07T17:17:35+00:00" "time": "2023-12-10T21:03:43+00:00"
}, },
{ {
"name": "nunomaduro/termwind", "name": "nunomaduro/termwind",
@ -4312,16 +4246,16 @@
}, },
{ {
"name": "symfony/polyfill-ctype", "name": "symfony/polyfill-ctype",
"version": "v1.29.0", "version": "v1.28.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-ctype.git", "url": "https://github.com/symfony/polyfill-ctype.git",
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4" "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ef4d7e442ca910c4764bce785146269b30cb5fc4", "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"reference": "ef4d7e442ca910c4764bce785146269b30cb5fc4", "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4335,6 +4269,9 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": { "thanks": {
"name": "symfony/polyfill", "name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill" "url": "https://github.com/symfony/polyfill"
@ -4371,7 +4308,7 @@
"portable" "portable"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-ctype/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0"
}, },
"funding": [ "funding": [
{ {
@ -4387,20 +4324,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2023-01-26T09:26:14+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-grapheme", "name": "symfony/polyfill-intl-grapheme",
"version": "v1.29.0", "version": "v1.28.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-grapheme.git", "url": "https://github.com/symfony/polyfill-intl-grapheme.git",
"reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f" "reference": "875e90aeea2777b6f135677f618529449334a612"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/32a9da87d7b3245e09ac426c83d334ae9f06f80f", "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612",
"reference": "32a9da87d7b3245e09ac426c83d334ae9f06f80f", "reference": "875e90aeea2777b6f135677f618529449334a612",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4411,6 +4348,9 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": { "thanks": {
"name": "symfony/polyfill", "name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill" "url": "https://github.com/symfony/polyfill"
@ -4449,7 +4389,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0"
}, },
"funding": [ "funding": [
{ {
@ -4465,20 +4405,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2023-01-26T09:26:14+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-idn", "name": "symfony/polyfill-intl-idn",
"version": "v1.29.0", "version": "v1.28.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-idn.git", "url": "https://github.com/symfony/polyfill-intl-idn.git",
"reference": "a287ed7475f85bf6f61890146edbc932c0fff919" "reference": "ecaafce9f77234a6a449d29e49267ba10499116d"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/a287ed7475f85bf6f61890146edbc932c0fff919", "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d",
"reference": "a287ed7475f85bf6f61890146edbc932c0fff919", "reference": "ecaafce9f77234a6a449d29e49267ba10499116d",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4491,6 +4431,9 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": { "thanks": {
"name": "symfony/polyfill", "name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill" "url": "https://github.com/symfony/polyfill"
@ -4533,7 +4476,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0"
}, },
"funding": [ "funding": [
{ {
@ -4549,20 +4492,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2023-01-26T09:30:37+00:00"
}, },
{ {
"name": "symfony/polyfill-intl-normalizer", "name": "symfony/polyfill-intl-normalizer",
"version": "v1.29.0", "version": "v1.28.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-intl-normalizer.git", "url": "https://github.com/symfony/polyfill-intl-normalizer.git",
"reference": "bc45c394692b948b4d383a08d7753968bed9a83d" "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/bc45c394692b948b4d383a08d7753968bed9a83d", "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
"reference": "bc45c394692b948b4d383a08d7753968bed9a83d", "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4573,6 +4516,9 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": { "thanks": {
"name": "symfony/polyfill", "name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill" "url": "https://github.com/symfony/polyfill"
@ -4614,7 +4560,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0"
}, },
"funding": [ "funding": [
{ {
@ -4630,20 +4576,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2023-01-26T09:26:14+00:00"
}, },
{ {
"name": "symfony/polyfill-mbstring", "name": "symfony/polyfill-mbstring",
"version": "v1.29.0", "version": "v1.28.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-mbstring.git", "url": "https://github.com/symfony/polyfill-mbstring.git",
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec" "reference": "42292d99c55abe617799667f454222c54c60e229"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229",
"reference": "9773676c8a1bb1f8d4340a62efe641cf76eda7ec", "reference": "42292d99c55abe617799667f454222c54c60e229",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4657,6 +4603,9 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": { "thanks": {
"name": "symfony/polyfill", "name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill" "url": "https://github.com/symfony/polyfill"
@ -4694,7 +4643,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-mbstring/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0"
}, },
"funding": [ "funding": [
{ {
@ -4710,20 +4659,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2023-07-28T09:04:16+00:00"
}, },
{ {
"name": "symfony/polyfill-php72", "name": "symfony/polyfill-php72",
"version": "v1.29.0", "version": "v1.28.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-php72.git", "url": "https://github.com/symfony/polyfill-php72.git",
"reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25" "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/861391a8da9a04cbad2d232ddd9e4893220d6e25", "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179",
"reference": "861391a8da9a04cbad2d232ddd9e4893220d6e25", "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4731,6 +4680,9 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": { "thanks": {
"name": "symfony/polyfill", "name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill" "url": "https://github.com/symfony/polyfill"
@ -4767,7 +4719,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-php72/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0"
}, },
"funding": [ "funding": [
{ {
@ -4783,20 +4735,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2023-01-26T09:26:14+00:00"
}, },
{ {
"name": "symfony/polyfill-php80", "name": "symfony/polyfill-php80",
"version": "v1.29.0", "version": "v1.28.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-php80.git", "url": "https://github.com/symfony/polyfill-php80.git",
"reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b" "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"reference": "87b68208d5c1188808dd7839ee1e6c8ec3b02f1b", "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4804,6 +4756,9 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": { "thanks": {
"name": "symfony/polyfill", "name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill" "url": "https://github.com/symfony/polyfill"
@ -4847,7 +4802,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-php80/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0"
}, },
"funding": [ "funding": [
{ {
@ -4863,20 +4818,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2023-01-26T09:26:14+00:00"
}, },
{ {
"name": "symfony/polyfill-php83", "name": "symfony/polyfill-php83",
"version": "v1.29.0", "version": "v1.28.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-php83.git", "url": "https://github.com/symfony/polyfill-php83.git",
"reference": "86fcae159633351e5fd145d1c47de6c528f8caff" "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/86fcae159633351e5fd145d1c47de6c528f8caff", "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
"reference": "86fcae159633351e5fd145d1c47de6c528f8caff", "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4885,6 +4840,9 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": { "thanks": {
"name": "symfony/polyfill", "name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill" "url": "https://github.com/symfony/polyfill"
@ -4924,7 +4882,7 @@
"shim" "shim"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-php83/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0"
}, },
"funding": [ "funding": [
{ {
@ -4940,20 +4898,20 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2023-08-16T06:22:46+00:00"
}, },
{ {
"name": "symfony/polyfill-uuid", "name": "symfony/polyfill-uuid",
"version": "v1.29.0", "version": "v1.28.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/symfony/polyfill-uuid.git", "url": "https://github.com/symfony/polyfill-uuid.git",
"reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853" "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/3abdd21b0ceaa3000ee950097bc3cf9efc137853", "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/9c44518a5aff8da565c8a55dbe85d2769e6f630e",
"reference": "3abdd21b0ceaa3000ee950097bc3cf9efc137853", "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -4967,6 +4925,9 @@
}, },
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-main": "1.28-dev"
},
"thanks": { "thanks": {
"name": "symfony/polyfill", "name": "symfony/polyfill",
"url": "https://github.com/symfony/polyfill" "url": "https://github.com/symfony/polyfill"
@ -5003,7 +4964,7 @@
"uuid" "uuid"
], ],
"support": { "support": {
"source": "https://github.com/symfony/polyfill-uuid/tree/v1.29.0" "source": "https://github.com/symfony/polyfill-uuid/tree/v1.28.0"
}, },
"funding": [ "funding": [
{ {
@ -5019,7 +4980,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-01-29T20:11:03+00:00" "time": "2023-01-26T09:26:14+00:00"
}, },
{ {
"name": "symfony/process", "name": "symfony/process",
@ -5938,40 +5899,40 @@
"packages-dev": [ "packages-dev": [
{ {
"name": "barryvdh/laravel-ide-helper", "name": "barryvdh/laravel-ide-helper",
"version": "v2.15.1", "version": "v2.13.0",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/barryvdh/laravel-ide-helper.git", "url": "https://github.com/barryvdh/laravel-ide-helper.git",
"reference": "77831852bb7bc54f287246d32eb91274eaf87f8b" "reference": "81d5b223ff067a1f38e14c100997e153b837fe4a"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/77831852bb7bc54f287246d32eb91274eaf87f8b", "url": "https://api.github.com/repos/barryvdh/laravel-ide-helper/zipball/81d5b223ff067a1f38e14c100997e153b837fe4a",
"reference": "77831852bb7bc54f287246d32eb91274eaf87f8b", "reference": "81d5b223ff067a1f38e14c100997e153b837fe4a",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
"barryvdh/reflection-docblock": "^2.0.6", "barryvdh/reflection-docblock": "^2.0.6",
"composer/class-map-generator": "^1.0", "composer/class-map-generator": "^1.0",
"doctrine/dbal": "^2.6 || ^3.1.4", "doctrine/dbal": "^2.6 || ^3",
"ext-json": "*", "ext-json": "*",
"illuminate/console": "^9 || ^10", "illuminate/console": "^8 || ^9 || ^10",
"illuminate/filesystem": "^9 || ^10", "illuminate/filesystem": "^8 || ^9 || ^10",
"illuminate/support": "^9 || ^10", "illuminate/support": "^8 || ^9 || ^10",
"nikic/php-parser": "^4.18 || ^5", "nikic/php-parser": "^4.7",
"php": "^8.0", "php": "^7.3 || ^8.0",
"phpdocumentor/type-resolver": "^1.1.0" "phpdocumentor/type-resolver": "^1.1.0"
}, },
"require-dev": { "require-dev": {
"ext-pdo_sqlite": "*", "ext-pdo_sqlite": "*",
"friendsofphp/php-cs-fixer": "^3", "friendsofphp/php-cs-fixer": "^2",
"illuminate/config": "^9 || ^10", "illuminate/config": "^8 || ^9 || ^10",
"illuminate/view": "^9 || ^10", "illuminate/view": "^8 || ^9 || ^10",
"mockery/mockery": "^1.4", "mockery/mockery": "^1.4",
"orchestra/testbench": "^7 || ^8", "orchestra/testbench": "^6 || ^7 || ^8",
"phpunit/phpunit": "^9", "phpunit/phpunit": "^8.5 || ^9",
"spatie/phpunit-snapshot-assertions": "^4", "spatie/phpunit-snapshot-assertions": "^3 || ^4",
"vimeo/psalm": "^5.4" "vimeo/psalm": "^3.12"
}, },
"suggest": { "suggest": {
"illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10)." "illuminate/events": "Required for automatic helper generation (^6|^7|^8|^9|^10)."
@ -5979,7 +5940,7 @@
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": { "branch-alias": {
"dev-master": "2.15-dev" "dev-master": "2.12-dev"
}, },
"laravel": { "laravel": {
"providers": [ "providers": [
@ -6016,7 +5977,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/barryvdh/laravel-ide-helper/issues", "issues": "https://github.com/barryvdh/laravel-ide-helper/issues",
"source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.15.1" "source": "https://github.com/barryvdh/laravel-ide-helper/tree/v2.13.0"
}, },
"funding": [ "funding": [
{ {
@ -6028,7 +5989,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-02-15T14:23:20+00:00" "time": "2023-02-04T13:56:40+00:00"
}, },
{ {
"name": "barryvdh/reflection-docblock", "name": "barryvdh/reflection-docblock",
@ -6321,16 +6282,16 @@
}, },
{ {
"name": "doctrine/dbal", "name": "doctrine/dbal",
"version": "3.8.2", "version": "3.8.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/doctrine/dbal.git", "url": "https://github.com/doctrine/dbal.git",
"reference": "a19a1d05ca211f41089dffcc387733a6875196cb" "reference": "c9ea252cdce4da324ede3d6c5913dd89f769afd2"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/doctrine/dbal/zipball/a19a1d05ca211f41089dffcc387733a6875196cb", "url": "https://api.github.com/repos/doctrine/dbal/zipball/c9ea252cdce4da324ede3d6c5913dd89f769afd2",
"reference": "a19a1d05ca211f41089dffcc387733a6875196cb", "reference": "c9ea252cdce4da324ede3d6c5913dd89f769afd2",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6414,7 +6375,7 @@
], ],
"support": { "support": {
"issues": "https://github.com/doctrine/dbal/issues", "issues": "https://github.com/doctrine/dbal/issues",
"source": "https://github.com/doctrine/dbal/tree/3.8.2" "source": "https://github.com/doctrine/dbal/tree/3.8.1"
}, },
"funding": [ "funding": [
{ {
@ -6430,7 +6391,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-02-12T18:36:36+00:00" "time": "2024-02-03T17:33:49+00:00"
}, },
{ {
"name": "doctrine/deprecations", "name": "doctrine/deprecations",
@ -6570,6 +6531,69 @@
], ],
"time": "2022-10-12T20:59:15+00:00" "time": "2022-10-12T20:59:15+00:00"
}, },
{
"name": "fakerphp/faker",
"version": "v1.23.1",
"source": {
"type": "git",
"url": "https://github.com/FakerPHP/Faker.git",
"reference": "bfb4fe148adbf78eff521199619b93a52ae3554b"
},
"dist": {
"type": "zip",
"url": "https://api.github.com/repos/FakerPHP/Faker/zipball/bfb4fe148adbf78eff521199619b93a52ae3554b",
"reference": "bfb4fe148adbf78eff521199619b93a52ae3554b",
"shasum": ""
},
"require": {
"php": "^7.4 || ^8.0",
"psr/container": "^1.0 || ^2.0",
"symfony/deprecation-contracts": "^2.2 || ^3.0"
},
"conflict": {
"fzaninotto/faker": "*"
},
"require-dev": {
"bamarni/composer-bin-plugin": "^1.4.1",
"doctrine/persistence": "^1.3 || ^2.0",
"ext-intl": "*",
"phpunit/phpunit": "^9.5.26",
"symfony/phpunit-bridge": "^5.4.16"
},
"suggest": {
"doctrine/orm": "Required to use Faker\\ORM\\Doctrine",
"ext-curl": "Required by Faker\\Provider\\Image to download images.",
"ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.",
"ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.",
"ext-mbstring": "Required for multibyte Unicode string functionality."
},
"type": "library",
"autoload": {
"psr-4": {
"Faker\\": "src/Faker/"
}
},
"notification-url": "https://packagist.org/downloads/",
"license": [
"MIT"
],
"authors": [
{
"name": "François Zaninotto"
}
],
"description": "Faker is a PHP library that generates fake data for you.",
"keywords": [
"data",
"faker",
"fixtures"
],
"support": {
"issues": "https://github.com/FakerPHP/Faker/issues",
"source": "https://github.com/FakerPHP/Faker/tree/v1.23.1"
},
"time": "2024-01-02T13:46:09+00:00"
},
{ {
"name": "filp/whoops", "name": "filp/whoops",
"version": "2.15.4", "version": "2.15.4",
@ -6694,16 +6718,16 @@
}, },
{ {
"name": "laravel/breeze", "name": "laravel/breeze",
"version": "v1.28.2", "version": "v1.28.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/breeze.git", "url": "https://github.com/laravel/breeze.git",
"reference": "1e48e29d3f769bb90bbdf2934c52f4612e3b5b47" "reference": "e853918e770822780efd160a73fd676992340aca"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/breeze/zipball/1e48e29d3f769bb90bbdf2934c52f4612e3b5b47", "url": "https://api.github.com/repos/laravel/breeze/zipball/e853918e770822780efd160a73fd676992340aca",
"reference": "1e48e29d3f769bb90bbdf2934c52f4612e3b5b47", "reference": "e853918e770822780efd160a73fd676992340aca",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6752,20 +6776,20 @@
"issues": "https://github.com/laravel/breeze/issues", "issues": "https://github.com/laravel/breeze/issues",
"source": "https://github.com/laravel/breeze" "source": "https://github.com/laravel/breeze"
}, },
"time": "2024-02-13T02:26:19+00:00" "time": "2024-01-15T16:14:10+00:00"
}, },
{ {
"name": "laravel/pint", "name": "laravel/pint",
"version": "v1.13.11", "version": "v1.13.10",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/pint.git", "url": "https://github.com/laravel/pint.git",
"reference": "60a163c3e7e3346a1dec96d3e6f02e6465452552" "reference": "e2b5060885694ca30ac008c05dc9d47f10ed1abf"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/pint/zipball/60a163c3e7e3346a1dec96d3e6f02e6465452552", "url": "https://api.github.com/repos/laravel/pint/zipball/e2b5060885694ca30ac008c05dc9d47f10ed1abf",
"reference": "60a163c3e7e3346a1dec96d3e6f02e6465452552", "reference": "e2b5060885694ca30ac008c05dc9d47f10ed1abf",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6776,13 +6800,13 @@
"php": "^8.1.0" "php": "^8.1.0"
}, },
"require-dev": { "require-dev": {
"friendsofphp/php-cs-fixer": "^3.49.0", "friendsofphp/php-cs-fixer": "^3.47.1",
"illuminate/view": "^10.43.0", "illuminate/view": "^10.41.0",
"larastan/larastan": "^2.8.1", "larastan/larastan": "^2.8.1",
"laravel-zero/framework": "^10.3.0", "laravel-zero/framework": "^10.3.0",
"mockery/mockery": "^1.6.7", "mockery/mockery": "^1.6.7",
"nunomaduro/termwind": "^1.15.1", "nunomaduro/termwind": "^1.15.1",
"pestphp/pest": "^2.33.6" "pestphp/pest": "^2.31.0"
}, },
"bin": [ "bin": [
"builds/pint" "builds/pint"
@ -6818,20 +6842,20 @@
"issues": "https://github.com/laravel/pint/issues", "issues": "https://github.com/laravel/pint/issues",
"source": "https://github.com/laravel/pint" "source": "https://github.com/laravel/pint"
}, },
"time": "2024-02-13T17:20:13+00:00" "time": "2024-01-22T09:04:15+00:00"
}, },
{ {
"name": "laravel/sail", "name": "laravel/sail",
"version": "v1.27.4", "version": "v1.27.3",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/laravel/sail.git", "url": "https://github.com/laravel/sail.git",
"reference": "3047e1a157fad968cc5f6e620d5cbe5c0867fffd" "reference": "7e01b345072c9604ead9d7aed175bf7ac1d80289"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/laravel/sail/zipball/3047e1a157fad968cc5f6e620d5cbe5c0867fffd", "url": "https://api.github.com/repos/laravel/sail/zipball/7e01b345072c9604ead9d7aed175bf7ac1d80289",
"reference": "3047e1a157fad968cc5f6e620d5cbe5c0867fffd", "reference": "7e01b345072c9604ead9d7aed175bf7ac1d80289",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -6850,6 +6874,9 @@
], ],
"type": "library", "type": "library",
"extra": { "extra": {
"branch-alias": {
"dev-master": "1.x-dev"
},
"laravel": { "laravel": {
"providers": [ "providers": [
"Laravel\\Sail\\SailServiceProvider" "Laravel\\Sail\\SailServiceProvider"
@ -6880,7 +6907,7 @@
"issues": "https://github.com/laravel/sail/issues", "issues": "https://github.com/laravel/sail/issues",
"source": "https://github.com/laravel/sail" "source": "https://github.com/laravel/sail"
}, },
"time": "2024-02-08T15:24:21+00:00" "time": "2024-01-30T03:03:59+00:00"
}, },
{ {
"name": "mockery/mockery", "name": "mockery/mockery",
@ -7391,16 +7418,16 @@
}, },
{ {
"name": "phpstan/phpstan", "name": "phpstan/phpstan",
"version": "1.10.58", "version": "1.10.57",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/phpstan/phpstan.git", "url": "https://github.com/phpstan/phpstan.git",
"reference": "a23518379ec4defd9e47cbf81019526861623ec2" "reference": "1627b1d03446904aaa77593f370c5201d2ecc34e"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/phpstan/phpstan/zipball/a23518379ec4defd9e47cbf81019526861623ec2", "url": "https://api.github.com/repos/phpstan/phpstan/zipball/1627b1d03446904aaa77593f370c5201d2ecc34e",
"reference": "a23518379ec4defd9e47cbf81019526861623ec2", "reference": "1627b1d03446904aaa77593f370c5201d2ecc34e",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -7449,7 +7476,7 @@
"type": "tidelift" "type": "tidelift"
} }
], ],
"time": "2024-02-12T20:02:57+00:00" "time": "2024-01-24T11:51:34+00:00"
}, },
{ {
"name": "phpunit/php-code-coverage", "name": "phpunit/php-code-coverage",
@ -9053,16 +9080,16 @@
}, },
{ {
"name": "spatie/laravel-ignition", "name": "spatie/laravel-ignition",
"version": "2.4.2", "version": "2.4.1",
"source": { "source": {
"type": "git", "type": "git",
"url": "https://github.com/spatie/laravel-ignition.git", "url": "https://github.com/spatie/laravel-ignition.git",
"reference": "351504f4570e32908839fc5a2dc53bf77d02f85e" "reference": "005e1e7b1232f3b22d7e7be3f602693efc7dba67"
}, },
"dist": { "dist": {
"type": "zip", "type": "zip",
"url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/351504f4570e32908839fc5a2dc53bf77d02f85e", "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/005e1e7b1232f3b22d7e7be3f602693efc7dba67",
"reference": "351504f4570e32908839fc5a2dc53bf77d02f85e", "reference": "005e1e7b1232f3b22d7e7be3f602693efc7dba67",
"shasum": "" "shasum": ""
}, },
"require": { "require": {
@ -9141,7 +9168,7 @@
"type": "github" "type": "github"
} }
], ],
"time": "2024-02-09T16:08:40+00:00" "time": "2024-01-12T13:14:58+00:00"
}, },
{ {
"name": "squizlabs/php_codesniffer", "name": "squizlabs/php_codesniffer",

View File

@ -1,20 +0,0 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
class EntranceExaminationFactory extends Factory
{
public function definition(): array
{
return [
'examination_type_id' => 1,
'direction_id' => 1,
'subject_id' => 1,
'scores' => 45,
'position' => fake()->randomDigit(),
'subject_type_id' => 1,
];
}
}

View File

@ -1,18 +0,0 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
class ExaminationTypeFactory extends Factory
{
public function definition(): array
{
return [
'name' => fake()->name(),
'description' => fake()->text(),
'slug' => fake()->slug(),
'position' => fake()->randomDigit(),
];
}
}

View File

@ -1,18 +0,0 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
class SubjectFactory extends Factory
{
public function definition(): array
{
return [
'name' => fake()->name(),
'description' => fake()->text(),
'slug' => fake()->slug(),
'position' => fake()->randomDigit(),
];
}
}

View File

@ -1,18 +0,0 @@
<?php
namespace Database\Factories;
use Illuminate\Database\Eloquent\Factories\Factory;
class SubjectTypeFactory extends Factory
{
public function definition(): array
{
return [
'name' => fake()->name(),
'description' => fake()->text(),
'slug' => fake()->slug(),
'position' => fake()->randomDigit(),
];
}
}

View File

@ -1,25 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('examination_types', function (Blueprint $table) {
$table->id();
$table->integer('position');
$table->string('name');
$table->text('description')->nullable();
$table->string('slug');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('examination_types');
}
};

View File

@ -1,25 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('subject_types', function (Blueprint $table) {
$table->id();
$table->integer('position');
$table->string('name');
$table->text('description')->nullable();
$table->string('slug');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('subject_types');
}
};

View File

@ -1,31 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
/**
* Run the migrations.
*/
public function up(): void
{
Schema::create('subjects', function (Blueprint $table) {
$table->id();
$table->integer('position');
$table->string('name');
$table->text('description')->nullable();
$table->string('slug');
$table->timestamps();
});
}
/**
* Reverse the migrations.
*/
public function down(): void
{
Schema::dropIfExists('subjects');
}
};

View File

@ -1,27 +0,0 @@
<?php
use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;
return new class extends Migration
{
public function up(): void
{
Schema::create('entrance_examinations', function (Blueprint $table) {
$table->id();
$table->foreignId('examination_type_id')->constrained('examination_types');
$table->foreignId('direction_id')->constrained('directions');
$table->foreignId('subject_id')->constrained('subjects');
$table->integer('scores');
$table->integer('position');
$table->foreignId('subject_type_id')->constrained('subject_types');
$table->timestamps();
});
}
public function down(): void
{
Schema::dropIfExists('entrance_examinations');
}
};

View File

@ -2,7 +2,6 @@
namespace Database\Seeders; namespace Database\Seeders;
use App\Models\ExaminationType;
use App\Models\User; use App\Models\User;
use Illuminate\Database\Seeder; use Illuminate\Database\Seeder;
@ -19,7 +18,7 @@ class DatabaseSeeder extends Seeder
'password' => 123456 'password' => 123456
]); ]);
// User::factory(10)->create(); User::factory(10)->create();
$this->call([ $this->call([
EducationalInstitutionSeeder::class, EducationalInstitutionSeeder::class,
@ -27,11 +26,7 @@ class DatabaseSeeder extends Seeder
DepartmentSeeder::class, DepartmentSeeder::class,
EducationLevelSeeder::class, EducationLevelSeeder::class,
EducationFormSeeder::class, EducationFormSeeder::class,
ExaminationTypeSeeder::class,
SubjectSeeder::class,
SubjectTypeSeeder::class,
DirectionSeeder::class, DirectionSeeder::class,
EntranceExaminationSeeder::class,
]); ]);
$this->call([ $this->call([

View File

@ -1,40 +0,0 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class EntranceExaminationSeeder extends Seeder
{
public function run(): void
{
DB::table('entrance_examinations')->insert([
[
'examination_type_id' => 1,
'direction_id' => 1,
'subject_id' => 1,
'scores' => 40,
'position' => 1,
'subject_type_id' => 1,
],
[
'examination_type_id' => 1,
'direction_id' => 1,
'subject_id' => 2,
'scores' => 45,
'position' => 2,
'subject_type_id' => 1,
],
[
'examination_type_id' => 1,
'direction_id' => 1,
'subject_id' => 3,
'scores' => 50,
'position' => 3,
'subject_type_id' => 1,
],
]);
}
}

View File

@ -1,34 +0,0 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class ExaminationTypeSeeder extends Seeder
{
public function run(): void
{
DB::table('examination_types')->insert([
[
'name' => 'ЕГЭ',
'description' => 'Unified State Examination',
'position' => '1',
'slug' => 'USE',
],
[
'name' => 'СПО',
'description' => 'secondary vocational education',
'position' => '2',
'slug' => 'SVE',
],
[
'name' => 'магитсратура',
'description' => 'type magistracy',
'position' => '3',
'slug' => 'MAG',
],
]);
}
}

View File

@ -1,33 +0,0 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class SubjectSeeder extends Seeder
{
public function run(): void
{
DB::table('subjects')->insert([
[
'name' => 'Обществознание',
'description' => 'social studies',
'position' => '1',
'slug' => 'social-studies',
],
[
'name' => 'Русский язык',
'description' => 'a Russian language course',
'position' => '2',
'slug' => 'russian-language',
],
[
'name' => 'математика',
'description' => 'mathematics',
'position' => '3',
'slug' => 'mathematics',
],
]);
}
}

View File

@ -1,28 +0,0 @@
<?php
namespace Database\Seeders;
use Illuminate\Database\Console\Seeds\WithoutModelEvents;
use Illuminate\Database\Seeder;
use Illuminate\Support\Facades\DB;
class SubjectTypeSeeder extends Seeder
{
public function run(): void
{
DB::table('subject_types')->insert([
[
'name' => 'Обязательные',
'description' => 'compulsory',
'position' => '1',
'slug' => 'compulsory',
],
[
'name' => 'Предметы по выбору',
'description' => 'optional',
'position' => '2',
'slug' => 'optional',
],
]);
}
}

View File

@ -3,8 +3,7 @@
"type": "module", "type": "module",
"scripts": { "scripts": {
"dev": "vite", "dev": "vite",
"build": "vite build", "build": "vite build"
"prod": "vite build"
}, },
"devDependencies": { "devDependencies": {
"@popperjs/core": "^2.11.6", "@popperjs/core": "^2.11.6",

Binary file not shown.

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 22 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.5 MiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 175 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 141 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 MiB

Some files were not shown because too many files have changed in this diff Show More