PcoPeopleWorkflowCardQuery constructor

PcoPeopleWorkflowCardQuery({
  1. bool includeAssignee = false,
  2. bool includeCurrentStep = false,
  3. bool includePerson = false,
  4. bool includeWorkflow = false,
  5. bool includeAllRelated = false,
  6. String? whereStage,
  7. PcoPeopleWorkflowCardFilter? filterBy,
  8. PcoPeopleWorkflowCardOrder? orderBy,
  9. bool reverse = false,
  10. int perPage = 25,
  11. int pageOffset = 0,
  12. Map<String, String> extraParams = const {},
  13. List<PlanningCenterApiWhere>? where,
  14. Iterable<String> filter = const <String>[],
  15. String? order,
  16. Iterable<String> include = const <String>[],
})

Implementation

PcoPeopleWorkflowCardQuery({
  /// include associated assignee
  /// when true, adds `?include=assignee` to url
  bool includeAssignee = false,

  /// include associated current_step
  /// when true, adds `?include=current_step` to url
  bool includeCurrentStep = false,

  /// include associated person
  /// when true, adds `?include=person` to url
  bool includePerson = false,

  /// include associated workflow
  /// when true, adds `?include=workflow` to url
  bool includeWorkflow = false,

  /// when true, adds `?include=assignee,current_step,person,workflow` to url parameters
  bool includeAllRelated = false,

  /// Query by `stage`
  /// query on a specific stage, url example: ?where[stage]=string
  /// include a prefix of `<`, `<=`, `>`, `>=` to query by comparisons
  String? whereStage,
  PcoPeopleWorkflowCardFilter? filterBy,
  PcoPeopleWorkflowCardOrder? 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 || includeAssignee) include.add('assignee');
  if (includeAllRelated || includeCurrentStep) include.add('current_step');
  if (includeAllRelated || includePerson) include.add('person');
  if (includeAllRelated || includeWorkflow) include.add('workflow');

  if (whereStage != null)
    where.add(PlanningCenterApiWhere.parse('stage', whereStage));

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