I solved it by converting object into array, Thank you for helping me
I'd really like to figure out how it happened so that we could prevent it from happening again, but I can't reproduce the problem
Did you here updated the document or creating it?
Both
What were the permissions on the created document before updating?
It was normal string[], everything is ok till i update the document, then it breaks.....it is weird that it happends to me every single time and for you it works properly
Exact value would be helpful so I could try and reproduce
Before i update the document, incoming permissions look like this: permissions: [ 'read("any")', 'read("user:642090ce0b988edac790")', 'read("user:642090ce0b988edac790")', 'write("user:642090ce0b988edac790")', 'update("user:642090ce0b988edac790")', 'delete("user:642090ce0b988edac790")' ]
then when i getDocument, it comes like this:
"$permissions": { "0": "read(any)", "1": "read(user:642090ce0b988edac790)", "3": "update(user:642090ce0b988edac790)", "4": "delete(user:642090ce0b988edac790)" },
No I meant what was the permissions on the document before you updated it
Yes, sorry for misunderstanding, these are permissions before i update the document -$permissions: [ 'read("any")', 'read("user:642090ce0b988edac790")', 'update("user:642090ce0b988edac790")', 'delete("user:642090ce0b988edac790")' ]
Then, when i update that document and when i load that document, i get this: "$permissions": { "0": "read("any")", "1": "read("user:642090ce0b988edac790")", "3": "update("user:642090ce0b988edac790")", "4": "delete("user:642090ce0b988edac790")" },
After updating i cant event open document in console (cloud.appwrite.io)
even*
i still can't reproduce. this is my code:
const initialPermissions = [
'read("any")',
'read("user:642090ce0b988edac790")',
'update("user:642090ce0b988edac790")',
'delete("user:642090ce0b988edac790")'
];
console.log(initialPermissions);
const created = await databases.createDocument(
'default',
'test',
'permission',
{
b: true
},
initialPermissions
);
console.log(created);
const updatedPermissions = [
'read("any")',
'read("user:642090ce0b988edac790")',
'read("user:642090ce0b988edac790")',
'write("user:642090ce0b988edac790")',
'update("user:642090ce0b988edac790")',
'delete("user:642090ce0b988edac790")'
]
const updated = await databases.updateDocument(
'default',
'test',
created.$id,
{
b: false,
},
updatedPermissions
);
console.log(updated);
this is the output:
[
'read("any")',
'read("user:642090ce0b988edac790")',
'update("user:642090ce0b988edac790")',
'delete("user:642090ce0b988edac790")'
]
{
b: true,
'$id': 'permission',
'$permissions': [
'read("any")',
'read("user:642090ce0b988edac790")',
'update("user:642090ce0b988edac790")',
'delete("user:642090ce0b988edac790")'
],
'$createdAt': '2023-06-05T01:09:10.059+00:00',
'$updatedAt': '2023-06-05T01:09:10.059+00:00',
s: 'default value',
i: null,
'$collectionId': 'test',
'$databaseId': 'default'
}
{
b: false,
s: 'default value',
i: null,
'$id': 'permission',
'$createdAt': '2023-06-05T01:09:10.059+00:00',
'$updatedAt': '2023-06-05T01:09:10.617+00:00',
'$permissions': [
'read("any")',
'read("user:642090ce0b988edac790")',
'read("user:642090ce0b988edac790")',
'update("user:642090ce0b988edac790")',
'delete("user:642090ce0b988edac790")',
'update("user:642090ce0b988edac790")',
'delete("user:642090ce0b988edac790")'
],
'$collectionId': 'test',
'$databaseId': 'default'
}
Are you using node-appwrite version 9.0.0?
Yep
wait a minute! the result of updateDocument() for me was right, but then if i getDocument() again, it shows the problem
here's the created issue: https://github.com/appwrite/appwrite/issues/5661
What do you suggest me to do now? I cant continue programming
i suggest not passing duplicate data (the extra read and the write permissions)
Oh, ok thank you for helping
Recommended threads
- fastly error
Hey! I'm hitting a Fastly error on the www version of our site, but the root domain works fine. We have a wildcard set up, so I expected the subdomain to be cov...
- Facebook's scraper facebookexternalhit g...
share.bardbliss.com but works fine on the raw fra.appwrite.run URL. No execution logs appear when Facebook hits the custom domain. This was working before. How ...
- How to Display File in Web?
I'm trying to use Appwrite's Storage to store images and display them in my app, however when I use the `getFileView`, `getFileDownload` or `getFilePreview` met...