first(); } public function isGlobalAdmin() { return in_array('global_admin', $this->roles); } public function isAdmin() { return in_array('admin', $this->roles); } public function restaurantes() { return $this->belongsToMany(Restaurante::class, 'usuarios_restaurantes', 'usuario_id', 'restaurante_id'); } public function administrador() { return $this->hasOne(Administrador::class); } public function recaudador() { return $this->hasOne(Recaudador::class); } public function mesero() { return $this->hasOne(Mesero::class); } public function productor() { return $this->hasOne(Productor::class); } public function getRolesAttribute() { $auth0Service = app(Auth0Service::class); $auth0User = $auth0Service->getUser($this->auth0_id); return $this->attributes['roles'] = array_key_exists('app_metadata', $auth0User) ? $auth0User['app_metadata']['roles'] : []; } }