where(function (Builder $query) { $query->where('fully_synced', true)->orWhereNull('tmdb_id'); }) ->whereNotNull('name') ->select(['id', 'name', 'updated_at']), app(Person::class) ->where('fully_synced', true) ->orWhereNull('tmdb_id') ->select(['id', 'name', 'updated_at']), app(Episode::class) ->whereHas('title') ->with(['title' => fn($q) => $q->compact()]) ->select([ 'id', 'name', 'title_id', 'season_number', 'episode_number', 'updated_at', ]), app(Season::class) ->whereHas('title') ->with(['title' => fn($q) => $q->compact()]) ->select(['id', 'title_id', 'number']), Video::select(['id', 'name', 'updated_at']), Channel::where('public', true) ->where('internal', false) ->select(['id', 'name', 'slug', 'updated_at']), app(NewsArticle::class)->select([ 'id', 'title', 'slug', 'updated_at', ]), ]; } protected function getAppStaticUrls(): array { return ['series', 'movies', 'people', 'news']; } protected function addTitleLine( string $url, string $updatedAt, string $name, ) { $this->addNewLine($url, $updatedAt, $name); $this->addNewLine("$url/full-credits", $updatedAt, $name); } protected function getModelUrl(Model $model): string { if ($model instanceof Season) { return app(AppUrlGenerator::class)->season($model, $model->title); } if ($model instanceof Episode) { return app(AppUrlGenerator::class)->episode($model, $model->title); } return parent::getModelUrl($model); } }