getChanges method

Future<List<SnapdChange>> getChanges({
  1. SnapdChangeFilter? filter,
  2. String? name,
})

Get changes that have occurred / are occurring on the snap daemon. Use filter to choose which changes to receive. Use name to return only changes to the snap with that name.

Implementation

Future<List<SnapdChange>> getChanges(
    {SnapdChangeFilter? filter, String? name}) async {
  var queryParameters = <String, String>{};
  if (filter != null) {
    var value = {
      SnapdChangeFilter.all: 'all',
      SnapdChangeFilter.inProgress: 'in-progress',
      SnapdChangeFilter.ready: 'ready'
    }[filter];
    if (value != null) {
      queryParameters['select'] = value;
    }
  }
  if (name != null) {
    queryParameters['for'] = name;
  }
  var result = await _getSync('/v2/changes', queryParameters);
  var changes = <SnapdChange>[];
  for (var change in result) {
    changes.add(SnapdChange.fromJson(change));
  }
  return changes;
}