ShibaOriginal post
Rank 3: Container
I am tring to update 3000 + database records the permissions not the data .
Dart
import 'dart:async';import 'dart:io';import 'package:dart_appwrite/dart_appwrite.dart';import 'package:starter_template/const.dart';import 'package:starter_template/models/post.dart';import 'package:starter_template/post_service.dart';
// This is your Appwrite function// It's executed each time we get a requestFuture<dynamic> main() async { // Why not try the Appwrite SDK? // final client = Client() .setEndpoint(Platform.environment['ENDPOINT']!) .setProject(Platform.environment['APPWRITE_FUNCTION_PROJECT_ID']) .setKey(Platform.environment['APPWRITE_API_KEY']); final databases = Databases(client); final x = await PostService(database: databases).getAllPosts(); print(x.length); List<Future> futures = []; for (var i = 0; i < x.length; i++) { final post = x[i];
final d = databases.updateDocument( databaseId: databaseID, collectionId: postCOL, documentId: post.id!, //data: post.toJson(), permissions: [ Permission.delete(Role.user(post.authorId!)), Permission.update(Role.user(post.authorId!)) ], ); futures.add(d); } await Future.wait(futures); exit(0);}Summary
- Update database records permissions by using pagination and creating smaller batches.
- Use the correct syntax for functions in Dart, refer to the Appwrite documentation.
- Ensure that the `Platform.environment` variables are correctly set.
- Issue could be due to attempting to update all records at once, causing a Connection Reset error.