diff --git a/app/Console/Commands/Feed/ReadAndSyncEinundzwanzigPodcastFeed.php b/app/Console/Commands/Feed/ReadAndSyncEinundzwanzigPodcastFeed.php deleted file mode 100644 index 2b2f4c90..00000000 --- a/app/Console/Commands/Feed/ReadAndSyncEinundzwanzigPodcastFeed.php +++ /dev/null @@ -1,60 +0,0 @@ - 'Einundzwanzig School', - 'key' => config('feeds.services.podcastindex-org.key'), - 'secret' => config('feeds.services.podcastindex-org.secret'), - ]); - $podcast = $client->podcasts->byFeedUrl('https://einundzwanzig.space/feed.xml') - ->json(); - $einundzwanzigPodcast = Podcast::query() - ->updateOrCreate(['guid' => $podcast->feed->podcastGuid], [ - 'title' => $podcast->feed->title, - 'link' => $podcast->feed->link, - 'language_code' => $podcast->feed->language, - 'data' => $podcast->feed, - 'created_by' => 1, - ]); - $episodes = $client->episodes->withParameters(['max' => 1000]) - ->byFeedId(185230) - ->json(); - foreach ($episodes->items as $item) { - Episode::query() - ->updateOrCreate(['guid' => $item->guid], [ - 'podcast_id' => $einundzwanzigPodcast->id, - 'data' => $item, - 'created_by' => 1, - 'created_at' => Carbon::parse($item->datePublished), - ]); - } - - return Command::SUCCESS; - } -} diff --git a/app/Console/Commands/Feed/ReadAndSyncPodcastFeeds.php b/app/Console/Commands/Feed/ReadAndSyncPodcastFeeds.php new file mode 100644 index 00000000..9c0117aa --- /dev/null +++ b/app/Console/Commands/Feed/ReadAndSyncPodcastFeeds.php @@ -0,0 +1,69 @@ + 'Einundzwanzig School', + 'key' => config('feeds.services.podcastindex-org.key'), + 'secret' => config('feeds.services.podcastindex-org.secret'), + ]); + $feedIds = [ + 185230, // Einundzwanzig, der Bitcoin Podcast + 4627128, // Nodesignal - Deine Bitcoin-Frequenz + 4426306, // Pleb's Taverne + 4409506, // Sound Money Bitcoin Podcast + ]; + + foreach ($feedIds as $feedId) { + $podcast = $client->podcasts->byFeedId($feedId) + ->json(); + $einundzwanzigPodcast = Podcast::query() + ->updateOrCreate(['guid' => $podcast->feed->podcastGuid], [ + 'title' => $podcast->feed->title, + 'link' => $podcast->feed->link, + 'language_code' => $podcast->feed->language, + 'data' => $podcast->feed, + 'created_by' => 1, + ]); + $episodes = $client->episodes->withParameters(['max' => 10000]) + ->byFeedId($feedId) + ->json(); + foreach ($episodes->items as $item) { + Episode::query() + ->updateOrCreate(['guid' => $item->guid], [ + 'podcast_id' => $einundzwanzigPodcast->id, + 'data' => $item, + 'created_by' => 1, + 'created_at' => Carbon::parse($item->datePublished), + ]); + } + } + + return Command::SUCCESS; + } +} diff --git a/app/Console/Kernel.php b/app/Console/Kernel.php index 261092a6..1067b97e 100644 --- a/app/Console/Kernel.php +++ b/app/Console/Kernel.php @@ -2,7 +2,7 @@ namespace App\Console; -use App\Console\Commands\Feed\ReadAndSyncEinundzwanzigPodcastFeed; +use App\Console\Commands\Feed\ReadAndSyncPodcastFeeds; use App\Console\Commands\OpenBooks\SyncOpenBooks; use Illuminate\Console\Scheduling\Schedule; use Illuminate\Foundation\Console\Kernel as ConsoleKernel; @@ -23,7 +23,7 @@ class Kernel extends ConsoleKernel ->daily(); $schedule->call(SyncOpenBooks::class) ->dailyAt('23:00'); - $schedule->call(ReadAndSyncEinundzwanzigPodcastFeed::class) + $schedule->call(ReadAndSyncPodcastFeeds::class) ->dailyAt('23:30'); } diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index aea25aa6..992d55bd 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -4,7 +4,7 @@ namespace Database\Seeders; // use Illuminate\Database\Console\Seeds\WithoutModelEvents; use App\Console\Commands\Database\CreateTags; -use App\Console\Commands\Feed\ReadAndSyncEinundzwanzigPodcastFeed; +use App\Console\Commands\Feed\ReadAndSyncPodcastFeeds; use App\Console\Commands\OpenBooks\SyncOpenBooks; use App\Models\BitcoinEvent; use App\Models\Category; @@ -373,7 +373,7 @@ Deshalb werden Sie von mir in diesem Kurs leicht verständlich an das Thema hera $libraryItem->syncTagsWithType(['Präsentationen'], 'library_item'); $nonPublicLibrary->libraryItems() ->attach($libraryItem); - Artisan::call(ReadAndSyncEinundzwanzigPodcastFeed::class); + Artisan::call(ReadAndSyncPodcastFeeds::class); Artisan::call(SyncOpenBooks::class); Meetup::create([ 'city_id' => 1,