From 85e4be8172612de344ec73ddb0e6be2a28493e3c Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Mon, 3 Jan 2022 00:53:15 -0700 Subject: [PATCH] Update AccountService, add getMastodon method for mastoapi compatibility --- app/Services/AccountService.php | 29 +++++++++++++++++++ app/Transformer/Api/AccountTransformer.php | 4 +-- .../Api/Mastodon/v1/AccountTransformer.php | 4 +-- 3 files changed, 33 insertions(+), 4 deletions(-) diff --git a/app/Services/AccountService.php b/app/Services/AccountService.php index 2c3f97a7b..0410f8f64 100644 --- a/app/Services/AccountService.php +++ b/app/Services/AccountService.php @@ -33,6 +33,35 @@ class AccountService }); } + public static function getMastodon($id, $softFail = false) + { + $account = self::get($id, $softFail); + if(!$account) { + return null; + } + + unset( + $account['header_bg'], + $account['is_admin'], + $account['last_fetched_at'], + $account['local'], + $account['location'], + $account['note_text'], + $account['pronouns'], + $account['website'] + ); + + $account['avatar_static'] = $account['avatar']; + $account['bot'] = false; + $account['emojis'] = []; + $account['fields'] = []; + $account['header'] = url('/storage/headers/missing.png'); + $account['header_static'] = url('/storage/headers/missing.png'); + $account['last_status_at'] = null; + + return $account; + } + public static function del($id) { return Cache::forget(self::CACHE_KEY . $id); diff --git a/app/Transformer/Api/AccountTransformer.php b/app/Transformer/Api/AccountTransformer.php index 8beb5b668..6e6d9ea16 100644 --- a/app/Transformer/Api/AccountTransformer.php +++ b/app/Transformer/Api/AccountTransformer.php @@ -25,8 +25,8 @@ class AccountTransformer extends Fractal\TransformerAbstract 'acct' => $acct, 'display_name' => $profile->name, 'locked' => (bool) $profile->is_private, - 'followers_count' => $profile->followerCount(), - 'following_count' => $profile->followingCount(), + 'followers_count' => (int) $profile->followerCount(), + 'following_count' => (int) $profile->followingCount(), 'statuses_count' => (int) $profile->statusCount(), 'note' => $profile->bio ?? '', 'note_text' => strip_tags($profile->bio), diff --git a/app/Transformer/Api/Mastodon/v1/AccountTransformer.php b/app/Transformer/Api/Mastodon/v1/AccountTransformer.php index 25f482303..5f1e58214 100644 --- a/app/Transformer/Api/Mastodon/v1/AccountTransformer.php +++ b/app/Transformer/Api/Mastodon/v1/AccountTransformer.php @@ -24,8 +24,8 @@ class AccountTransformer extends Fractal\TransformerAbstract 'url' => $profile->url(), 'avatar' => $profile->avatarUrl(), 'avatar_static' => $profile->avatarUrl(), - 'header' => '', - 'header_static' => '', + 'header' => url('/storage/headers/missing.png'), + 'header_static' => url('/storage/headers/missing.png'), 'followers_count' => (int) $profile->followerCount(), 'following_count' => (int) $profile->followingCount(), 'statuses_count' => (int) $profile->statusCount(),