PcoServicesTeamQuery constructor

PcoServicesTeamQuery({
  1. bool includePeople = false,
  2. bool includePersonTeamPositionAssignments = false,
  3. bool includeServiceType = false,
  4. bool includeTeamLeaders = false,
  5. bool includeTeamPositions = false,
  6. bool includeAllRelated = false,
  7. String? whereName,
  8. PcoServicesTeamOrder? 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

PcoServicesTeamQuery({
  /// include associated people
  /// when true, adds `?include=people` to url
  bool includePeople = false,

  /// include associated person_team_position_assignments
  /// when true, adds `?include=person_team_position_assignments` to url
  bool includePersonTeamPositionAssignments = false,

  /// include associated service_type
  /// when true, adds `?include=service_type` to url
  bool includeServiceType = false,

  /// include associated team_leaders
  /// when true, adds `?include=team_leaders` to url
  bool includeTeamLeaders = false,

  /// include associated team_positions
  /// when true, adds `?include=team_positions` to url
  bool includeTeamPositions = false,

  /// when true, adds `?include=people,person_team_position_assignments,service_type,team_leaders,team_positions` to url parameters
  bool includeAllRelated = false,

  /// Query by `name`
  /// query on a specific name, url example: ?where[name]=string
  /// include a prefix of `<`, `<=`, `>`, `>=` to query by comparisons
  String? whereName,
  PcoServicesTeamOrder? 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 (includeAllRelated || includePeople) include.add('people');
  if (includeAllRelated || includePersonTeamPositionAssignments)
    include.add('person_team_position_assignments');
  if (includeAllRelated || includeServiceType) include.add('service_type');
  if (includeAllRelated || includeTeamLeaders) include.add('team_leaders');
  if (includeAllRelated || includeTeamPositions)
    include.add('team_positions');

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

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