create method

  1. @override
Future<Map<String, dynamic>> create(
  1. Map<String, dynamic> data, [
  2. Map<String, dynamic>? params
])

Creates a resource.

Implementation

@override
Future<Map<String, dynamic>> create(
  Map<String, dynamic> data, [
  Map<String, dynamic>? params,
]) async {
  // The service manages the id and timestamps, so a client cannot set them.
  var now = DateTime.now().toIso8601String();
  var item = _removeSensitive(data)
    ..['createdAt'] = now
    ..['updatedAt'] = now;

  try {
    var result = await collection.insertOne(item);
    return _jsonify(result.document ?? item);
  } catch (e, st) {
    throw AngelHttpException(error: e, stackTrace: st);
  }
}