create method

  1. @override
Future<T?> create(
  1. String? correlationId,
  2. T? item
)
override

Creates a data item.

  • correlation_id (optional) transaction id to trace execution through call chain.
  • item an item to be created. Return Future that receives created item Throws error.

Implementation

@override
Future<T?> create(String? correlationId, T? item) async {
  if (item == null) {
    return null;
  }
  var jsonMap = convertFromPublic(item, createUid: true);
  var result = jsonMap != null ? await collection?.insertOne(jsonMap) : null;
  if (result != null && result.ok == 1.0) {
    logger.trace(correlationId, 'Created in %s with id = %s',
        [collectionName, jsonMap!['_id']]);

    return convertToPublic(jsonMap);
  }
  return null;
}