PcoPeopleFieldDatumQuery constructor

PcoPeopleFieldDatumQuery({
  1. bool includeFieldDefinition = false,
  2. bool includeFieldOption = false,
  3. bool includeTab = false,
  4. bool includeAllRelated = false,
  5. String? whereFile,
  6. String? whereFileContentType,
  7. String? whereFileName,
  8. String? whereFileSize,
  9. String? whereValue,
  10. String? whereFieldDefinitionId,
  11. PcoPeopleFieldDatumOrder? orderBy,
  12. bool reverse = false,
  13. int perPage = 25,
  14. int pageOffset = 0,
  15. Map<String, String> extraParams = const {},
  16. List<PlanningCenterApiWhere>? where,
  17. Iterable<String> filter = const <String>[],
  18. String? order,
  19. Iterable<String> include = const <String>[],
})

Implementation

PcoPeopleFieldDatumQuery({
  /// include associated field_definition
  /// when true, adds `?include=field_definition` to url
  bool includeFieldDefinition = false,

  /// include associated field_option
  /// when true, adds `?include=field_option` to url
  bool includeFieldOption = false,

  /// include associated tab
  /// when true, adds `?include=tab` to url
  bool includeTab = false,

  /// when true, adds `?include=field_definition,field_option,tab` to url parameters
  bool includeAllRelated = false,

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

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

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

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

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

  /// Query by `field_definition_id`
  /// query on a specific field definition, url example: ?where[field_definition_id]=string
  /// include a prefix of `<`, `<=`, `>`, `>=` to query by comparisons
  String? whereFieldDefinitionId,
  PcoPeopleFieldDatumOrder? 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 || includeFieldDefinition)
    include.add('field_definition');
  if (includeAllRelated || includeFieldOption) include.add('field_option');
  if (includeAllRelated || includeTab) include.add('tab');

  if (whereFile != null)
    where.add(PlanningCenterApiWhere.parse('file', whereFile));
  if (whereFileContentType != null)
    where.add(PlanningCenterApiWhere.parse(
        'file_content_type', whereFileContentType));
  if (whereFileName != null)
    where.add(PlanningCenterApiWhere.parse('file_name', whereFileName));
  if (whereFileSize != null)
    where.add(PlanningCenterApiWhere.parse('file_size', whereFileSize));
  if (whereValue != null)
    where.add(PlanningCenterApiWhere.parse('value', whereValue));
  if (whereFieldDefinitionId != null)
    where.add(PlanningCenterApiWhere.parse(
        'field_definition_id', whereFieldDefinitionId));

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