PcoCheckInsEventQuery constructor

PcoCheckInsEventQuery(
  1. {bool includeAttendanceTypes = false,
  2. bool includeEventPeriods = false,
  3. bool includeAllRelated = false,
  4. String? whereId,
  5. String? whereName,
  6. PcoCheckInsEventFilter? filterBy,
  7. PcoCheckInsEventOrder? orderBy,
  8. bool reverse = false,
  9. int perPage = 25,
  10. int pageOffset = 0,
  11. Map<String, String> extraParams = const {},
  12. List<PlanningCenterApiWhere>? where,
  13. Iterable<String> filter = const <String>[],
  14. String? order,
  15. Iterable<String> include = const <String>[]}
)

Implementation

PcoCheckInsEventQuery({
  /// include associated attendance_types
  /// when true, adds `?include=attendance_types` to url
  bool includeAttendanceTypes = false,

  /// include associated event_periods
  /// when true, adds `?include=event_periods` to url
  bool includeEventPeriods = false,

  /// when true, adds `?include=attendance_types,event_periods` to url parameters
  bool includeAllRelated = false,

  /// Query by `id`
  /// query on a specific id, url example: ?where[id]=primary_key
  /// include a prefix of `<`, `<=`, `>`, `>=` to query by comparisons
  String? whereId,

  /// Query by `name`
  /// query on a specific name, url example: ?where[name]=string
  /// include a prefix of `<`, `<=`, `>`, `>=` to query by comparisons
  String? whereName,
  PcoCheckInsEventFilter? filterBy,
  PcoCheckInsEventOrder? 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 || includeAttendanceTypes)
    include.add('attendance_types');
  if (includeAllRelated || includeEventPeriods) include.add('event_periods');

  if (whereId != null) where.add(PlanningCenterApiWhere.parse('id', whereId));
  if (whereName != null)
    where.add(PlanningCenterApiWhere.parse('name', whereName));

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