<?php

declare(strict_types=1);

namespace App\Framework\GraphQL\Attributes;

use Attribute;

/**
 * Marks a class as containing GraphQL mutation resolvers
 *
 * Usage:
 * #[GraphQLMutation]
 * final readonly class UserMutations {
 *     #[GraphQLField(type: 'User!', args: ['input' => 'CreateUserInput!'])]
 *     public function createUser(array $input): User { ... }
 * }
 */
#[Attribute(Attribute::TARGET_CLASS)]
final readonly class GraphQLMutation
{
    public function __construct(
        public ?string $description = null
    ) {
    }
}
