Невозможно отобразить component.html и панель мониторинга на основе user_id
Я использую Angular для подключения к конечным точкам Laravel.У меня есть модель User и другие модели.Все остальные таблицы содержат user_id.Существует две панели управления: панель администратора и панель пользователя.
Laravel
public function login()
{
$credentials = request(['email', 'password']);
if (!$token = auth()->attempt($credentials)) {
return response()->json(['error' => 'Email or Password doesn\'t exisit'], 401);
}
return $this->respondWithToken($token);
}
модели для пользователя, ученика и назначения:
protected $fillable = [
'name', 'email', 'password', 'username',
];
protected $fillable = [
'name', 'class', 'user_id',
];
protected $fillable = [
'title', 'valid_date', 'content', 'user_id',
];
Угловой: Сервис
private baseUrl = 'http://localhost/cloudengine-sandbox/cloudsandboxbackend/public/api';
//private baseUrl = '/api';
constructor(private http:HttpClient) { }
register(data){
return this.http.post(`${this.baseUrl}/register`, data)
}
login(data){
return this.http.post(`${this.baseUrl}/login`, data)
}
login.component.ts
onSubmit() {
this.Jarwis.login(this.form).subscribe(
data => this.handleResponse(data),
error => this.handleError(error)
);
}
handleResponse(data){
this.Token.handle(data.access_token);
this.Auth.changeAuthStatus(true);
//this.user.loggedInUser = user;
this.router.navigateByUrl('/admindashboard');
}
Когда я вхожу в систему:
- Если user_id равен 1, он должен перенаправляться на admindashboard, иначе userdashboard
- Администратор должен видеть все в приложении, в то время как другие пользователи должны видеть компоненты / формы, которые в его таблице есть user_id этого конкретного пользователя