update method

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

Overwrites a resource.

Implementation

@override
Future<Map<String, dynamic>> update(String id, Map<String, dynamic> data,
    [Map<String, dynamic>? params]) async {
  var result = _removeSensitive(data);
  result['_id'] = _makeId(id);
  /*result['createdAt'] =
      target is Map ? target['createdAt'] : target.createdAt;

  if (result['createdAt'] is DateTime)
    result['createdAt'] = result['createdAt'].toIso8601String();

  result['updatedAt'] = new DateTime.now().toIso8601String();*/

  try {
    var updated = await (collection.findAndModify(
        query: where.id(_makeId(id)),
        update: result,
        returnNew: true,
        upsert: true) as FutureOr<Map<String, dynamic>>);
    result = _jsonify(updated, params);
    result['id'] = _makeId(id).toHexString();
    return result;
  } catch (e, st) {
    //printDebug(e, st, 'UPDATE');
    throw AngelHttpException(stackTrace: st);
  }
}