void importFrontEndCfgFile()

in frontend/frontend-flutter/lib/screens/settings.dart [281:359]


  void importFrontEndCfgFile() async {
    print('Settings: importFrontEndCfgFile() : START');
    List<List<dynamic>>? rowsAsListOfValues;
    final filePickerResult = await FilePicker.platform.pickFiles(
      allowMultiple: false,
      allowedExtensions: ['json'],
      type: FileType.custom,
      dialogTitle: "Import Frontend json Config File",
    );

    if (filePickerResult != null) {
      print(
          'Settings: importFrontEndCfgFile() : fileName = ${filePickerResult.files.single.name}');
      print(
          'Settings: importFrontEndCfgFile() : size = ${filePickerResult.files.single.size}');
      //print('Settings: importFrontEndCfgFile() : path = ${filePickerResult.files.single.path}');
      Uint8List fileBytes = filePickerResult.files.single.bytes!;

      String fileContent = utf8.decode(fileBytes);

      print('Settings: importFrontEndCfgFile() : fileContent = ${fileContent}');

      var cfg = jsonDecode(fileContent);

      print('Settings: importFrontEndCfgFile() : cfg = ${cfg}');

      if (cfg != null) {
        setState(() {
          TextToDocParameter.isLoadConfig = false;
          TextToDocParameter.anonymized_data = cfg["anonymized_data"];
          TextToDocParameter.expert_mode = cfg["expert_mode"];
          TextToDocParameter.endpoint_opendataqnq = cfg["endpoint_opendataqnq"];
          TextToDocParameter.firestore_database_id = cfg["firestore_database_id"];
          TextToDocParameter.firebase_app_name = cfg["firebase_app_name"];
          TextToDocParameter.firestore_history_collection = cfg["firestore_history_collection"];
          TextToDocParameter.firestore_cfg_collection = cfg["firestore_cfg_collection"];
          TextToDocParameter.imported_questions = cfg["imported_questions"];
        });

        if (TextToDocParameter.anonymized_data != null &&
            TextToDocParameter.expert_mode != null &&
            TextToDocParameter.endpoint_opendataqnq != null &&
            TextToDocParameter.firestore_database_id != null &&
            TextToDocParameter.firebase_app_name != null &&
            TextToDocParameter.firestore_history_collection != null &&
            TextToDocParameter.firestore_cfg_collection != null &&
            TextToDocParameter.imported_questions != null
        ) {
          print('Settings: importFrontEndCfgFile() : Trying to update front_end_flutter_cfg');
          try {
            widget.db
                .collection("${TextToDocParameter.firestore_cfg_collection}")
                .doc('${TextToDocParameter.userID}')
                .set({
              "endpoint_opendataqnq":
                  "${TextToDocParameter.endpoint_opendataqnq}",
              "firestore_database_id":
                  "${TextToDocParameter.firestore_database_id}",
              "expert_mode": TextToDocParameter.expert_mode,
              "anonymized_data": TextToDocParameter.anonymized_data,
              "firebase_app_name": "${TextToDocParameter.firebase_app_name}",
              "firestore_history_collection": "${TextToDocParameter.firestore_history_collection}",
              "firestore_cfg_collection": "${TextToDocParameter.firestore_cfg_collection}",
              "imported_questions": "${TextToDocParameter.imported_questions}"
            });

            showSuccessfulUploadMsg();

          } catch (e) {
            print('Settings: importFrontEndCfgFile() : EXCEPTION : ${e}');
            displayCfgUploadErrorMsg();
          }
        } else {
          print('Settings: importFrontEndCfgFile() : some fields if cfg are null, could not update firestore_cfg_collection');
          displayCfgUploadErrorMsg();
        }
      }
    }
  }