PcoPeopleNote constructor

PcoPeopleNote({
  1. required String personId,
  2. String? id,
  3. String? note,
  4. DateTime? createdAt,
  5. DateTime? updatedAt,
  6. DateTime? displayDate,
  7. String? noteCategoryId,
  8. String? organizationId,
  9. String? createdById,
  10. Map<String, List<PcoResource>>? withRelationships,
  11. List<PcoResource>? withIncluded,
})

Create a new PcoPeopleNote object using this endpoint: https://api.planningcenteronline.com/people/v2/people/$personId/notes

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: note, createdAt, updatedAt, displayDate, noteCategoryId
  • FIELDS USED WHEN UPDATING: note, createdAt, updatedAt, displayDate, noteCategoryId

Implementation

factory PcoPeopleNote(
    {required String personId,
    String? id,
    String? note,
    DateTime? createdAt,
    DateTime? updatedAt,
    DateTime? displayDate,
    String? noteCategoryId,
    String? organizationId,
    String? createdById,
    Map<String, List<PcoResource>>? withRelationships,
    List<PcoResource>? withIncluded}) {
  var obj = PcoPeopleNote.empty();
  obj._id = id;
  obj._apiPathOverride =
      'https://api.planningcenteronline.com/people/v2/people/$personId/notes';
  obj._attributes['person_id'] = personId;
  if (note != null) obj._attributes['note'] = note;
  if (createdAt != null)
    obj._attributes['created_at'] = createdAt.toIso8601String();
  if (updatedAt != null)
    obj._attributes['updated_at'] = updatedAt.toIso8601String();
  if (displayDate != null)
    obj._attributes['display_date'] = displayDate.toIso8601String();
  if (noteCategoryId != null)
    obj._attributes['note_category_id'] = noteCategoryId;
  if (organizationId != null)
    obj._attributes['organization_id'] = organizationId;
  if (createdById != null) obj._attributes['created_by_id'] = createdById;

  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;
}