mirror of
https://github.com/jikan-me/jikan-rest.git
synced 2025-02-20 11:23:35 +08:00
add GET /random/users
This commit is contained in:
parent
246fa45dcc
commit
3d64a53b6a
@ -11,8 +11,12 @@ use App\Http\Resources\V4\AnimeResource;
|
||||
use App\Http\Resources\V4\CharacterCollection;
|
||||
use App\Http\Resources\V4\MangaCollection;
|
||||
use App\Http\Resources\V4\PersonCollection;
|
||||
use App\Http\Resources\V4\ResultsResource;
|
||||
use App\Http\Resources\V4\UserCollection;
|
||||
use App\Manga;
|
||||
use App\Person;
|
||||
use App\Profile;
|
||||
use App\User;
|
||||
use Illuminate\Http\Request;
|
||||
use MongoDB\BSON\UTCDateTime;
|
||||
|
||||
@ -170,4 +174,32 @@ class RandomController extends Controller
|
||||
$results
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* @OA\Get(
|
||||
* path="/random/users",
|
||||
* operationId="getRandomUsers",
|
||||
* tags={"random"},
|
||||
*
|
||||
* @OA\Response(
|
||||
* response="200",
|
||||
* description="Returns Random Users",
|
||||
* @OA\JsonContent()
|
||||
* ),
|
||||
* @OA\Response(
|
||||
* response="400",
|
||||
* description="Error: Bad request. When required parameters were not supplied.",
|
||||
* ),
|
||||
* ),
|
||||
*/
|
||||
public function users(Request $request)
|
||||
{
|
||||
|
||||
$results = Profile::query()
|
||||
->raw(fn($collection) => $collection->aggregate([ ['$sample' => ['size' => 1]] ]));
|
||||
|
||||
return new UserCollection(
|
||||
$results
|
||||
);
|
||||
}
|
||||
}
|
||||
|
28
app/Http/Resources/V4/UserCollection.php
Normal file
28
app/Http/Resources/V4/UserCollection.php
Normal file
@ -0,0 +1,28 @@
|
||||
<?php
|
||||
|
||||
|
||||
namespace App\Http\Resources\V4;
|
||||
|
||||
use Illuminate\Http\Resources\Json\ResourceCollection;
|
||||
|
||||
class UserCollection extends ResourceCollection
|
||||
{
|
||||
|
||||
public $collects = 'App\Http\Resources\V4\ProfileResource';
|
||||
|
||||
/**
|
||||
* Transform the resource collection into an array.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return array
|
||||
*/
|
||||
public function toArray($request)
|
||||
{
|
||||
return [
|
||||
'data' => $this->collection,
|
||||
'links' => [
|
||||
'self' => 'link-value',
|
||||
],
|
||||
];
|
||||
}
|
||||
}
|
@ -511,5 +511,9 @@ $router->group(
|
||||
$router->get('/people', [
|
||||
'uses' => 'RandomController@people',
|
||||
]);
|
||||
|
||||
$router->get('/users', [
|
||||
'uses' => 'RandomController@users',
|
||||
]);
|
||||
}
|
||||
);
|
Loading…
x
Reference in New Issue
Block a user