['zimbra_settings:read']], provider: ZimbraSettingsProvider::class, security: "is_granted('ROLE_ADMIN')", ), new Put( uriTemplate: '/settings/zimbra', denormalizationContext: ['groups' => ['zimbra_settings:write']], normalizationContext: ['groups' => ['zimbra_settings:read']], provider: ZimbraSettingsProvider::class, processor: ZimbraSettingsProcessor::class, security: "is_granted('ROLE_ADMIN')", ), ], )] final class ZimbraSettings { #[Groups(['zimbra_settings:read', 'zimbra_settings:write'])] public ?string $serverUrl = null; #[Groups(['zimbra_settings:read', 'zimbra_settings:write'])] public ?string $username = null; #[Groups(['zimbra_settings:read', 'zimbra_settings:write'])] public ?string $calendarPath = null; #[Groups(['zimbra_settings:write'])] public ?string $password = null; #[Groups(['zimbra_settings:read', 'zimbra_settings:write'])] public bool $enabled = false; #[Groups(['zimbra_settings:read'])] public bool $hasPassword = false; }