Hello everyone, π I'm currently experiencing a problem with my SvelteKit application. :svelte: I have configured my application to handle user sessions using the Appwrite SDK for Node.js because of SSR. When I try to add or delete documents in my collection from my application, I get the following error: "Permissions must be one of: (any, guests)". I set these security rules for my collection because I want only the right user can read, update, delete
User -> read Document security is enabled
If you need more information or a code, don't hesitate to ask me.
Thank you in advance for your help π
Here's the code :
lib/server/ideas.ts
export const getIdeas = async (): Promise<Idea[]> => {
try {
const client = new Client().setEndpoint(APPWRITE_ENDPOINT).setProject(APPWRITE_PROJECT);
const databases = new Databases(client);
const ideas = await databases.listDocuments(STARTER_DATABASE_ID, STARTER_COLLECTION_ID);
return ideas.documents as Idea[];
} catch (e) {
...
}
return [];
};
export const addIdea = async (idea: Idea) => {
try {
const client = new Client().setEndpoint(APPWRITE_ENDPOINT).setProject(APPWRITE_PROJECT);
const databases = new Databases(client);
return databases.createDocument(
STARTER_DATABASE_ID,
STARTER_COLLECTION_ID,
idea.$id,
{
userId: idea.userId,
title: idea.title,
description: idea.description
},
[
Permission.read(Role.user(idea.userId)),
Permission.update(Role.user(idea.userId)),
Permission.delete(Role.user(idea.userId))
]
);
} catch (e) {
...
}
};
export const deleteIdea = async (id: string) => {
try {
const client = new Client().setEndpoint(APPWRITE_ENDPOINT).setProject(APPWRITE_PROJECT);
const databases = new Databases(client);
return databases.deleteDocument(STARTER_DATABASE_ID, STARTER_COLLECTION_ID, id);
} catch (e) {
..
}
};
Recommended threads
- listRows result parsing issue
I'm using Appwrite Dart SDK "24.2.0". When I perform a listRows call in dart, I have this reponse in JSON: in " Future<models.RowList> listRows()" { "total" :...
- Index for combination of columns
How am i suppposed to apply index so that combination of two columns alwasy remain unique in appwrite table though console
- Broken Flutter SDK >=24.1.0
Row.fromMap now does: ``` data: Map<String, dynamic>.from(map["data"] ?? {}) ``` But Appwrite Cloud TablesDB row responses return custom row columns flattene...