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-16 15:25:42 +07:00
parent 045a767774
commit e19ab81ddd
7 changed files with 69 additions and 5 deletions

View File

@@ -5,12 +5,10 @@ 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\SchoolClass;
use App\Models\User;
use Illuminate\Database\QueryException;
class RegisterController extends Controller
{
@@ -40,7 +38,17 @@ class RegisterController extends Controller
break;
case 'student':
$user->student()->create();
try {
$user->student()->create(['class_id'=>$request->input('class_id')]);
$class = SchoolClass::find($request->input('class_id'));
if ($class) {
$class->count_students++;;
$class->save();
}
} catch (QueryException $e) {
$user->delete();
return response()->json(['message'=>'Class not found'],404);
}
break;
case 'parent':

View File

@@ -0,0 +1,38 @@
<?php
namespace App\Http\Controllers\Users;
use App\Http\Controllers\Controller;
use App\Models\HeadTeacher;
use Illuminate\Http\JsonResponse;
use Illuminate\Http\Request;
class UserController
{
public function getUser()
{
switch(auth()->user()->role->name)
{
case 'student':
$user = auth()->user()->student;
break;
case 'teacher':
$user = auth()->user()->teacher;
break;
case 'headteacher':
$user = auth()->user()->headteacher;
break;
case 'parent':
$user = auth()->user()->parent;
break;
}
return response()->json($user);
}
}

View File

@@ -14,6 +14,10 @@ class HeadTeacher extends Model
'updated_at',
];
protected $hidden = [
'user_id',
];
public function user()
{
return $this->belongsTo(User::class);

View File

@@ -15,6 +15,10 @@ class Parentt extends Model
'updated_at',
];
protected $hidden = [
'user_id',
];
public function user()
{
return $this->belongsTo(User::class);

View File

@@ -15,6 +15,10 @@ class Student extends Model
'updated_at',
];
protected $hidden = [
'user_id',
];
public function schoolClass()
{
return $this->belongsTo(SchoolClass::class, 'class_id');

View File

@@ -15,6 +15,10 @@ class Teacher extends Model
'updated_at',
];
protected $hidden = [
'user_id',
];
public function schoolClass()
{
return $this->hasOne(SchoolClass::class, 'classroom_teacher');

View File

@@ -9,6 +9,8 @@ Route::group(['prefix' => 'auth'], function () {
Route::post('logout', 'Auth\LogoutController')->middleware('auth:api');
});
Route::get('users', 'Users\UserController@getUser')->middleware('auth:api');
Route::apiResource('chat/links', 'ChatLinkController')->except(['show'])->middleware('auth:api'); // ссылки чата
Route::apiResource('headteachers', 'Users\HeadTeacherController');