Files
Lesstime/src/ApiResource/GiteaSettings.php
T
2026-03-13 13:57:31 +01:00

43 lines
1.2 KiB
PHP

<?php
declare(strict_types=1);
namespace App\ApiResource;
use ApiPlatform\Metadata\ApiResource;
use ApiPlatform\Metadata\Get;
use ApiPlatform\Metadata\Put;
use App\State\GiteaSettingsProcessor;
use App\State\GiteaSettingsProvider;
use Symfony\Component\Serializer\Attribute\Groups;
#[ApiResource(
operations: [
new Get(
uriTemplate: '/settings/gitea',
normalizationContext: ['groups' => ['gitea_settings:read']],
provider: GiteaSettingsProvider::class,
security: "is_granted('ROLE_ADMIN')",
),
new Put(
uriTemplate: '/settings/gitea',
denormalizationContext: ['groups' => ['gitea_settings:write']],
normalizationContext: ['groups' => ['gitea_settings:read']],
provider: GiteaSettingsProvider::class,
processor: GiteaSettingsProcessor::class,
security: "is_granted('ROLE_ADMIN')",
),
],
)]
final class GiteaSettings
{
#[Groups(['gitea_settings:read', 'gitea_settings:write'])]
public ?string $url = null;
#[Groups(['gitea_settings:write'])]
public ?string $token = null;
#[Groups(['gitea_settings:read'])]
public bool $hasToken = false;
}