Tengo 3 mutaciones en una consulta. 6 parámetros de entrada. Si (profile_status === verdadero), envíe la mutación. Y así para cada mutación. ¿Cómo hacerlo?
mutation updateProfile( $input: UpdateProfileMutationInput! $input2: UpdateUserEmailMutationInput! $input3: UpdateUserPasswordMutationInput! $profile_status: Boolean! $email_status: Boolean! $password_status: Boolean! ) { @include(if: $profile_status) updateProfile(input: $input) { ...CoreUser } @include(if: $email_status) updateEmail(input: $input2) { ...CoreUpdateUserEmail } @include(if: $password_status) updatePassword(input: $input3) { ...CoreUpdateUserPassword } }Yo uso @apollo/cliente . Incluir solo trabajos para campos. ¿Hay uno similar para la mutación?
De la especificación :
La directiva @skip se puede proporcionar para campos, extensiones de fragmentos y fragmentos en línea...
Implementación:
directive @skip(if: Boolean!) on FIELD | FRAGMENT_SPREAD | INLINE_FRAGMENT Como puede ver, no tiene una ubicación de MUTATION ; no está implementado para mutaciones. Si eres el desarrollador del servidor, siempre puedes crear tu propia directiva de esquema ( guía para Apollo Server ).