¡Estoy tratando de actualizar un usuario y estoy perdido! No recibo errores en la consola, pero no se actualiza según sea necesario, solo estoy aprendiendo sobre GraphQl y Mongoose, por lo que cualquier ayuda sería muy apreciada....
Mi mutación en TypeDefs.js es:
type Mutation { userUpdate(input: UserUpdateInput): User!}
input UserUpdateInput { username: String email: String firstName: String lastName: String images: [ImageInput] headline: String}
y mi resolución se ve así:
userUpdate: async (parent, args, context) => { if (context.user) { return await User.findByIdAndUpdate(context.user._id, args, { new: true }); } throw new AuthenticationError('Not logged in'); },La lógica final de mi amigo en utils/mutations.js es:
export const USER_UPDATE = gql ` mutation userUpdate($input: UserUpdateInput!) { userUpdate(input: $input) { _id username firstName lastName email images { url public_id } headline createdAt } }`
en mi componente React tengo:
const [values, setValues] = useState({ username: '', firstName: '', lastName: '', email: '', images: [], headline: '', }); const {data} = useQuery(PROFILE); useMemo(()=> { if (data) { console.log(data.profile) setValues({ ...values, username: data.profile.username, firstName: data.profile.firstName, lastName: data.profile.lastName, email: data.profile.email, images: omitDeep(data.profile.images, ["__typename"]), headline: data.profile.headline, }); } }, [data]); //mutation const [userUpdate] = useMutation(USER_UPDATE, { update: ({ data }) => { console.log('USER UPDATE MUTATION IN PROFILE', data); toast.success('Profile updated') } })