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
- Couldnt not do appwrite push tables
Not sure why i am not able to create my tables
- SELF HOSTING ISSUE, DATA NOT MIGRATING T...
Hey, devs, I recently tried to migrate my cloud instance to a self hosted version but my data is not transferred fully only the table structure is transferred ...
- No Document ID?
Hi I have a self hosted appwrite. My documents get a document ID but are not visible in the console. I don't know why this happens and how to fix this