[PaaS uniquement]{class="badge informative" title="S’applique uniquement aux projets Adobe Commerce on Cloud (infrastructure PaaS gérée par Adobe) et aux projets On-premise."}

ACSD-47027 : mise à jour de CompanyRole B2B à requête lente GraphQL

Le correctif ACSD-47027 résout le problème en raison duquel la mise à jour CompanyRole de la GraphQL B2B de requête lente ne fonctionne pas comme prévu. Ce correctif est disponible lorsque la version 1.1.23 de Quality Patches Tool (QPT) est installée. L’ID du correctif est ACSD-47027. Notez que le problème est planifié pour être corrigé dans Adobe Commerce 2.4.6.

Produits et versions concernés

Le correctif est créé pour la version Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.2-p1

Compatible avec les versions d’Adobe Commerce :

  • Adobe Commerce (toutes les méthodes de déploiement) 2.4.2 - 2.4.5-p1
NOTE
Le correctif peut s’appliquer à d’autres versions avec de nouvelles versions de Quality Patches Tool. Pour vérifier si le correctif est compatible avec votre version d’Adobe Commerce, mettez à jour le package magento/quality-patches vers la dernière version et vérifiez la compatibilité sur la page Quality Patches Tool : Rechercher des correctifs. Utilisez l’ID du correctif comme mot-clé de recherche pour localiser le correctif.

Problème

La mise à jour du CompanyRole de GraphQL B2B de requête lente ne fonctionne pas comme prévu.

Conditions préalables :

Installez le module B2B .

Procédure à suivre :

  1. Dans Adobe Commerce Admin, accédez à Stores > Settings > Configurations > B2B Features et définissez Enable Company sur Oui.

  2. Accédez au serveur frontal et créez une entreprise.

  3. Après vous être connecté en tant qu’utilisateur d’entreprise, accédez à My Account > Roles and Permissions et ajoutez un nouveau rôle.

  4. Activez dev journal des requêtes à l’aide de bin/magento dev:que:enab.

  5. Envoyez maintenant la requête de GraphQL ci-dessous (l’identifiant est l’identifiant de rôle codé en base64) :

    code language-none
    
    mutation {
    updateCompanyRole(
       input: {
          id: "Mg=="
          permissions: [
          "Magento_Company::view"
          "Magento_Company::view_account"
          "Magento_Company::user_management"
          "Magento_Company::roles_view"
         ]
       }
     ) {
       role {
          id
    
      name
    
      permissions {
      id
    
      text
    
      children {
         id
    
         text
    
         children {
            id
    
            text
          }
        }
      }
    }
    
  6. Vérifiez le journal des requêtes.

  7. Vous pouvez constater que la requête ci-dessus est exécutée. Cette requête est exécutée en app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources.

Résultats attendus :

Le app/code/Magento/CompanyGraphQl/Model/Company/Role/ValidateRole.php::validateResources doit être optimisé pour éviter de charger toutes les données disponibles dans la table de base de données company_permissions.

Résultats réels :

Adobe Commerce exécute une requête sans aucun filtre. Lorsqu’il y a un grand nombre d’enregistrements, la préparation de la collecte de données par Adobe Commerce prend beaucoup de temps.

Application du correctif

Pour appliquer des correctifs individuels, utilisez les liens suivants en fonction de votre méthode de déploiement :

Lecture connexe

Pour en savoir plus sur Quality Patches Tool, consultez :

Pour plus d’informations sur les autres correctifs disponibles dans QPT, reportez-vous à Quality Patches Tool : Rechercher des correctifs dans le guide de Quality Patches Tool.

recommendation-more-help
c2d96e17-5179-455c-ad3a-e1697bb4e8c3