getSingle static method

Future<PcoPeoplePerson?> getSingle(
  1. String id, {
  2. PcoPeoplePersonQuery? query,
  3. bool includeAllRelated = false,
  4. bool includeAddresses = false,
  5. bool includeEmails = false,
  6. bool includeFieldData = false,
  7. bool includeHouseholds = false,
  8. bool includeInactiveReason = false,
  9. bool includeMaritalStatus = false,
  10. bool includeNamePrefix = false,
  11. bool includeNameSuffix = false,
  12. bool includeOrganization = false,
  13. bool includePersonApps = false,
  14. bool includePhoneNumbers = false,
  15. bool includePlatformNotifications = false,
  16. bool includePrimaryCampus = false,
  17. bool includeSchool = false,
  18. bool includeSocialProfiles = false,
})

Will get a single PcoPeoplePerson object using a path like this: /people/v2/people/[id]

Available Query Filters:

  • admins

  • created_since filter people created in the last 24 hours; pass an additional time parameter in ISO 8601 format to specify your own timeframe

  • organization_admins

Additional options may be specified by using the query argument, but some query options are also available as boolean flags in this function call too.

Implementation

static Future<PcoPeoplePerson?> getSingle(
  String id, {
  PcoPeoplePersonQuery? query,
  bool includeAllRelated = false,
  bool includeAddresses = false,
  bool includeEmails = false,
  bool includeFieldData = false,
  bool includeHouseholds = false,
  bool includeInactiveReason = false,
  bool includeMaritalStatus = false,
  bool includeNamePrefix = false,
  bool includeNameSuffix = false,
  bool includeOrganization = false,
  bool includePersonApps = false,
  bool includePhoneNumbers = false,
  bool includePlatformNotifications = false,
  bool includePrimaryCampus = false,
  bool includeSchool = false,
  bool includeSocialProfiles = false,
}) async {
  query ??= PcoPeoplePersonQuery();
  if (includeAllRelated) query.include.addAll(PcoPeoplePerson.canInclude);
  if (includeAddresses) query.include.add('addresses');
  if (includeEmails) query.include.add('emails');
  if (includeFieldData) query.include.add('field_data');
  if (includeHouseholds) query.include.add('households');
  if (includeInactiveReason) query.include.add('inactive_reason');
  if (includeMaritalStatus) query.include.add('marital_status');
  if (includeNamePrefix) query.include.add('name_prefix');
  if (includeNameSuffix) query.include.add('name_suffix');
  if (includeOrganization) query.include.add('organization');
  if (includePersonApps) query.include.add('person_apps');
  if (includePhoneNumbers) query.include.add('phone_numbers');
  if (includePlatformNotifications)
    query.include.add('platform_notifications');
  if (includePrimaryCampus) query.include.add('primary_campus');
  if (includeSchool) query.include.add('school');
  if (includeSocialProfiles) query.include.add('social_profiles');
  var url = '/people/v2/people/$id';
  var retval = await PcoCollection.fromApiCall<PcoPeoplePerson>(url,
      query: query, apiVersion: kApiVersion);
  return retval.items.isEmpty ? null : retval.items.first;
}