From 12b22008a237185cb736fc29352fab22421dad16 Mon Sep 17 00:00:00 2001
From: Yassine Doghri <yassine@doghri.fr>
Date: Wed, 30 Mar 2022 12:51:18 +0000
Subject: [PATCH] fix(socialinteract): move social interact uri into uri
 attribute + update social data upon import

---
 app/Helpers/rss_helper.php                            |  5 +++--
 modules/Admin/Controllers/PodcastImportController.php | 10 ++++++++--
 2 files changed, 11 insertions(+), 4 deletions(-)

diff --git a/app/Helpers/rss_helper.php b/app/Helpers/rss_helper.php
index e40930757d..3c8491bf30 100644
--- a/app/Helpers/rss_helper.php
+++ b/app/Helpers/rss_helper.php
@@ -320,9 +320,10 @@ if (! function_exists('get_rss_feed')) {
             $comments->addAttribute('contentType', 'application/podcast-activity+json');
 
             if ($episode->getPosts()) {
-                $socialInteractUrl = $episode->getPosts()[0]
+                $socialInteractUri = $episode->getPosts()[0]
                     ->uri;
-                $socialInteractElement = $item->addChild('socialInteract', $socialInteractUrl, $podcastNamespace);
+                $socialInteractElement = $item->addChild('socialInteract', null, $podcastNamespace);
+                $socialInteractElement->addAttribute('uri', $socialInteractUri);
                 $socialInteractElement->addAttribute('priority', '1');
                 $socialInteractElement->addAttribute('platform', 'castopod');
                 $socialInteractElement->addAttribute('protocol', 'activitypub');
diff --git a/modules/Admin/Controllers/PodcastImportController.php b/modules/Admin/Controllers/PodcastImportController.php
index ba53eea3e9..0f5c9d1c7f 100644
--- a/modules/Admin/Controllers/PodcastImportController.php
+++ b/modules/Admin/Controllers/PodcastImportController.php
@@ -211,14 +211,20 @@ class PodcastImportController extends BaseController
             [
                 'name' => 'podcasting',
                 'elements' => $nsPodcast->id,
+                'account_url_key' => 'url',
+                'account_id_key' => 'id',
             ],
             [
                 'name' => 'social',
                 'elements' => $nsPodcast->social,
+                'account_url_key' => 'accountUrl',
+                'account_id_key' => 'accountId',
             ],
             [
                 'name' => 'funding',
                 'elements' => $nsPodcast->funding,
+                'account_url_key' => 'url',
+                'account_id_key' => 'id',
             ],
         ];
         $platformModel = new PlatformModel();
@@ -230,8 +236,8 @@ class PodcastImportController extends BaseController
                     $podcastsPlatformsData[] = [
                         'platform_slug' => $platformSlug,
                         'podcast_id' => $newPodcastId,
-                        'link_url' => $platform->attributes()['url'],
-                        'account_id' => $platform->attributes()['id'],
+                        'link_url' => $platform->attributes()[$platformType['account_url_key']],
+                        'account_id' => $platform->attributes()[$platformType['account_id_key']],
                         'is_visible' => false,
                     ];
                 }
-- 
GitLab