PcoPeoplePerson constructor

PcoPeoplePerson({
  1. String? id,
  2. String? givenName,
  3. String? firstName,
  4. String? nickname,
  5. String? middleName,
  6. String? lastName,
  7. String? birthdate,
  8. String? anniversary,
  9. String? gender,
  10. int? grade,
  11. bool? isChild,
  12. int? graduationYear,
  13. bool? isSiteAdministrator,
  14. bool? isAccountingAdministrator,
  15. String? peoplePermissions,
  16. String? membership,
  17. DateTime? inactivatedAt,
  18. String? status,
  19. String? medicalNotes,
  20. DateTime? createdAt,
  21. DateTime? updatedAt,
  22. String? avatar,
  23. String? name,
  24. String? demographicAvatarUrl,
  25. String? directoryStatus,
  26. bool? isPassedBackgroundCheck,
  27. bool? isCanCreateForms,
  28. String? schoolType,
  29. int? remoteId,
  30. String? searchName,
  31. String? searchPhoneNumber,
  32. String? searchPhoneNumberE164,
  33. String? searchNameOrEmail,
  34. String? searchNameOrEmailOrPhoneNumber,
  35. String? primaryCampusId,
  36. String? genderId,
  37. Map<String, List<PcoResource>>? withRelationships,
  38. List<PcoResource>? withIncluded,
})

Create a new PcoPeoplePerson object using this endpoint: https://api.planningcenteronline.com/people/v2/people

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: givenName, firstName, nickname, middleName, lastName, birthdate, anniversary, gender, grade, isChild, graduationYear, isSiteAdministrator, isAccountingAdministrator, peoplePermissions, membership, inactivatedAt, status, medicalNotes, avatar, primaryCampusId, genderId, remoteId
  • FIELDS USED WHEN UPDATING: givenName, firstName, nickname, middleName, lastName, birthdate, anniversary, gender, grade, isChild, graduationYear, isSiteAdministrator, isAccountingAdministrator, peoplePermissions, membership, inactivatedAt, status, medicalNotes, avatar, primaryCampusId, genderId, remoteId

Implementation

factory PcoPeoplePerson(
    {String? id,
    String? givenName,
    String? firstName,
    String? nickname,
    String? middleName,
    String? lastName,
    String? birthdate,
    String? anniversary,
    String? gender,
    int? grade,
    bool? isChild,
    int? graduationYear,
    bool? isSiteAdministrator,
    bool? isAccountingAdministrator,
    String? peoplePermissions,
    String? membership,
    DateTime? inactivatedAt,
    String? status,
    String? medicalNotes,
    DateTime? createdAt,
    DateTime? updatedAt,
    String? avatar,
    String? name,
    String? demographicAvatarUrl,
    String? directoryStatus,
    bool? isPassedBackgroundCheck,
    bool? isCanCreateForms,
    String? schoolType,
    int? remoteId,
    String? searchName,
    String? searchPhoneNumber,
    String? searchPhoneNumberE164,
    String? searchNameOrEmail,
    String? searchNameOrEmailOrPhoneNumber,
    String? primaryCampusId,
    String? genderId,
    Map<String, List<PcoResource>>? withRelationships,
    List<PcoResource>? withIncluded}) {
  var obj = PcoPeoplePerson.empty();
  obj._id = id;
  obj._apiPathOverride =
      'https://api.planningcenteronline.com/people/v2/people';
  if (givenName != null) obj._attributes['given_name'] = givenName;
  if (firstName != null) obj._attributes['first_name'] = firstName;
  if (nickname != null) obj._attributes['nickname'] = nickname;
  if (middleName != null) obj._attributes['middle_name'] = middleName;
  if (lastName != null) obj._attributes['last_name'] = lastName;
  if (birthdate != null) obj._attributes['birthdate'] = birthdate;
  if (anniversary != null) obj._attributes['anniversary'] = anniversary;
  if (gender != null) obj._attributes['gender'] = gender;
  if (grade != null) obj._attributes['grade'] = grade;
  if (isChild != null) obj._attributes['child'] = isChild;
  if (graduationYear != null)
    obj._attributes['graduation_year'] = graduationYear;
  if (isSiteAdministrator != null)
    obj._attributes['site_administrator'] = isSiteAdministrator;
  if (isAccountingAdministrator != null)
    obj._attributes['accounting_administrator'] = isAccountingAdministrator;
  if (peoplePermissions != null)
    obj._attributes['people_permissions'] = peoplePermissions;
  if (membership != null) obj._attributes['membership'] = membership;
  if (inactivatedAt != null)
    obj._attributes['inactivated_at'] = inactivatedAt.toIso8601String();
  if (status != null) obj._attributes['status'] = status;
  if (medicalNotes != null) obj._attributes['medical_notes'] = medicalNotes;
  if (createdAt != null)
    obj._attributes['created_at'] = createdAt.toIso8601String();
  if (updatedAt != null)
    obj._attributes['updated_at'] = updatedAt.toIso8601String();
  if (avatar != null) obj._attributes['avatar'] = avatar;
  if (name != null) obj._attributes['name'] = name;
  if (demographicAvatarUrl != null)
    obj._attributes['demographic_avatar_url'] = demographicAvatarUrl;
  if (directoryStatus != null)
    obj._attributes['directory_status'] = directoryStatus;
  if (isPassedBackgroundCheck != null)
    obj._attributes['passed_background_check'] = isPassedBackgroundCheck;
  if (isCanCreateForms != null)
    obj._attributes['can_create_forms'] = isCanCreateForms;
  if (schoolType != null) obj._attributes['school_type'] = schoolType;
  if (remoteId != null) obj._attributes['remote_id'] = remoteId;
  if (searchName != null) obj._attributes['search_name'] = searchName;
  if (searchPhoneNumber != null)
    obj._attributes['search_phone_number'] = searchPhoneNumber;
  if (searchPhoneNumberE164 != null)
    obj._attributes['search_phone_number_e164'] = searchPhoneNumberE164;
  if (searchNameOrEmail != null)
    obj._attributes['search_name_or_email'] = searchNameOrEmail;
  if (searchNameOrEmailOrPhoneNumber != null)
    obj._attributes['search_name_or_email_or_phone_number'] =
        searchNameOrEmailOrPhoneNumber;
  if (primaryCampusId != null)
    obj._attributes['primary_campus_id'] = primaryCampusId;
  if (genderId != null) obj._attributes['gender_id'] = genderId;

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