getSingleFromRoomSetupAndResourceSuggestion static method

Future<PcoCalendarResource?> getSingleFromRoomSetupAndResourceSuggestion(
  1. String roomSetupId,
  2. String resourceSuggestionId,
  3. String id, {
  4. PcoCalendarResourceQuery? query,
  5. bool includeAllRelated = false,
  6. bool includeResourceApprovalGroups = false,
  7. bool includeResourceFolder = false,
  8. bool includeResourceQuestions = false,
  9. bool includeRoomSetups = false,
})

Will get a single PcoCalendarResource object using a path like this: /calendar/v2/room_setups/$roomSetupId/resource_suggestions/$resourceSuggestionId/resource/[id]

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<PcoCalendarResource?>
    getSingleFromRoomSetupAndResourceSuggestion(
  String roomSetupId,
  String resourceSuggestionId,
  String id, {
  PcoCalendarResourceQuery? query,
  bool includeAllRelated = false,
  bool includeResourceApprovalGroups = false,
  bool includeResourceFolder = false,
  bool includeResourceQuestions = false,
  bool includeRoomSetups = false,
}) async {
  query ??= PcoCalendarResourceQuery();
  if (includeAllRelated) query.include.addAll(PcoCalendarResource.canInclude);
  if (includeResourceApprovalGroups)
    query.include.add('resource_approval_groups');
  if (includeResourceFolder) query.include.add('resource_folder');
  if (includeResourceQuestions) query.include.add('resource_questions');
  if (includeRoomSetups) query.include.add('room_setups');
  var url =
      '/calendar/v2/room_setups/$roomSetupId/resource_suggestions/$resourceSuggestionId/resource/$id';
  var retval = await PcoCollection.fromApiCall<PcoCalendarResource>(url,
      query: query, apiVersion: kApiVersion);
  return retval.items.isEmpty ? null : retval.items.first;
}