getSingleFromResourceFolder static method

Future<PcoCalendarResource?> getSingleFromResourceFolder(
  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 single PcoCalendarResource object using a path like this: /calendar/v2/resource_folders/$resourceFolderId/resources/[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?> getSingleFromResourceFolder(
  String resourceFolderId,
  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/resource_folders/$resourceFolderId/resources/$id';
  var retval = await PcoCollection.fromApiCall<PcoCalendarResource>(url,
      query: query, apiVersion: kApiVersion);
  return retval.items.isEmpty ? null : retval.items.first;
}