PcoPeopleFieldDefinition constructor

PcoPeopleFieldDefinition({
  1. required String tabId,
  2. String? id,
  3. String? dataType,
  4. String? name,
  5. int? sequence,
  6. String? slug,
  7. String? config,
  8. DateTime? deletedAt,
  9. Map<String, List<PcoResource>>? withRelationships,
  10. List<PcoResource>? withIncluded,
})

Create a new PcoPeopleFieldDefinition object using this endpoint: https://api.planningcenteronline.com/people/v2/tabs/$tabId/field_definitions

NOTES:

  • Creating an instance of a class this way does not save it on the server.
  • Call save() on the object to save it to the server.
  • Only set the id field if you know what you are doing. Save operations will overwrite data when the id is set.
  • Dummy data can be supplied for a required parameter, but if so, .save() should not be called on the object
  • FIELDS USED WHEN CREATING: dataType, name, sequence, slug, config, deletedAt
  • FIELDS USED WHEN UPDATING: dataType, name, sequence, slug, config, deletedAt

Implementation

factory PcoPeopleFieldDefinition(
    {required String tabId,
    String? id,
    String? dataType,
    String? name,
    int? sequence,
    String? slug,
    String? config,
    DateTime? deletedAt,
    Map<String, List<PcoResource>>? withRelationships,
    List<PcoResource>? withIncluded}) {
  var obj = PcoPeopleFieldDefinition.empty();
  obj._id = id;
  obj._apiPathOverride =
      'https://api.planningcenteronline.com/people/v2/tabs/$tabId/field_definitions';
  obj._attributes['tab_id'] = tabId;
  if (dataType != null) obj._attributes['data_type'] = dataType;
  if (name != null) obj._attributes['name'] = name;
  if (sequence != null) obj._attributes['sequence'] = sequence;
  if (slug != null) obj._attributes['slug'] = slug;
  if (config != null) obj._attributes['config'] = config;
  if (deletedAt != null)
    obj._attributes['deleted_at'] = deletedAt.toIso8601String();

  if (withRelationships != null) {
    for (var r in withRelationships.entries) {
      obj._relationships[r.key] = r.value;
    }
    obj._hasManualRelationships = true;
  }

  if (withIncluded != null) {
    obj._included.addAll(withIncluded);
    obj._hasManualIncluded = true;
  }

  return obj;
}