Autour de Laravel

Laravel graphQL: Package Rebing-graphql-laravel

Avatar de zimkha
zimkha

Hello guys, J'utilise le package Rebing/graphQL-laravel pour mes api(s) cependant je voudrai faire une mutation Ajouter des permissions a un role lors de l'enregistrement d'un role on peut affecter au role plusieurs permissions a la fois du coup dans ma tête c'est un tableau de ID que je dois envoyer dans la requete graphql cependant avec ce package je trouve pas le moyen d'envoyer dans ma requete un type permission customiser genre avoir un Type

Ma classe PermissionMutation: Type de permission que je voudrai envoyer dans la requête

    class PermissionMutationType extends GraphQLType
    {
        protected $attributes = [
            'name' => 'Permissionmutation',

        ];
       public function fields(): array
       {
           return  [
               'id'                            => ['type' => Type::int()],
           ];
       }


    }

RolePermission qui doit servir de Type pour la mutation

    class RolePermissionMutationType extends GraphQLType
    {
            protected $attributes = [
                'name' => 'Rolepermissiomutation',

            ];
           public function fields(): array
           {
               return  [
                   'id'                            => ['type' => Type::int()],
                   'name'                          => ['type' => Type::string()], 
                   'permissions'                   => ['type' => Type::listOf(GraphQL::type('Permissionmutation')),'is_relation' => false],
               ];
           }

    }
    class RolePermissionMutation extends Mutation {
        protected $attributes = [
            'name' => 'role_mutation_permission'
        ];

        public function type(): Type
        {
            return Type::nonNull(GraphQL::type('Rolepermissiomutation'));
        }

        public function args(): array 
        {
            return
                [
                    'id'                    => ['type' => Type::int()],
                    'name'                  => ['type' => Type::string()],
                    'permissions'           => ['type' => Type::listOf(GraphQL::type('Permissionmutation'))],

                ];
        }

        public function resolve($root, array $args, $context, ResolveInfo $resolveInfo, Closure $getSelectFields)
        {
            $role = Role::findOrFail($args['id']);
            if(isset($role)){

            }
            return null;



        }
    }

Need Help

Posté il y a 1 an

Vous ne pouvez pas répondre à ce sujet.