浏览代码

Update api routes

Daniel Supernault 2 年之前
父节点
当前提交
0a82e9466d
共有 2 个文件被更改,包括 17 次插入9 次删除
  1. 11 9
      app/Http/Controllers/CollectionController.php
  2. 6 0
      routes/api.php

+ 11 - 9
app/Http/Controllers/CollectionController.php

@@ -17,6 +17,7 @@ use App\Transformer\Api\{
 };
 };
 use League\Fractal\Serializer\ArraySerializer;
 use League\Fractal\Serializer\ArraySerializer;
 use League\Fractal\Pagination\IlluminatePaginatorAdapter;
 use League\Fractal\Pagination\IlluminatePaginatorAdapter;
+use App\Services\AccountService;
 use App\Services\CollectionService;
 use App\Services\CollectionService;
 use App\Services\FollowerService;
 use App\Services\FollowerService;
 use App\Services\StatusService;
 use App\Services\StatusService;
@@ -222,32 +223,33 @@ class CollectionController extends Controller
     	$follows = false;
     	$follows = false;
     	$visibility = ['public'];
     	$visibility = ['public'];
 
 
-        $profile = Profile::whereNull('status')
-            ->whereNull('domain')
-            ->findOrFail($id);
+        $profile = AccountService::get($id, true);
+        if(!$profile || !isset($profile['id'])) {
+            return response()->json([], 404);
+        }
 
 
         if($pid) {
         if($pid) {
-        	$follows = FollowerService::follows($pid, $profile->id);
+        	$follows = FollowerService::follows($pid, $profile['id']);
         }
         }
 
 
-        if($profile->is_private) {
+        if($profile['locked']) {
             abort_if(!$pid, 404);
             abort_if(!$pid, 404);
             if(!$user->is_admin) {
             if(!$user->is_admin) {
-            	abort_if($profile->id != $pid && $follows == false, 404);
+            	abort_if($profile['id'] != $pid && $follows == false, 404);
             }
             }
         }
         }
 
 
-        $owner = $pid ? $pid == $profile->id : false;
+        $owner = $pid ? $pid == $profile['id'] : false;
 
 
         if($follows) {
         if($follows) {
         	$visibility = ['public', 'private'];
         	$visibility = ['public', 'private'];
         }
         }
 
 
-        if($pid && $pid == $profile->id) {
+        if($pid && $pid == $profile['id']) {
         	$visibility = ['public', 'private', 'draft'];
         	$visibility = ['public', 'private', 'draft'];
         }
         }
 
 
-        return Collection::whereProfileId($profile->id)
+        return Collection::whereProfileId($profile['id'])
         	->whereIn('visibility', $visibility)
         	->whereIn('visibility', $visibility)
         	->when(!$owner, function($q, $owner) {
         	->when(!$owner, function($q, $owner) {
         		return $q->whereNotNull('published_at');
         		return $q->whereNotNull('published_at');

+ 6 - 0
routes/api.php

@@ -110,6 +110,12 @@ Route::group(['prefix' => 'api'], function() use($middleware) {
 			Route::get('apps-and-applications', 'Api\ApiV1Dot1Controller@accountApps')->middleware($middleware);
 			Route::get('apps-and-applications', 'Api\ApiV1Dot1Controller@accountApps')->middleware($middleware);
 		});
 		});
 
 
+		Route::group(['prefix' => 'collections'], function () use($middleware) {
+			Route::get('accounts/{id}', 'CollectionController@getUserCollections')->middleware($middleware);
+			Route::get('items/{id}', 'CollectionController@getItems')->middleware($middleware);
+			Route::get('view/{id}', 'CollectionController@getCollection')->middleware($middleware);
+		});
+
 		Route::group(['prefix' => 'direct'], function () use($middleware) {
 		Route::group(['prefix' => 'direct'], function () use($middleware) {
 			Route::get('thread', 'DirectMessageController@thread')->middleware($middleware);
 			Route::get('thread', 'DirectMessageController@thread')->middleware($middleware);
 			Route::post('thread/send', 'DirectMessageController@create')->middleware($middleware);
 			Route::post('thread/send', 'DirectMessageController@create')->middleware($middleware);