From ec24dec2dfe446747842a91ebeeca1c40fd84f9f Mon Sep 17 00:00:00 2001 From: Daniel Supernault Date: Fri, 13 Sep 2019 21:48:16 -0600 Subject: [PATCH] Update ApiController --- app/Http/Controllers/Api/ApiV1Controller.php | 27 ++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/app/Http/Controllers/Api/ApiV1Controller.php b/app/Http/Controllers/Api/ApiV1Controller.php index 069c3d726..4bfc890cf 100644 --- a/app/Http/Controllers/Api/ApiV1Controller.php +++ b/app/Http/Controllers/Api/ApiV1Controller.php @@ -8,18 +8,32 @@ use Illuminate\Support\Str; use App\Jobs\StatusPipeline\StatusDelete; use Laravel\Passport\Passport; use Auth, Cache, DB; -use Carbon\Carbon; use App\{ Like, Media, Profile, Status }; +use League\Fractal; +use App\Transformer\Api\{ + AccountTransformer, + RelationshipTransformer, + StatusTransformer, +}; +use League\Fractal\Serializer\ArraySerializer; +use League\Fractal\Pagination\IlluminatePaginatorAdapter; use App\Services\NotificationService; -class ApiV1Controller extends Controller { +class ApiV1Controller extends Controller +{ + protected $fractal; + public function __construct() + { + $this->fractal = new Fractal\Manager(); + $this->fractal->setSerializer(new ArraySerializer()); + } public function apps(Request $request) { abort_if(!config('pixelfed.oauth_enabled'), 404); @@ -54,4 +68,13 @@ class ApiV1Controller extends Controller { ]; return $res; } + + public function accountById(Request $request, $id) + { + $profile = Profile::whereNull('status')->findOrFail($id); + $resource = new Fractal\Resource\Item($profile, new AccountTransformer()); + $res = $this->fractal->createData($resource)->toArray(); + + return response()->json($res); + } } \ No newline at end of file