<?php

declare(strict_types=1);

namespace App\Administration\Application\Command\UpdateUserRoles;

use InvalidArgumentException;

use function is_string;

final readonly class UpdateUserRolesCommand
{
    /**
     * @param string[] $roles
     */
    public function __construct(
        public string $userId,
        public array $roles,
        public string $tenantId = '',
    ) {
        foreach ($roles as $r) {
            if (!is_string($r)) {
                throw new InvalidArgumentException('Chaque rôle doit être une chaîne de caractères.');
            }
        }
    }
}
