PcoCalendarEvent class Null safety
This class represents a PCO Calendar Event Object
- Application: calendar
- Id: event
- Type: Event
- ApiVersion: 2021-07-20
- Is Deprecated: false
- Is Collection Only: false
- Default Endpoint: https://api.planningcenteronline.com/calendar/v2/events
- Create Endpoint: NONE
Instantiation
- This object cannot be created through the API.
- Instantiate from existing
JSON
data using thePcoCalendarEvent.fromJson()
constructor. - Load an instance from the API using one of the static methods defined on this class.
Usage
- Fields exposed by the API are readable through getter methods.
- Fields writable by the API are exposed through setter methods.
- Original
json
data is exposed through the read-onlyattributes
map. - Additional data is available through the read-only
links
andrelationships
maps. - Available relationships / includes are exposed through typed getters.
Description
An event.
May contain information such as who owns the event, visibility on Church Center and a public-facing summary.
Attributes (and permissions)
id
(ro) -> PCO:id
approvalStatus
(ro) -> PCO:approval_status
createdAt
(ro) -> PCO:created_at
description
(ro) -> PCO:description
imageUrl
(ro) -> PCO:image_url
name
(ro) -> PCO:name
percentApproved
(ro) -> PCO:percent_approved
percentRejected
(ro) -> PCO:percent_rejected
registrationUrl
(ro) -> PCO:registration_url
summary
(ro) -> PCO:summary
updatedAt
(ro) -> PCO:updated_at
isVisibleInChurchCenter
(ro) -> PCO:visible_in_church_center
Edges and Actions
Outbound Edges:
attachment-event-attachments
: https://api.planningcenteronline.com/calendar/v2/events/1/attachmentsconflict-event-conflicts
: https://api.planningcenteronline.com/calendar/v2/events/1/conflictseventinstance-event-event_instances
: https://api.planningcenteronline.com/calendar/v2/events/1/event_instanceseventresourcerequest-event-event_resource_requests
: https://api.planningcenteronline.com/calendar/v2/events/1/event_resource_requestsfeed-event-feed
: https://api.planningcenteronline.com/calendar/v2/events/1/feedperson-event-owner
: https://api.planningcenteronline.com/calendar/v2/events/1/ownerresourcebooking-event-resource_bookings
: https://api.planningcenteronline.com/calendar/v2/events/1/resource_bookingstag-event-tags
: https://api.planningcenteronline.com/calendar/v2/events/1/tags
Inbound Edges:
event-attachment-event
: https://api.planningcenteronline.com/calendar/v2/attachments/1/eventevent-conflict-winner
: https://api.planningcenteronline.com/calendar/v2/conflicts/1/winnerevent-eventinstance-event
: https://api.planningcenteronline.com/calendar/v2/event_instances/1/eventevent-eventresourcerequest-event
: https://api.planningcenteronline.com/calendar/v2/event_resource_requests/1/eventevent-eventtime-event
: https://api.planningcenteronline.com/calendar/v2/event_instances/1/event_times/1/eventevent-organization-events
: https://api.planningcenteronline.com/calendar/v2/eventsevent-tag-events
: https://api.planningcenteronline.com/calendar/v2/tags/1/eventsevent-taggroup-events
: https://api.planningcenteronline.com/calendar/v2/tag_groups/1/events
Actions: NONE
Raw Data Object Example
{
"type": "Event",
"id": "1",
"attributes": {
"approval_status": "string",
"created_at": "2000-01-01T12:00:00Z",
"description": "string",
"image_url": "string",
"name": "string",
"percent_approved": 1,
"percent_rejected": 1,
"registration_url": "string",
"summary": "string",
"updated_at": "2000-01-01T12:00:00Z",
"visible_in_church_center": true
},
"relationships": {
"owner": {
"data": {
"type": "Person",
"id": "1"
}
}
}
}
- Inheritance
-
- Object
- PcoResource
- PcoCalendarEvent
Constructors
-
PcoCalendarEvent({String? id, String? approvalStatus, DateTime? createdAt, String? description, String? imageUrl, String? name, int? percentApproved, int? percentRejected, String? registrationUrl, String? summary, DateTime? updatedAt, bool? isVisibleInChurchCenter, Map<
String, List< ? withRelationships, List<PcoResource> >PcoResource> ? withIncluded}) -
Create a new PcoCalendarEvent object. This object cannot be created with the API
factory
- PcoCalendarEvent.empty()
- Create an empty instance of this class. This is only useful when an endpoint requires related or included data.
-
PcoCalendarEvent.fromJson(Map<
String, dynamic> data, {List<Map< ? withIncluded})String, dynamic> >
Properties
- api → PlanningCenter
-
planning center resources must be tied to an api
read-onlyinherited
- apiEndpoint → String
-
read-onlyinherited
- apiPath → String
-
PcoResources include their own path as a link object
but this might be null if we haven't created/fetched the object yet
Child classes should redefine this getter to allow for manual path overrides
read-onlyoverride
- apiVersion → String
-
child classes can override these getters which will allow
methods in this class to see static variables from child classes
read-onlyoverride
- approvalStatus → String
-
read-only
-
attributes
→ ReadOnlyMapView<
String, dynamic> -
contains the underlying attributes returned by the api
and allows a user to access arbitrary data in the attributes by actual api name
read-onlyinherited
- canCreate → bool
-
read-onlyoverride
- canDestroy → bool
-
read-onlyoverride
- canUpdate → bool
-
read-onlyoverride
-
createAllowed
→ List<
String> -
read-onlyoverride
- createdAt → DateTime
-
read-onlyinherited
- createPathTemplate → String
-
read-onlyoverride
- defaultPathTemplate → String
-
read-onlyoverride
- description → String
-
read-only
- fetched ↔ bool
-
indicate whether an item is full or partial
read / writeinherited
- hashCode → int
-
The hash code for this object.
read-onlyinherited
- id → String?
-
read-onlyinherited
- imageUrl → String
-
read-only
-
included
→ List<
PcoResource> -
contains included items parsed into objects
read-onlyinherited
-
includedAttachments
→ List<
PcoCalendarAttachment> -
read-only
-
includedTags
→ List<
PcoCalendarTag> -
read-only
- isVisibleInChurchCenter → bool
-
read-only
-
links
→ ReadOnlyMapView<
String, dynamic> -
contains the links data returned by the api if present
read-onlyinherited
- name → String
-
read-only
- needsSave → bool
-
read-onlyinherited
- pcoApplication ↔ String
-
latefinalinherited
- percentApproved → int
-
read-only
- percentRejected → int
-
read-only
- registrationUrl → String
-
read-only
-
relationships
→ ReadOnlyMapView<
String, List< PcoResource> > -
contains relationships parsed into objects
even though the api sends relationship objects as Maps or Lists
we always put them into lists for consistency
read-onlyinherited
- resourceType ↔ String
-
all planning center resources must have a
type
latefinalinherited - runtimeType → Type
-
A representation of the runtime type of the object.
read-onlyinherited
- slug → String
-
read-onlyinherited
- summary → String
-
read-only
-
updateAllowed
→ List<
String> -
read-onlyoverride
- updatedAt → DateTime
-
read-onlyinherited
Methods
-
coerceDouble(
dynamic a) → double -
inherited
-
coerceInt(
dynamic a) → int -
inherited
-
delete(
) → Future< PlanningCenterApiResponse< PlanningCenterApiData> > -
inherited
-
filteredAttributes(
List< String> allowedKeys) → Map<String, dynamic> -
inherited
-
fromJson(
Map< String, dynamic> data, {List<Map< ? withIncluded}) → dynamicString, dynamic> > -
Takes a full JSON:API Response Object (the contents of a "data" field)
will clear and update id, apiPath, attributes and
_relationships
inherited -
getAttachments(
{PcoCalendarAttachmentQuery? query}) → Future< PcoCollection< PcoCalendarAttachment> > -
Will get a collection of PcoCalendarAttachment objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/calendar/v2/events/1/attachments
-
getConflicts(
{PcoCalendarConflictQuery? query}) → Future< PcoCollection< PcoCalendarConflict> > -
Will get a collection of PcoCalendarConflict objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/calendar/v2/events/1/conflicts
-
getEventInstances(
{PcoCalendarEventInstanceQuery? query}) → Future< PcoCollection< PcoCalendarEventInstance> > -
Will get a collection of PcoCalendarEventInstance objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/calendar/v2/events/1/event_instances
-
getEventResourceRequests(
{PcoCalendarEventResourceRequestQuery? query}) → Future< PcoCollection< PcoCalendarEventResourceRequest> > -
Will get a collection of PcoCalendarEventResourceRequest objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/calendar/v2/events/1/event_resource_requests
-
getFeed(
{PcoCalendarFeedQuery? query}) → Future< PcoCollection< PcoCalendarFeed> > -
Will get a collection of PcoCalendarFeed objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/calendar/v2/events/1/feed
-
getOwner(
{PcoCalendarPersonQuery? query}) → Future< PcoCollection< PcoCalendarPerson> > -
Will get a collection of PcoCalendarPerson objects (expecting one)
using a path like this:
https://api.planningcenteronline.com/calendar/v2/events/1/owner
-
getResourceBookings(
{PcoCalendarResourceBookingQuery? query}) → Future< PcoCollection< PcoCalendarResourceBooking> > -
Will get a collection of PcoCalendarResourceBooking objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/calendar/v2/events/1/resource_bookings
-
getTags(
{PcoCalendarTagQuery? query}) → Future< PcoCollection< PcoCalendarTag> > -
Will get a collection of PcoCalendarTag objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/calendar/v2/events/1/tags
-
handleIncludes(
List< Map< included) → voidString, dynamic> > -
This function populates the relationships with typed resource objects
based on the data in the
included
map of the json.inherited -
handleItem(
Map< String, dynamic> data) → PcoResource? -
inherited
-
handleRelationships(
Map< String, dynamic> items, [List<Map< included = const []]) → Map<String, dynamic> >String, List< PcoResource> > -
inherited
-
includedOwner<
T extends PcoResource> () → List< T> - The code generator could not automatically determine the resource type of this relationship. For type safe code, you should specify it in the type argument when calling.
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a non-existent method or property is accessed.
inherited
-
save(
{Map< String, PcoResource> ? withRelated, List<PcoResource> ? withIncluded}) → Future<PlanningCenterApiResponse< PlanningCenterApiData> > -
Many Planning Center endpoints allow or require additional relationships and/or included items
to be sent with a create/update operation. Since these cannot always be determined by the automatic
code generation, they may be included as arguments to the save operation.
inherited
-
toCreateResource(
) → Map< String, dynamic> -
create the attributes Map for this object without the
id
field using only the attributes allowed in create (post) operationsinherited -
toDataMap(
{Map< String, PcoResource> ? withRelated, List<PcoResource> ? withIncluded}) → Map<String, dynamic> -
create a json-api Map for this object automatically selecting create or update
based on the existence of the
id
field. Will result in something like this:inherited -
toIdResource(
) → Map< String, dynamic> -
returns the simplest representation of this resource with
only the type and the id:
inherited
-
toJson(
{dynamic includeAttributes = true, dynamic includeRelationships = false}) → Map< String, dynamic> -
Some api requests only want the type and id of an object.
In those cases, set
includeAttributes
to false or call toIdResource instead.inherited -
toString(
) → String -
A string representation of this object.
inherited
-
toUpdateResource(
) → Map< String, dynamic> -
create the attributes Map for this object using only
the attributes allowed in update (patch) operations
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited
Static Properties
-
canInclude
→ List<
String> -
possible includes with parameter ?include=a,b
read-only
-
canOrderBy
→ List<
String> -
possible orderings with parameter ?order=
read-only
-
canQuery
→ List<
String> -
possible queries using parameters like ?where
key
=value or ?wheregt|lt
=valueread-only
Static Methods
-
get(
{String? id, PcoCalendarEventQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
of PcoCalendarEvent objects (expecting many) using a path like this:/calendar/v2/events
-
getAll(
{String? id, PcoCalendarEventQuery? query, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
containing ALL PcoCalendarEvent objects (expecting many) using a path like this:/calendar/v2/events
-
getAllFromTag(
String tagId, {String? id, PcoCalendarEventQuery? query, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
containing ALL PcoCalendarEvent objects (expecting many) using a path like this:/calendar/v2/tags/$tagId/events
-
getAllFromTagGroup(
String tagGroupId, {String? id, PcoCalendarEventQuery? query, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
containing ALL PcoCalendarEvent objects (expecting many) using a path like this:/calendar/v2/tag_groups/$tagGroupId/events
-
getFromAttachment(
String attachmentId, {PcoCalendarEventQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
of PcoCalendarEvent objects (expecting one) using a path like this:/calendar/v2/attachments/$attachmentId/event
-
getFromEventInstance(
String eventInstanceId, {PcoCalendarEventQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
of PcoCalendarEvent objects (expecting one) using a path like this:/calendar/v2/event_instances/$eventInstanceId/event
-
getFromEventInstanceAndEventTime(
String eventInstanceId, String eventTimeId, {PcoCalendarEventQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
of PcoCalendarEvent objects (expecting one) using a path like this:/calendar/v2/event_instances/$eventInstanceId/event_times/$eventTimeId/event
-
getFromEventResourceRequest(
String eventResourceRequestId, {PcoCalendarEventQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
of PcoCalendarEvent objects (expecting one) using a path like this:/calendar/v2/event_resource_requests/$eventResourceRequestId/event
-
getFromTag(
String tagId, {String? id, PcoCalendarEventQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
of PcoCalendarEvent objects (expecting many) using a path like this:/calendar/v2/tags/$tagId/events
-
getFromTagGroup(
String tagGroupId, {String? id, PcoCalendarEventQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
of PcoCalendarEvent objects (expecting many) using a path like this:/calendar/v2/tag_groups/$tagGroupId/events
-
getSingle(
String id, {PcoCalendarEventQuery? query, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCalendarEvent?> -
Will get a single
PcoCalendarEvent
object using a path like this:/calendar/v2/events/[id]
-
getSingleFromTag(
String tagId, String id, {PcoCalendarEventQuery? query, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCalendarEvent?> -
Will get a single
PcoCalendarEvent
object using a path like this:/calendar/v2/tags/$tagId/events/[id]
-
getSingleFromTagGroup(
String tagGroupId, String id, {PcoCalendarEventQuery? query, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCalendarEvent?> -
Will get a single
PcoCalendarEvent
object using a path like this:/calendar/v2/tag_groups/$tagGroupId/events/[id]
-
getWinnerFromConflict(
String conflictId, {PcoCalendarEventQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeAttachments = false, bool includeOwner = false, bool includeTags = false}) → Future< PcoCollection< PcoCalendarEvent> > -
Will get a
PcoCollection
of PcoCalendarEvent objects (expecting one) using a path like this:/calendar/v2/conflicts/$conflictId/winner
Constants
- kApiVersion → const String
-
'2021-07-20'
- kApprovalStatus → const String
-
'approval_status'
- kCreatedAt → const String
-
'created_at'
- kCreatePathTemplate → const String
-
'null'
- kDefaultPathTemplate → const String
-
'https://api.planningcenteronline.com/calendar/v2/events'
- kDescription → const String
-
'description'
- kId → const String
-
'id'
- kImageUrl → const String
-
'image_url'
- kName → const String
-
'name'
- kPcoApplication → const String
-
'calendar'
- kPercentApproved → const String
-
'percent_approved'
- kPercentRejected → const String
-
'percent_rejected'
- kRegistrationUrl → const String
-
'registration_url'
- kSummary → const String
-
'summary'
- kTypeId → const String
-
'event'
- kTypeString → const String
-
'Event'
- kUpdatedAt → const String
-
'updated_at'
- kVisibleInChurchCenter → const String
-
'visible_in_church_center'