forum-oauth-center/src/Api/Controller/CreateScopeController.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'),
]);
}
}