In my web, I try to create a contact form that allow every visitor can leave a message to specified user.
- Anyone can create message => Anyone can create a document in my
Contact Message
Collection - In the form, I create an input or dropdown to select the person that is receiver ( In example is User
5c1f88b42259e
)
import { Client, Databases, Permission, Role } from "appwrite";
const client = new Client()
.setEndpoint('<APPWRITE_ENDPONT>')
.setProject('<PROJECT_ID>');
const databases = new Databases(client);
let promise = databases.createDocument(
'<DATABASE_ID>',
'<COLLECTION_ID>',
{'actorName': 'Chris Evans', 'height': 183},
[
Permission.read(Role.user("5c1f88b42259e")), // User 5c1f88b42259e can view this document
Permission.delete(Role.user("5c1f88b42259e")), // User 5c1f88b42259e can delete this document
Permission.delete(Role.team("admin")) // Admins can delete this document
]
);
promise.then(function (response) {
console.log(response);
}, function (error) {
console.log(error);
});
In my Contact Message
Collection, I turn on Document security
option and set Any
can create document.
When submit form, it give Error: User session not found.
Can anyone give some solutions or examples?
I think in the response it will show you who can create permissions for. It's not possible to create permissions for another user.
Thank you for response. For anyone come to this topic later, I do some research and found the explanation video
Recommended threads
- Send Email Verification With REST
I am using REST to create a user on the server side after receiving form data from the client. After the account is successfully created i wanted to send the v...
- Use different email hosts for different ...
Hello, I have 2 projects and i want to be able to set up email templates in the projects. Both projects will have different email host configurations. I see ...
- Get team fail in appwrite function
I try to get team of a user inside appwrite function, but i get this error: `AppwriteException: User (role: guests) missing scope (teams.read)` If i try on cl...