Hi there, I am writing a dart function for cloud which basically deletes a document owned by a user and removes read permissions of the users in all other documents in a specific scope. For testing I am creating a document like this:
// Create guestCommObjects for the event
removeGuestCommObject = await database.createDocument(
databaseId: databaseId,
collectionId: guestCommObjectCollectionId,
documentId: removeGuestCommObjectId,
data: {
'eventId': event!.$id,
'userId': removeGuestId,
'isRegisteredUser': true,
},
permissions: [
Permission.read(Role.user(ownerId)),
Permission.write(Role.user(ownerId)),
Permission.delete(Role.user(ownerId)),
Permission.read(Role.user(guestId1)),
Permission.read(Role.user(guestId2)),
Permission.read(Role.user(removeGuestId)),
Permission.update(Role.user(removeGuestId)),
],
);
So far so good, now when I am making this getDocument call:
guestCommObject = await database.getDocument(
databaseId: privateEventDatabaseId,
collectionId: guestCommObjectCollectionId,
documentId: payload['guestCommObjectId'],
);
It throws a _TypeError: '_InternalLinkedHashMap<String, dynamic>' is not a subtype of type 'List<dynamic>'
For me this looks like an error in the Document.fromMap() Error or I am putting these permissions wrong, but why doesnt it throw an exception during create?
would you please replace the Permission.write() with Permission.update()?
Yes, that did the trick. Or just deleting the Permission.delete() since Permission.write() is update and delete correct?
But I found it strange that I can create an document which is falsy
yes correct...I'm pretty sure this was fixed in a newer version of Appwrite
[SOLVED] _TypeError for getDocument with Permissions
Alright, thank you Steven! <:appwriteheart2:1073243188954935387>
Recommended threads
- Charged after Downgrade
I downgraded from the pro plan last month, but it’s still trying to charge my card this month and my account has been restricted
- Invalid type for attribute 'email': emai...
I'm using the node-appwrite SDK to create a table, the column payload looks like this: ```json [{"key":"email","type":"email","required":true, "size": 512}] ``...
- Sydney Cloud Sites: App Git deployment a...
Project ID: rentwize-db The app Site fails after the build completes with a missing build archive error. Site id: app Framework: TanStack Start SSR Output dir...