Hello guys, I am implementing a flutter application which communicates with the cloud appwrite system. On the login step I try to add a push target if this target is missing. The code for this looks like:
Future<void> setUserTarget(String? fcmToken, User user) async {
if (fcmToken != null) {
if (user.targets.isEmpty ||
!user.targets.any((targe) => targe.providerType == 'push')) {
await _account.createPushTarget(
targetId: user.$id,
identifier: fcmToken,
providerId: PROVIDER_ID);
} else {
await _account.updatePushTarget(
targetId: user.$id, identifier: fcmToken);
}
}
}
When I debug through the code I get this state of the user is targest list is empty (see screenshot), but after caling the _account.createPushTarget() function I get the error message: A target with the same ID already exists (see the second screenshot)
I also checked the appwrite console and there is not target for the user.
I am not sure what the problem is. Can anybody help?
Kind regards
How are you getting the user object?
With this line of code: final user = await _account.get();
If you look in console under that user do you see the target for that already?
No, there is no target for that user
is there any reason you're using the users id as the target ID and not ID.Unique()?
Hmm, this is a good point. I was thinking I saw this in the documentation. But, I should use ID.unique()
I will try that
Not that it should be conflicting now since there isn't one, but I'm not sure what it validates for that section off the top of my head.
I looked through the documentation and found this: https://appwrite.io/docs/references/cloud/server-nodejs/users#updateTarget But I mixed it up. I will try with ID.unique and will let you if the problem is solved
I changed my code, now using ID.unique() But I am still facing the same problem
Ok, now something is completely off. I want to try to login with a different user to check if it works or not. Now I get the problem with session_already_exists but nothing is visible in the console
I am not sure what is happening 😰
:( Did you delete the session from your last user?
Recommended threads
- proccessing problems
A database schema operation is stuck in my Frankfurt project. In the matryq database, the workspaceId attribute of the coaching_activity_entries collection rema...
- User column is processing
I am still encountering the processing tag after creating a column in my database. and its not a network or refresh issue, i have refreshed over and over, shutd...
- Custom API domain is unreachable
Earlier my custom api domain was working fine. Now it seems to be offline without a trace a few hours later. I didn't change anything, all the relevant DNS reco...