duplicate_item_in_array function

dynamic duplicate_item_in_array({
  1. required String document_id,
  2. required String collection_id,
  3. required String field_key,
  4. required int index,
  5. required int times,
  6. required Function callback,
})

Implementation

duplicate_item_in_array({
  required String document_id,
  required String collection_id,
  required String field_key,
  required int index,
  required int times,
  required Function callback,
}) async {
  await FirebaseFirestore.instance
      .collection(collection_id)
      .doc(document_id)
      .get()
      .then((document_snapshot) {
    Map<String, dynamic> original_field_value =
        document_snapshot.data()![field_key][index];

    List new_array = document_snapshot.data()![field_key];

    for (var i = 0; i < times; i++) {
      new_array.add(original_field_value);
    }

    document_snapshot.reference.update({field_key: new_array});

    callback();
  });
}