getAllFromResourceFolder static method

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

Will get a PcoCollection containing ALL PcoCalendarResource objects (expecting many) using a path like this: /calendar/v2/resource_folders/$resourceFolderId/resources

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.

This function forces the query.getAll to be true.

Implementation

static Future<PcoCollection<PcoCalendarResource>> getAllFromResourceFolder(
  String resourceFolderId, {
  String? id,
  PcoCalendarResourceQuery? query,
  bool includeAllRelated = false,
  bool includeResourceApprovalGroups = false,
  bool includeResourceFolder = false,
  bool includeResourceQuestions = false,
  bool includeRoomSetups = false,
}) async {
  query ??= PcoCalendarResourceQuery();
  query.getAll = true;
  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/resource_folders/$resourceFolderId/resources';
  if (id != null) url += '/$id';
  return PcoCollection.fromApiCall<PcoCalendarResource>(url,
      query: query, apiVersion: kApiVersion);
}