createDuplicateIn<T extends DuplicateDatabaseObject> method

Future<T> createDuplicateIn<T extends DuplicateDatabaseObject>(
  1. CollectionReference<Object?> c,
  2. T creator()
)

Implementation

Future<T> createDuplicateIn<T extends DuplicateDatabaseObject>(
    CollectionReference c, T Function() creator) async {
  if (!isMainObject) {
    throw 'Only main object can create duplicates';
  }
  T duplicate = creator();
  duplicate.fromMap(toMap());
  await duplicate.create(c);
  duplicateRefs.add(duplicate.ref!);
  await ref!.update({'duplicateRefs': duplicateRefs});
  return duplicate;
}