setDeviceAssociations method

Future<void> setDeviceAssociations(
  1. String? orgId
)

Sets the device associations for the doctor. orgId is the organization ID.

Implementation

Future<void> setDeviceAssociations(String? orgId) async {
  try {
    final result = await databases.listDocuments(
      databaseId: AppConstants.appwriteDatabaseId,
      collectionId: AppConstants.userCollectionId,
      queries: [
        Query.equal('type', 'device'),
        Query.equal('organizationId', orgId),
      ],
    );

    for (final doc in result.documents) {
      final docId = doc.$id;
      final data = Map<String, dynamic>.from(doc.data);

      final Map<String, dynamic> associationData = {
        "name": widget.doctor!.name,
        "type": "doctor",
        "id": widget.doctor!.documentId
      };

      final associations = Map<String, dynamic>.from(data['associations'] ?? {});
      associations[widget.doctor!.documentId!] = associationData;

      await databases.updateDocument(
        databaseId: 'your_database_id',
        collectionId: 'users',
        documentId: docId,
        data: {'associations': associations},
      );
    }
  } catch (e) {
    debugPrint("setDeviceAssociations error: $e");
  }
}