create method

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

Creates a data item.

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

Implementation

Future<T?> create(String? correlationId, T item) async {
  var clone_item;
  if (item is ICloneable) {
    clone_item = (item).clone();
  } else {
    var jsonMap = json.decode(json.encode(item));
    clone_item = TypeReflector.createInstanceByType(T, []);
    clone_item.fromJson(jsonMap);
  }

  items.add(clone_item);
  logger.trace(correlationId, 'Created item %s', [clone_item.id]);
  await save(correlationId);
  return clone_item;
}