getConfiguration method Null safety

String getConfiguration(
  1. String endpoint,
  2. [Query? query,
  3. Identifiable<String>? instance]
)

Example

  @ConnectOfflineFirstWithRest(restConfig: RestSerializable(endpoint: '=> SyncEndpointHelper.getConfiguration("runs", query, instance)'))
  class Run extends OfflineFirstWithRestModel implements Identifiable<String> {}

Implementation

static String getConfiguration(String endpoint, [Query? query, Identifiable<String>? instance]) {
  if (query?.action == QueryAction.delete) return '/$endpoint/${instance!.id}';
  if (query?.action == QueryAction.update) return '/$endpoint/${instance!.id}';

  if (query?.action == QueryAction.get && query?.where != null) {
    final id = Where.firstByField('id', query!.where)?.value;
    if (id != null) return '/$endpoint/$id';
  }

  return '/$endpoint';
}