Files
firefly-iii/app/JsonApi/V2/Server.php

54 lines
1.2 KiB
PHP
Raw Normal View History

<?php
declare(strict_types=1);
2024-07-26 12:52:54 +02:00
namespace FireflyIII\JsonApi\V2;
2024-07-26 12:52:54 +02:00
use FireflyIII\JsonApi\V2\Accounts\AccountSchema;
use FireflyIII\JsonApi\V2\Users\UserSchema;
2024-07-27 15:42:43 +02:00
use FireflyIII\Support\JsonApi\Concerns\UsergroupAware;
use FireflyIII\Support\JsonApi\Concerns\UserGroupDetectable;
2024-07-28 12:23:45 +02:00
use Illuminate\Support\Facades\Log;
use LaravelJsonApi\Core\Server\Server as BaseServer;
/**
* Class Server
*
* This class serves as a generic class for the v2 API "server".
*/
class Server extends BaseServer
{
2024-07-27 15:42:43 +02:00
use UsergroupAware;
use UserGroupDetectable;
/**
* The base URI namespace for this server.
*/
2024-07-27 15:42:43 +02:00
protected string $baseUri = '/api/v2';
/**
* Bootstrap the server when it is handling an HTTP request.
*/
public function serving(): void
{
2024-07-28 12:23:45 +02:00
Log::debug(__METHOD__);
2024-07-28 07:02:04 +02:00
// at this point the user may not actually have access to this user group.
2024-07-27 15:42:43 +02:00
$res = $this->detectUserGroup();
$this->setUserGroup($res);
}
/**
* Get the server's list of schemas.
*/
protected function allSchemas(): array
{
2024-07-31 08:31:20 +02:00
// Log::debug(__METHOD__);
return [
AccountSchema::class,
UserSchema::class,
// AccountBalanceSchema::class,
];
}
}