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

общий код

This commit is contained in:
nikden13
2020-12-03 23:33:04 +07:00
parent 54732a9f6a
commit 4a8e802c03
44 changed files with 880 additions and 277 deletions

View 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);
}
}

View 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);
}
}

View 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);
}
}