diff --git a/app/Http/Controllers/Api/BaseApiController.php b/app/Http/Controllers/Api/BaseApiController.php new file mode 100644 index 000000000..dd78b16f3 --- /dev/null +++ b/app/Http/Controllers/Api/BaseApiController.php @@ -0,0 +1,71 @@ +middleware('auth'); + $this->fractal = new Fractal\Manager(); + $this->fractal->setSerializer(new ArraySerializer()); + } + + public function accounts(Request $request, $id) + { + $profile = Profile::findOrFail($id); + $resource = new Fractal\Resource\Item($profile, new AccountTransformer); + $res = $this->fractal->createData($resource)->toArray(); + return response()->json($res, 200, [], JSON_PRETTY_PRINT); + } + + public function accountFollowers(Request $request, $id) + { + $profile = Profile::findOrFail($id); + $followers = $profile->followers; + $resource = new Fractal\Resource\Collection($followers, new AccountTransformer); + $res = $this->fractal->createData($resource)->toArray(); + return response()->json($res, 200, [], JSON_PRETTY_PRINT); + } + + public function accountFollowing(Request $request, $id) + { + $profile = Profile::findOrFail($id); + $following = $profile->following; + $resource = new Fractal\Resource\Collection($following, new AccountTransformer); + $res = $this->fractal->createData($resource)->toArray(); + return response()->json($res, 200, [], JSON_PRETTY_PRINT); + } + + public function accountStatuses(Request $request, $id) + { + $profile = Profile::findOrFail($id); + $statuses = $profile->statuses()->orderBy('id', 'desc')->paginate(20); + $resource = new Fractal\Resource\Collection($statuses, new StatusTransformer); + $res = $this->fractal->createData($resource)->toArray(); + return response()->json($res, 200, [], JSON_PRETTY_PRINT); + } + + + public function followSuggestions(Request $request) + { + $followers = Auth::user()->profile->recommendFollowers(); + $resource = new Fractal\Resource\Collection($followers, new AccountTransformer); + $res = $this->fractal->createData($resource)->toArray(); + return response()->json($res); + } +} \ No newline at end of file