Files
server/shared/lib/Routing/Attributes/AuthenticatedRoute.php
2025-12-24 19:22:20 -05:00

27 lines
873 B
PHP

<?php
namespace KTXF\Routing\Attributes;
use Attribute;
#[Attribute(Attribute::TARGET_METHOD | Attribute::TARGET_CLASS)]
class AuthenticatedRoute
{
/**
* @param string $path Route path
* @param string $name Route name
* @param array $methods HTTP methods
* @param array $permissions Required permissions (OR logic - user needs ANY)
* Examples:
* - ['user.profile.edit'] - exact permission
* - ['user_manager.users.*'] - wildcard permission
* - ['user.edit.own', 'user.edit.any'] - multiple options
*/
public function __construct(
public readonly string $path,
public readonly string $name,
public readonly array $methods = ['GET'],
public readonly array $permissions = [],
) {}
}