getFromServiceTypeAndTeamPosition static method

Future<PcoCollection<PcoServicesPersonTeamPositionAssignment>> getFromServiceTypeAndTeamPosition(
  1. String serviceTypeId,
  2. String teamPositionId, {
  3. String? id,
  4. PcoServicesPersonTeamPositionAssignmentQuery? query,
  5. bool getAll = false,
  6. bool includeAllRelated = false,
  7. bool includePerson = false,
  8. bool includeTeamPosition = false,
})

Will get a PcoCollection of PcoServicesPersonTeamPositionAssignment objects (expecting many) using a path like this: /services/v2/service_types/$serviceTypeId/team_positions/$teamPositionId/person_team_position_assignments

Available Query Filters:

  • time_preference_options pass an additonal array of time_preference_option_ids as a param to filter to people who prefer those times.use id 'none' to filter people who have no preferred times

Getting a PcoCollection is useful even when retrieving a single object because it contains error data and helper functions.

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<PcoCollection<PcoServicesPersonTeamPositionAssignment>>
    getFromServiceTypeAndTeamPosition(
  String serviceTypeId,
  String teamPositionId, {
  String? id,
  PcoServicesPersonTeamPositionAssignmentQuery? query,
  bool getAll = false,
  bool includeAllRelated = false,
  bool includePerson = false,
  bool includeTeamPosition = false,
}) async {
  query ??= PcoServicesPersonTeamPositionAssignmentQuery();
  if (getAll) query.getAll = true;
  if (includeAllRelated)
    query.include.addAll(PcoServicesPersonTeamPositionAssignment.canInclude);
  if (includePerson) query.include.add('person');
  if (includeTeamPosition) query.include.add('team_position');
  var url =
      '/services/v2/service_types/$serviceTypeId/team_positions/$teamPositionId/person_team_position_assignments';
  if (id != null) url += '/$id';
  return PcoCollection.fromApiCall<PcoServicesPersonTeamPositionAssignment>(
      url,
      query: query,
      apiVersion: kApiVersion);
}