mirror of
https://github.com/robonen/education-project.git
synced 2026-03-20 02:44:31 +00:00
общий код
This commit is contained in:
24
app/Http/Controllers/Auth/LoginController.php
Normal file
24
app/Http/Controllers/Auth/LoginController.php
Normal file
@@ -0,0 +1,24 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Auth\LoginRequest;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
public function __invoke(LoginRequest $request)
|
||||
{
|
||||
$credentials = $request->only('login', 'password');
|
||||
|
||||
if (auth()->attempt($credentials))
|
||||
return response()->json('You cannot sign with those credentials!', 401);
|
||||
|
||||
$token = auth()->user()->makeToken($request->get('remember_me'));
|
||||
|
||||
return response()->json([
|
||||
'token_type' => 'Bearer',
|
||||
'token' => $token->accessToken,
|
||||
], 200);
|
||||
}
|
||||
}
|
||||
16
app/Http/Controllers/Auth/LogoutController.php
Normal file
16
app/Http/Controllers/Auth/LogoutController.php
Normal file
@@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Illuminate\Http\Request;
|
||||
|
||||
class LogoutController extends Controller
|
||||
{
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$request->user()->token()->revoke();
|
||||
|
||||
return response()->json('ok', 200);
|
||||
}
|
||||
}
|
||||
57
app/Http/Controllers/Auth/RegisterController.php
Normal file
57
app/Http/Controllers/Auth/RegisterController.php
Normal file
@@ -0,0 +1,57 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Auth\RegisterRequest;
|
||||
|
||||
use App\Models\HeadTeacher;
|
||||
use App\Models\Parentt;
|
||||
use App\Models\Role;
|
||||
use App\Models\Student;
|
||||
use App\Models\Teacher;
|
||||
use App\Models\User;
|
||||
|
||||
class RegisterController extends Controller
|
||||
{
|
||||
public function __invoke(RegisterRequest $request)
|
||||
{
|
||||
$role = Role::where('name', $request->get('role'));
|
||||
|
||||
if ($role->isEmpty())
|
||||
return response()->json('Role not found', 404);
|
||||
|
||||
$user = User::create(array_merge(
|
||||
$request->only('login', 'class_id'),
|
||||
[
|
||||
'password' => bcrypt($request->get('password')),
|
||||
'role_id' => $role->first()->id,
|
||||
]
|
||||
));
|
||||
|
||||
$user_id = [
|
||||
'user_id' => $user->id,
|
||||
];
|
||||
|
||||
switch($request->get('role'))
|
||||
{
|
||||
case 'headteacher':
|
||||
HeadTeacher::create($user_id);
|
||||
break;
|
||||
|
||||
case 'teacher':
|
||||
Teacher::create($user_id);
|
||||
break;
|
||||
|
||||
case 'student':
|
||||
Student::create($user_id);
|
||||
break;
|
||||
|
||||
case 'parent':
|
||||
Parentt::create($user_id);
|
||||
break;
|
||||
}
|
||||
|
||||
return response()->json('ok', 200);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user