PcoCalendarConflictQuery constructor

PcoCalendarConflictQuery({
  1. bool includeResolvedBy = false,
  2. bool includeResource = false,
  3. bool includeWinner = false,
  4. bool includeAllRelated = false,
  5. PcoCalendarConflictFilter? filterBy,
  6. PcoCalendarConflictOrder? orderBy,
  7. bool reverse = false,
  8. int perPage = 25,
  9. int pageOffset = 0,
  10. Map<String, String> extraParams = const {},
  11. List<PlanningCenterApiWhere>? where,
  12. Iterable<String> filter = const <String>[],
  13. String? order,
  14. Iterable<String> include = const <String>[],
})

Implementation

PcoCalendarConflictQuery({
  /// include associated resolved_by
  /// when true, adds `?include=resolved_by` to url
  bool includeResolvedBy = false,

  /// include associated resource
  /// when true, adds `?include=resource` to url
  bool includeResource = false,

  /// include associated winner
  /// when true, adds `?include=winner` to url
  bool includeWinner = false,

  /// when true, adds `?include=resolved_by,resource,winner` to url parameters
  bool includeAllRelated = false,
  PcoCalendarConflictFilter? filterBy,
  PcoCalendarConflictOrder? orderBy,

  /// reverse the ordering
  bool reverse = false,

  // direct access to super class params
  super.perPage,
  super.pageOffset,
  super.extraParams,
  super.where,
  super.filter,
  super.order,
  super.include,
}) : super() {
  if (filterBy != null) filter.add(filterString(filterBy));
  if (includeAllRelated || includeResolvedBy) include.add('resolved_by');
  if (includeAllRelated || includeResource) include.add('resource');
  if (includeAllRelated || includeWinner) include.add('winner');

  if (orderBy != null) order = orderString(orderBy, reverse: reverse);
}