[SOLVED] Add user permission in the document created using functions
- 0
- Resolved
- Databases
- Flutter
- Functions
Im really sorry but its actually under NDA so wont be possible
lemme try sharing code by removing some part and so
import 'dart:convert';
import 'package:dart_appwrite/dart_appwrite.dart';
Future<void> start(final req, final res) async {
try {
final client = Client()
.setEndpoint('...')
.setProject(Constants.projectId)
.setKey('...')
.setSelfSigned(status: true);
final database = Databases(client);
final payload = req.payload;
final userId = res.variables['APPWRITE_FUNCTION_USER_ID'];
final ... = await database.createDocument(
databaseId: '...',
collectionId: '...',
documentId: '...',
permissions: [
Permission.read(Role.user(userId)),
Permission.update(Role.user(userId)),
Permission.delete(Role.user(userId)),
Permission.create(Role.user(userId)),
],
data: {...}
);
} catch (e) {
res.json({'error': e});
}
}
Would this be enough?
Can you add st to the catch and share it?
} catch (e,st) {
res.json({'error': e,'st':st});
}
Oh Wait a sec
Can you change it to req instead of res?
-res.variables['APPWRITE_FUNCTION_USER_ID'];
+req.variables['APPWRITE_FUNCTION_USER_ID'];
lemme try that
Nope
but now it is giving this error
Converting object to an encodable object failed: Instance of 'AppwriteException'
With what stacktrace?
And upon looking at logs of appwrite
Message: Invalid permissions: Permission "create("user:64ac3b8cf403a8b2ab32")" is not allowed. Must be one of: read, update, delete, write.
this is the exact error
Yes, you shouldn't put create one
You can see in the example
Here
Well, that did worked, but now the permissions in db are duplicated somehow
"read(user:64ac3b8cf403a8b2ab32)", "update(user:64ac3b8cf403a8b2ab32)", "delete(user:64ac3b8cf403a8b2ab32)", "update(user:64ac3b8cf403a8b2ab32)", "delete(user:64ac3b8cf403a8b2ab32)"
this is the response
Yes, I think you can just give the write permission
permissions: [
Permission.write(Role.user(userId)),
],
Or write + read
permissions: [
Permission.read(Role.user(userId)),
Permission.write(Role.user(userId)),
],
Try it
Lemme try it
Thanks a lot, was able to solve it
[SOLVED] Add user permission in the document created using functions
Recommended threads
- Bulk API limitations in self-hosted serv...
Environment: Appwrite Selfhost SDK: node-appwrite 28.0 Calling `upsertRows` (also applies to `createRows`/`updateRows`/`deleteRows`) with more than 100 rows fa...
- Android SDK: Kotlin null Value Not Updat...
Hi team, I think you should check the Android SDK implementation once, as it seems to have an issue handling Kotlin **null** values. For example: When I send:...
- IMPORTANT! SOC-2 Request Failing
Issue requesting SOC-2. If tried other/private browser as well as filling in optional fields.