mirror of
https://github.com/robonen/education-project.git
synced 2026-03-20 02:44:31 +00:00
auth
This commit is contained in:
@@ -4,6 +4,7 @@ namespace App\Http\Controllers\Auth;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\Requests\Auth\LoginRequest;
|
||||
use Carbon\Carbon;
|
||||
|
||||
class LoginController extends Controller
|
||||
{
|
||||
@@ -11,14 +12,13 @@ class LoginController extends Controller
|
||||
{
|
||||
$credentials = $request->only('login', 'password');
|
||||
|
||||
if (auth()->attempt($credentials))
|
||||
if (!auth()->attempt($credentials))
|
||||
return response()->json('You cannot sign with those credentials!', 401);
|
||||
|
||||
$token = auth()->user()->makeToken($request->get('remember_me'));
|
||||
$token = auth()->user()->createToken(config('app.name'));
|
||||
$token->token->expires_at = (bool)$request->get('remember_me') ? Carbon::now()->addMonth() : Carbon::now()->addDay();
|
||||
$token->token->save();
|
||||
|
||||
return response()->json([
|
||||
'token_type' => 'Bearer',
|
||||
'token' => $token->accessToken,
|
||||
], 200);
|
||||
return response()->json(['access_token' => $token->accessToken], 200);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,8 +9,8 @@ class LogoutController extends Controller
|
||||
{
|
||||
public function __invoke(Request $request)
|
||||
{
|
||||
$request->user()->token()->revoke();
|
||||
auth()->user()->token()->revoke();
|
||||
|
||||
return response()->json('ok', 200);
|
||||
return response()->json(['message' => 'You are logged out'], 200);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -16,10 +16,10 @@ class RegisterController extends Controller
|
||||
{
|
||||
public function __invoke(RegisterRequest $request)
|
||||
{
|
||||
$role = Role::where('name', $request->get('role'));
|
||||
$role = Role::where('name', $request->get('role'))->get();
|
||||
|
||||
if ($role->isEmpty())
|
||||
return response()->json('Role not found', 404);
|
||||
return response()->json(['message'=>'Role not found'], 404);
|
||||
|
||||
$user = User::create(array_merge(
|
||||
$request->only('login', 'class_id'),
|
||||
@@ -29,29 +29,25 @@ class RegisterController extends Controller
|
||||
]
|
||||
));
|
||||
|
||||
$user_id = [
|
||||
'user_id' => $user->id,
|
||||
];
|
||||
|
||||
switch($request->get('role'))
|
||||
{
|
||||
case 'headteacher':
|
||||
HeadTeacher::create($user_id);
|
||||
$user->headteacher()->create();
|
||||
break;
|
||||
|
||||
case 'teacher':
|
||||
Teacher::create($user_id);
|
||||
$user->teacher()->create();
|
||||
break;
|
||||
|
||||
case 'student':
|
||||
Student::create($user_id);
|
||||
$user->student()->create();
|
||||
break;
|
||||
|
||||
case 'parent':
|
||||
Parentt::create($user_id);
|
||||
$user->parent()->create();
|
||||
break;
|
||||
}
|
||||
|
||||
return response()->json('ok', 200);
|
||||
return response()->json(null, 201);
|
||||
}
|
||||
}
|
||||
|
||||
65
app/Http/Controllers/ChatLinkController.php
Normal file
65
app/Http/Controllers/ChatLinkController.php
Normal file
@@ -0,0 +1,65 @@
|
||||
<?php
|
||||
|
||||
namespace App\Http\Controllers;
|
||||
|
||||
use App\Http\Requests\ChatLinkRequest;
|
||||
use App\Models\ChatLink;
|
||||
use Illuminate\Database\QueryException;
|
||||
|
||||
class ChatLinkController extends Controller
|
||||
{
|
||||
//Получение ссылок для класса или для их создателя
|
||||
public function index()
|
||||
{
|
||||
switch(auth()->user()->role->name)
|
||||
{
|
||||
case 'student':
|
||||
$links = ChatLink::all()->where('class_id', auth()->user()->class_id);
|
||||
break;
|
||||
|
||||
case 'teacher':
|
||||
case 'headteacher':
|
||||
$links = auth()->user()->chatLinks;
|
||||
break;
|
||||
|
||||
case 'parent':
|
||||
$links = [];
|
||||
break;
|
||||
}
|
||||
|
||||
return response()->json($links, 200);
|
||||
}
|
||||
|
||||
//Создание ссылки
|
||||
public function store(ChatLinkRequest $request)
|
||||
{
|
||||
try {
|
||||
$link = auth()->user()->create($request->all());
|
||||
} catch (QueryException $e) {
|
||||
return response()->json(['message'=>'Class not found'], 404);
|
||||
}
|
||||
|
||||
return response()->json($link, 201);
|
||||
}
|
||||
|
||||
//Обновление ссылки
|
||||
public function update(ChatLink $link, ChatLinkRequest $request)
|
||||
{
|
||||
try {
|
||||
$link->update($request->all());
|
||||
} catch (QueryException $e) {
|
||||
return response()->json(['message'=>'Class not found'], 404);
|
||||
}
|
||||
|
||||
return response()->json($link, 200);
|
||||
}
|
||||
|
||||
//Удаление ссылки
|
||||
public function destroy(ChatLink $link)
|
||||
{
|
||||
$link->delete();
|
||||
return response()->json(null, 204);
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
@@ -45,9 +45,8 @@ class TimetableController extends Controller
|
||||
'class' => $class,
|
||||
]);
|
||||
}
|
||||
|
||||
$dateTimetables = [];
|
||||
if (!$filterTimetables->isEmpty()) {
|
||||
//if (!$filterTimetables->isEmpty()) {
|
||||
for ($i = 0; $i < 6; $i++) {
|
||||
$date = Carbon::parse($request->input('date'))
|
||||
->startOfWeek()
|
||||
@@ -55,7 +54,7 @@ class TimetableController extends Controller
|
||||
->format('Y-m-d');
|
||||
array_push($dateTimetables, [$date => $filterTimetables->where('date', $date)->values()]);
|
||||
}
|
||||
}
|
||||
//}
|
||||
return response()->json($dateTimetables, 200);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user