Rank 2: Process
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?
