getSingleFromServiceTypeAndPlanTemplate static method
Future<PcoServicesItem?>
getSingleFromServiceTypeAndPlanTemplate(
- String serviceTypeId,
- String planTemplateId,
- String id, {
- PcoServicesItemQuery? query,
- bool includeAllRelated = false,
- bool includeArrangement = false,
- bool includeItemNotes = false,
- bool includeItemTimes = false,
- bool includeKey = false,
- bool includeMedia = false,
- bool includeSelectedAttachment = false,
- bool includeSong = false,
Will get a single PcoServicesItem
object
using a path like this: /services/v2/service_types/$serviceTypeId/plan_templates/$planTemplateId/items/[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<PcoServicesItem?> getSingleFromServiceTypeAndPlanTemplate(
String serviceTypeId,
String planTemplateId,
String id, {
PcoServicesItemQuery? query,
bool includeAllRelated = false,
bool includeArrangement = false,
bool includeItemNotes = false,
bool includeItemTimes = false,
bool includeKey = false,
bool includeMedia = false,
bool includeSelectedAttachment = false,
bool includeSong = false,
}) async {
query ??= PcoServicesItemQuery();
if (includeAllRelated) query.include.addAll(PcoServicesItem.canInclude);
if (includeArrangement) query.include.add('arrangement');
if (includeItemNotes) query.include.add('item_notes');
if (includeItemTimes) query.include.add('item_times');
if (includeKey) query.include.add('key');
if (includeMedia) query.include.add('media');
if (includeSelectedAttachment) query.include.add('selected_attachment');
if (includeSong) query.include.add('song');
var url =
'/services/v2/service_types/$serviceTypeId/plan_templates/$planTemplateId/items/$id';
var retval = await PcoCollection.fromApiCall<PcoServicesItem>(url,
query: query, apiVersion: kApiVersion);
return retval.items.isEmpty ? null : retval.items.first;
}