From 8e113ce3d0e070ac2ff4addb19ede488f87dfc31 Mon Sep 17 00:00:00 2001 From: Jonny Barnes Date: Fri, 17 Nov 2017 14:25:30 +0000 Subject: [PATCH] Allow syndication links to be updated more easily/reliably bu casting syndicates to array --- app/Bookmark.php | 9 +++++++++ app/Jobs/SyndicateBookmarkToFacebook.php | 4 +++- app/Jobs/SyndicateBookmarkToTwitter.php | 4 +++- 3 files changed, 15 insertions(+), 2 deletions(-) diff --git a/app/Bookmark.php b/app/Bookmark.php index 3da5826d..d2446c7a 100644 --- a/app/Bookmark.php +++ b/app/Bookmark.php @@ -13,6 +13,15 @@ class Bookmark extends Model */ protected $fillable = ['url', 'name', 'content']; + /** + * The attributes that should be cast to native types. + * + * @var array + */ + protected $casts = [ + 'syndicates' => 'array', + ]; + /** * The tags that belong to the bookmark. */ diff --git a/app/Jobs/SyndicateBookmarkToFacebook.php b/app/Jobs/SyndicateBookmarkToFacebook.php index 4dbc1641..9d24fbd9 100644 --- a/app/Jobs/SyndicateBookmarkToFacebook.php +++ b/app/Jobs/SyndicateBookmarkToFacebook.php @@ -47,7 +47,9 @@ class SyndicateBookmarkToFacebook implements ShouldQueue //parse for syndication URL if ($response->getStatusCode() == 201) { $json = json_decode((string) $response->getBody()); - $this->bookmark->update(['syndicates->facebook' => $json->url]); + $syndicates = $this->bookmark->syndicates; + $syndicates['facebook'] = $json->url; + $this->bookmark->syndicates = $syndicates; $this->bookmark->save(); } } diff --git a/app/Jobs/SyndicateBookmarkToTwitter.php b/app/Jobs/SyndicateBookmarkToTwitter.php index 3d46d160..2e441bb6 100644 --- a/app/Jobs/SyndicateBookmarkToTwitter.php +++ b/app/Jobs/SyndicateBookmarkToTwitter.php @@ -47,7 +47,9 @@ class SyndicateBookmarkToTwitter implements ShouldQueue //parse for syndication URL if ($response->getStatusCode() == 201) { $json = json_decode((string) $response->getBody()); - $this->bookmark->update(['syndicates->twitter' => $json->url]); + $syndicates = $this->bookmark->syndicates; + $syndicates['twitter'] = $json->url; + $this->bookmark->syndicates = $syndicates; $this->bookmark->save(); } }