1
0
mirror of https://github.com/robonen/education-project.git synced 2026-03-20 10:54:31 +00:00

Регистрация и вход для всех ролей

This commit is contained in:
2020-12-02 23:58:36 +07:00
commit 54732a9f6a
111 changed files with 11765 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
<?php
namespace App\Http\Requests;
use Illuminate\Contracts\Validation\Validator;
use Illuminate\Foundation\Http\FormRequest;
use Illuminate\Http\Exceptions\HttpResponseException;
abstract class ApiFormRequest extends FormRequest
{
/**
* Determine if the user is authorized to make this request.
*
* @return bool
*/
public function authorize()
{
return true;
}
protected function failedValidation(Validator $validator)
{
throw new HttpResponseException(response()->json($validator->errors(), 400));
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Http\Requests\Auth;
use App\Http\Requests\UserRequest;
use Illuminate\Foundation\Http\FormRequest;
class LoginRequest extends UserRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function specific()
{
return [];
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Http\Requests\Auth;
use App\Http\Requests\UserRequest;
use Illuminate\Foundation\Http\FormRequest;
class RegisterRequest extends UserRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function specific()
{
return [
'role' => 'required|string',
'class_id' => 'required|integer|gt:0',
];
}
}

View File

@@ -0,0 +1,25 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
abstract class UserRequest extends ApiFormRequest
{
public function specific()
{
return [];
}
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return array_merge([
'login' => 'required|string',
'password' => 'required|string|min:6',
], $this->specific());
}
}

View File

@@ -0,0 +1,19 @@
<?php
namespace App\Http\Requests;
class HeadTeacherRequest extends ApiFormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'date_of_birth' => 'date_format:Y/m/d|before:today|after:1900-01-01',
'phone_number' => 'regex:/^\+?7\d{10}$/',
];
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class ParentRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'date_of_birth' => 'date_format:Y/m/d|before:today|after:1900-01-01',
'phone_number' => 'regex:/^\+?7\d{10}$/',
];
}
}

View File

@@ -0,0 +1,23 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class SchoolClassRequest extends ApiFormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'number' => 'required|integer|between:1,11',
'letter' => 'required|max:1',
'count_students' => 'required|integer',
'profile' => 'required',
];
}
}

View File

@@ -0,0 +1,22 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class StudentRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'date_of_birth' => 'date_format:Y/m/d|before:today|after:1900-01-01',
'phone_number' => 'regex:/^\+?7\d{10}$/',
'class_id' => 'integer|gt:0',
];
}
}

View File

@@ -0,0 +1,21 @@
<?php
namespace App\Http\Requests;
use Illuminate\Foundation\Http\FormRequest;
class TeacherRequest extends ApiFormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'date_of_birth' => 'date_format:Y/m/d|before:today|after:1900-01-01',
'phone_number' => 'regex:/^\+?7\d{10}$/',
];
}
}