From 5d02ae39908a9d743627135b372bf981134c4328 Mon Sep 17 00:00:00 2001
From: Yassine Doghri <yassine@doghri.fr>
Date: Mon, 22 Nov 2021 15:52:40 +0000
Subject: [PATCH] fix(podcast-import): move guid attribute declaration for
 Episode entity to include slug data

---
 .../Admin/PodcastImportController.php           |  2 +-
 app/Entities/Episode.php                        |  2 +-
 .../ActivityPub/Models/FavouriteModel.php       |  2 +-
 .../ActivityPub/Models/FollowModel.php          |  2 +-
 .../ActivityPub/Models/StatusModel.php          | 17 +++++++----------
 5 files changed, 11 insertions(+), 14 deletions(-)

diff --git a/app/Controllers/Admin/PodcastImportController.php b/app/Controllers/Admin/PodcastImportController.php
index 410f040e49..2832cf83b4 100644
--- a/app/Controllers/Admin/PodcastImportController.php
+++ b/app/Controllers/Admin/PodcastImportController.php
@@ -345,9 +345,9 @@ class PodcastImportController extends BaseController
 
             $newEpisode = new Episode([
                 'podcast_id' => $newPodcastId,
-                'guid' => $item->guid ?? null,
                 'title' => $item->title,
                 'slug' => $slug,
+                'guid' => $item->guid ?? null,
                 'audio_file' => download_file((string) $item->enclosure->attributes()['url']),
                 'description_markdown' => $converter->convert($itemDescriptionHtml),
                 'description_html' => $itemDescriptionHtml,
diff --git a/app/Entities/Episode.php b/app/Entities/Episode.php
index 264afdaa98..f5b54d6ce0 100644
--- a/app/Entities/Episode.php
+++ b/app/Entities/Episode.php
@@ -420,7 +420,7 @@ class Episode extends Entity
 
     public function getLink(): string
     {
-        return base_url(route_to('episode', $this->getPodcast() ->name, $this->attributes['slug']));
+        return url_to('episode', $this->getPodcast()->name, $this->attributes['slug']);
     }
 
     public function getEmbeddablePlayerUrl(string $theme = null): string
diff --git a/app/Libraries/ActivityPub/Models/FavouriteModel.php b/app/Libraries/ActivityPub/Models/FavouriteModel.php
index 32cc81b657..5ea58981e9 100644
--- a/app/Libraries/ActivityPub/Models/FavouriteModel.php
+++ b/app/Libraries/ActivityPub/Models/FavouriteModel.php
@@ -125,7 +125,7 @@ class FavouriteModel extends UuidModel
 
             $likeActivity = new LikeActivity();
             $likeActivity
-                ->set('id', base_url(route_to('activity', $actor->username, $activity->id)))
+                ->set('id', url_to('activity', $actor->username, $activity->id))
                 ->set('actor', $actor->uri)
                 ->set('object', $status->uri);
 
diff --git a/app/Libraries/ActivityPub/Models/FollowModel.php b/app/Libraries/ActivityPub/Models/FollowModel.php
index 62e2c65475..6622f27366 100644
--- a/app/Libraries/ActivityPub/Models/FollowModel.php
+++ b/app/Libraries/ActivityPub/Models/FollowModel.php
@@ -83,7 +83,7 @@ class FollowModel extends Model
                         'queued',
                     );
 
-                $followActivity->set('id', base_url(route_to('activity', $actor->username, $activityId)));
+                $followActivity->set('id', url_to('activity', $actor->username, $activityId));
 
                 model('ActivityModel')
                     ->update($activityId, [
diff --git a/app/Libraries/ActivityPub/Models/StatusModel.php b/app/Libraries/ActivityPub/Models/StatusModel.php
index 941beb030d..9f46f9f161 100644
--- a/app/Libraries/ActivityPub/Models/StatusModel.php
+++ b/app/Libraries/ActivityPub/Models/StatusModel.php
@@ -278,7 +278,7 @@ class StatusModel extends UuidModel
         if ($registerActivity) {
             // set status id and uri to construct NoteObject
             $status->id = $newStatusId;
-            $status->uri = base_url(route_to('status', $status->actor->username, $newStatusId));
+            $status->uri = url_to('status', $status->actor->username, $newStatusId);
 
             $createActivity = new CreateActivity();
             $noteObjectClass = config('ActivityPub')
@@ -298,7 +298,7 @@ class StatusModel extends UuidModel
                     'queued',
                 );
 
-            $createActivity->set('id', base_url(route_to('activity', $status->actor->username, $activityId)));
+            $createActivity->set('id', url_to('activity', $status->actor->username, $activityId));
 
             model('ActivityModel')
                 ->update($activityId, [
@@ -411,7 +411,7 @@ class StatusModel extends UuidModel
                     'queued',
                 );
 
-            $deleteActivity->set('id', base_url(route_to('activity', $status->actor->username, $activityId)));
+            $deleteActivity->set('id', url_to('activity', $status->actor->username, $activityId));
 
             model('ActivityModel')
                 ->update($activityId, [
@@ -492,7 +492,7 @@ class StatusModel extends UuidModel
                     'queued',
                 );
 
-            $announceActivity->set('id', base_url(route_to('activity', $status->actor->username, $activityId)));
+            $announceActivity->set('id', url_to('activity', $status->actor->username, $activityId));
 
             model('ActivityModel')
                 ->update($activityId, [
@@ -535,10 +535,7 @@ class StatusModel extends UuidModel
                 ->first();
 
             $announceActivity = new AnnounceActivity($reblogStatus);
-            $announceActivity->set(
-                'id',
-                base_url(route_to('activity', $reblogStatus->actor->username, $activity->id)),
-            );
+            $announceActivity->set('id', url_to('activity', $reblogStatus->actor->username, $activity->id),);
 
             $undoActivity
                 ->set('actor', $reblogStatus->actor->uri)
@@ -555,7 +552,7 @@ class StatusModel extends UuidModel
                     'queued',
                 );
 
-            $undoActivity->set('id', base_url(route_to('activity', $reblogStatus->actor->username, $activityId)));
+            $undoActivity->set('id', url_to('activity', $reblogStatus->actor->username, $activityId));
 
             model('ActivityModel')
                 ->update($activityId, [
@@ -627,7 +624,7 @@ class StatusModel extends UuidModel
             $actor = model('ActorModel')
                 ->getActorById((int) $data['data']['actor_id']);
 
-            $data['data']['uri'] = base_url(route_to('status', $actor->username, $uuid4->toString()));
+            $data['data']['uri'] = url_to('status', $actor->username, $uuid4->toString());
         }
 
         return $data;
-- 
GitLab