TypeScript
Future<ConsultationThread> createThread({
required String memberId,
required String consultationId,
required String message,
}) async {
try {
_logger.info('Create Thread for $memberId in $consultationId');
final user = await account.get();
final response = await databases.createDocument(
databaseId: consultationThreadCredential.databaseId,
collectionId: consultationThreadCredential.collectionId,
documentId: app.ID.unique(),
data: {
'id': app.ID.unique(),
'consultRef': consultationId,
'authorRef': memberId,
'author': memberId,
'message': message,
},
permissions: [
app.Permission.read(
app.Role.team(
consultationId,
ConsultPermission.threadRead.code,
),
),
app.Permission.read(
app.Role.team(
consultationId,
'owner',
),
),
app.Permission.write(
app.Role.user(user.$id),
),
],
);
_logger.info('Created Thread for $memberId in $consultationId');
return ConsultationThread.fromJson(response.data);
} on app.AppwriteException catch (e, stackTrace) {
_logger.severe(e.message, e, stackTrace);
throw CreateThreadException(
e.message ?? 'Something went wrong, please try again later',
stackTrace,
);
} catch (e, stackTrace) {
_logger.severe(e.toString(), e, stackTrace);
throw CreateThreadException(
e.toString(),
stackTrace,
);
}
}
TL;DR
The user wants to know if they are allowed to set the permission for Role team. In this case, they are trying to set permissions for a thread in an app. The solution provided is to create an appwrite function to set the permissions. The code snippet provided shows how to create the thread and set the permissions using the appwrite library.A user cannot put a role they don't have.
So instead you will need to create an appwrite function in order to set it
is this same to the storage permission?
Yes
Recommended threads
- Failed to generate functions SSL
```appwrite-worker-certificates | Cannot renew domain (functions.domain.com) on attempt no. 9 certificate: Failed to verify domain DNS records. appwrite-worker...
- Query multi-tenant db with $permissions ...
I'm setting up a multi-tenant database with RLS enabled. My users my have permissions set for multiple Teams, and as such when they query the database with the ...
- Realtime for files() works almost well, ...
I have been trying to make use of realtime, today (14.03.26) I have pulled all the latest versions of docker images, and sdk available. Whats working: - Conn...