J'ai des problèmes avec afterSave implémentant ma logique d'inscription. Ce que je dois faire est d'ajouter une transaction dans la classe Wallet lorsque l'utilisateur fait l'enregistrement, en lui donnant quelques crédits. J'ai donc ma fonction de code nuage:l'analyse du code de cloud afterSave renvoie l'erreur 107 impossible POST
// Add welcome bonus on signup
Parse.Cloud.afterSave(Parse.User, (request) => {
// commit transaction only on signup completed with phone number
if (request.object.get('username')) {
const wallet = new Parse.Object('Wallet')
wallet.set('value', 100)
wallet.set('action', '+')
wallet.set('description', 'welcome bonus')
wallet.set('user', {
__type: 'Pointer',
className: '_User',
objectId: request.object.id
})
wallet.save(null,{useMasterKey: true}).then(
(result) => console.log('objectId',result.id),
(error) => console.log('code:',error.code,'message:',error.message)
)
}
})
Depuis Parse.Cloud.useMasterKey() est dépréciée Je follwed la doc Parse sur la façon d'utiliser l'option sur useMasterKey méthode de sauvegarde, mais je reste a obtenu cette erreur:
info: afterSave triggered for _User for user undefined:
Input: {...} className=_User, triggerType=afterSave, user=undefined
code: 107 message: Received an error with invalid JSON from Parse: Cannot POST /classes/Wallet
Et thi s est ma table portefeuille:
| valeur: Numéro | action: Chaîne | description: String | utilisateur: Pointer < _User> |
Et les colonnes par défaut createdAt, updatedAt, objectId et ACL
Je travaille sur localhost.
Des idées sur ce qui se passe?
Vous ne pouvez pas utiliser wallet.save() sans les paramètres à l'intérieur? Si cela ne fonctionne pas, essayez d'ajouter {useMasterKey: true} en haut de votre code. – Lyon
Pouvez-vous vous assurer que la valeur est un type entier et que la colonne action est un type de chaîne? Peut-être avez-vous déjà sauvegardé un objet avant de passer différents types. –
Pouvez-vous me montrer la table Wallet? –