call('connect:refresh'); $class = config('bconnect.model'); $has_fields = in_array(HasConnectTokens::class, class_uses($class)); if (! $has_fields) { throw new ConnectException("$class does not implement HasConnectTokens"); } $class::query()->chunks(10, function ($models) use ($connect) { $models->each(function ($model) use ($connect) { try { if (! empty($model->connect_access_token)) { $data = $connect->getUserData($model->connect_access_token); $connect->updateUserData($model, $data); $model->save(); if (in_array(HasConnectData::class, class_uses($model))) { $model->postFillConnectData($data); } } } catch (\Exception $exception) { $this->warn("Failed to sync model data", $model->toArray()); } }); }); $this->info("Models synced"); return 0; } }