mirror of
https://github.com/pixelfed/pixelfed.git
synced 2024-11-22 14:31:26 +00:00
Update v1 API, add bookmarks
This commit is contained in:
parent
535bcc2e93
commit
99cb48c55e
2 changed files with 49 additions and 1 deletions
|
@ -10,6 +10,7 @@ use App\Util\Media\Filter;
|
||||||
use Laravel\Passport\Passport;
|
use Laravel\Passport\Passport;
|
||||||
use Auth, Cache, DB, URL;
|
use Auth, Cache, DB, URL;
|
||||||
use App\{
|
use App\{
|
||||||
|
Bookmark,
|
||||||
Follower,
|
Follower,
|
||||||
FollowRequest,
|
FollowRequest,
|
||||||
Like,
|
Like,
|
||||||
|
@ -1854,6 +1855,52 @@ class ApiV1Controller extends Controller
|
||||||
return response()->json($res);
|
return response()->json($res);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* GET /api/v1/bookmarks
|
||||||
|
*
|
||||||
|
*
|
||||||
|
*
|
||||||
|
* @return StatusTransformer
|
||||||
|
*/
|
||||||
|
public function bookmarks(Request $request)
|
||||||
|
{
|
||||||
|
abort_if(!$request->user(), 403);
|
||||||
|
|
||||||
|
$this->validate($request, [
|
||||||
|
'limit' => 'nullable|integer|min:1|max:40',
|
||||||
|
'max_id' => 'nullable|integer|min:0',
|
||||||
|
'since_id' => 'nullable|integer|min:0',
|
||||||
|
'min_id' => 'nullable|integer|min:0'
|
||||||
|
]);
|
||||||
|
|
||||||
|
$pid = $request->user()->profile_id;
|
||||||
|
$limit = $request->input('limit') ?? 20;
|
||||||
|
$max_id = $request->input('max_id');
|
||||||
|
$since_id = $request->input('since_id');
|
||||||
|
$min_id = $request->input('min_id');
|
||||||
|
|
||||||
|
$dir = $min_id ? '>' : '<';
|
||||||
|
$id = $min_id ?? $max_id;
|
||||||
|
|
||||||
|
if($id) {
|
||||||
|
$bookmarks = Bookmark::whereProfileId($pid)
|
||||||
|
->where('status_id', $dir, $id)
|
||||||
|
->limit($limit)
|
||||||
|
->pluck('status_id');
|
||||||
|
} else {
|
||||||
|
$bookmarks = Bookmark::whereProfileId($pid)
|
||||||
|
->latest()
|
||||||
|
->limit($limit)
|
||||||
|
->pluck('status_id');
|
||||||
|
}
|
||||||
|
|
||||||
|
$res = [];
|
||||||
|
foreach($bookmarks as $id) {
|
||||||
|
$res[] = \App\Services\StatusService::get($id);
|
||||||
|
}
|
||||||
|
return response()->json($res, 200, [], JSON_PRETTY_PRINT|JSON_UNESCAPED_SLASHES);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* GET /api/v2/search
|
* GET /api/v2/search
|
||||||
*
|
*
|
||||||
|
|
|
@ -11,6 +11,7 @@ Route::group(['prefix' => 'api'], function() use($middleware) {
|
||||||
Route::group(['prefix' => 'v1'], function() use($middleware) {
|
Route::group(['prefix' => 'v1'], function() use($middleware) {
|
||||||
Route::post('apps', 'Api\ApiV1Controller@apps');
|
Route::post('apps', 'Api\ApiV1Controller@apps');
|
||||||
Route::get('instance', 'Api\ApiV1Controller@instance');
|
Route::get('instance', 'Api\ApiV1Controller@instance');
|
||||||
|
Route::get('bookmarks', 'Api\ApiV1Controller@bookmarks')->middleware($middleware);
|
||||||
|
|
||||||
Route::get('accounts/verify_credentials', 'Api\ApiV1Controller@verifyCredentials')->middleware($middleware);
|
Route::get('accounts/verify_credentials', 'Api\ApiV1Controller@verifyCredentials')->middleware($middleware);
|
||||||
Route::patch('accounts/update_credentials', 'Api\ApiV1Controller@accountUpdateCredentials')->middleware($middleware);
|
Route::patch('accounts/update_credentials', 'Api\ApiV1Controller@accountUpdateCredentials')->middleware($middleware);
|
||||||
|
@ -82,5 +83,5 @@ Route::group(['prefix' => 'api'], function() use($middleware) {
|
||||||
Route::group(['prefix' => 'v2'], function() use($middleware) {
|
Route::group(['prefix' => 'v2'], function() use($middleware) {
|
||||||
Route::get('search', 'Api\ApiV1Controller@searchV2')->middleware($middleware);
|
Route::get('search', 'Api\ApiV1Controller@searchV2')->middleware($middleware);
|
||||||
});
|
});
|
||||||
|
|
||||||
});
|
});
|
||||||
|
|
Loading…
Reference in a new issue