27 lines
815 B
PHP
27 lines
815 B
PHP
<?php
|
|
|
|
namespace RhodesIsland\OAuthCenter\Api\Controller;
|
|
|
|
use Flarum\Api\Controller\AbstractCreateController;
|
|
use Flarum\Http\RequestUtil;
|
|
use Illuminate\Support\Arr;
|
|
use Psr\Http\Message\ServerRequestInterface;
|
|
use Tobscure\JsonApi\Document;
|
|
use RhodesIsland\OAuthCenter\Models\Scope;
|
|
use RhodesIsland\OAuthCenter\Api\Serializer\ScopeSerializer;
|
|
|
|
class CreateScopeController extends AbstractCreateController
|
|
{
|
|
public $serializer = ScopeSerializer::class;
|
|
protected function data(ServerRequestInterface $request, Document $document)
|
|
{
|
|
$actor = RequestUtil::getActor($request);
|
|
$actor->assertAdmin();
|
|
|
|
$attributes = Arr::get($request->getParsedBody(), 'data.attributes');
|
|
|
|
return Scope::create([
|
|
'scope' => Arr::get($attributes, 'scope'),
|
|
]);
|
|
}
|
|
}
|