PcoGroupsGroup class Null safety
This class represents a PCO Groups Group Object
- Application: groups
- Id: group
- Type: Group
- ApiVersion: 2018-08-01
- Is Deprecated: false
- Is Collection Only: false
- Default Endpoint: https://api.planningcenteronline.com/groups/v2/groups
- Create Endpoint: NONE
Instantiation
- This object cannot be created through the API.
- Instantiate from existing
JSON
data using thePcoGroupsGroup.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
Attributes (and permissions)
id
(ro) -> PCO:id
archiveStatus
(ro) -> PCO:archive_status
archivedAt
(ro) -> PCO:archived_at
contactEmail
(ro) -> PCO:contact_email
createdAt
(ro) -> PCO:created_at
description
(ro) -> PCO:description
isEnrollmentOpen
(ro) -> PCO:enrollment_open
enrollmentStrategy
(ro) -> PCO:enrollment_strategy
eventsVisibility
(ro) -> PCO:events_visibility
headerImage
(ro) -> PCO:header_image
locationTypePreference
(ro) -> PCO:location_type_preference
membershipsCount
(ro) -> PCO:memberships_count
name
(ro) -> PCO:name
publicChurchCenterWebUrl
(ro) -> PCO:public_church_center_web_url
schedule
(ro) -> PCO:schedule
virtualLocationUrl
(ro) -> PCO:virtual_location_url
widgetStatus
(ro) -> PCO:widget_status
Edges and Actions
Outbound Edges:
event-group-events
: https://api.planningcenteronline.com/groups/v2/groups/1/eventsgrouptype-group-group_type
: https://api.planningcenteronline.com/groups/v2/groups/1/group_typelocation-group-location
: https://api.planningcenteronline.com/groups/v2/groups/1/locationmembership-group-memberships
: https://api.planningcenteronline.com/groups/v2/groups/1/membershipsperson-group-people
: https://api.planningcenteronline.com/groups/v2/groups/1/peopleresource-group-resources
: https://api.planningcenteronline.com/groups/v2/groups/1/resourcestag-group-tags
: https://api.planningcenteronline.com/groups/v2/groups/1/tags
Inbound Edges:
group-event-group
: https://api.planningcenteronline.com/groups/v2/events/1/groupgroup-grouptype-groups
: https://api.planningcenteronline.com/groups/v2/group_types/1/groupsgroup-membership-group
: https://api.planningcenteronline.com/groups/v2/groups/1/memberships/1/groupgroup-organization-groups
: https://api.planningcenteronline.com/groups/v2/groupsgroup-person-groups
: https://api.planningcenteronline.com/groups/v2/people/1/groupsgroup-tag-groups
: https://api.planningcenteronline.com/groups/v2/tags/1/groups
Actions: NONE
Raw Data Object Example
{
"type": "Group",
"id": "1",
"attributes": {
"archived_at": "2000-01-01T12:00:00Z",
"contact_email": "string",
"created_at": "2000-01-01T12:00:00Z",
"description": "string",
"enrollment_open": true,
"enrollment_strategy": "value",
"events_visibility": "value",
"header_image": {},
"location_type_preference": "value",
"memberships_count": 1,
"name": "string",
"public_church_center_web_url": "string",
"schedule": "string",
"virtual_location_url": "string"
},
"relationships": {
"group_type": {
"data": {
"type": "GroupType",
"id": "1"
}
},
"location": {
"data": {
"type": "Location",
"id": "1"
}
}
}
}
- Inheritance
-
- Object
- PcoResource
- PcoGroupsGroup
Constructors
-
PcoGroupsGroup({String? id, String? archiveStatus, DateTime? archivedAt, String? contactEmail, DateTime? createdAt, String? description, bool? isEnrollmentOpen, String? enrollmentStrategy, String? eventsVisibility, String? headerImage, String? locationTypePreference, int? membershipsCount, String? name, String? publicChurchCenterWebUrl, String? schedule, String? virtualLocationUrl, String? widgetStatus, Map<
String, List< ? withRelationships, List<PcoResource> >PcoResource> ? withIncluded}) -
Create a new PcoGroupsGroup object. This object cannot be created with the API
factory
- PcoGroupsGroup.empty()
- Create an empty instance of this class. This is only useful when an endpoint requires related or included data.
-
PcoGroupsGroup.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
- archivedAt → DateTime
-
read-only
- archiveStatus → 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
- contactEmail → String
-
read-only
-
createAllowed
→ List<
String> -
read-onlyoverride
- createdAt → DateTime
-
read-onlyinherited
- createPathTemplate → String
-
read-onlyoverride
- defaultPathTemplate → String
-
read-onlyoverride
- description → String
-
read-only
- enrollmentStrategy → String
-
read-only
- eventsVisibility → 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
- headerImage → String
-
read-only
- id → String?
-
read-onlyinherited
-
included
→ List<
PcoResource> -
contains included items parsed into objects
read-onlyinherited
- includedGroupType → PcoGroupsGroupType?
-
read-only
- includedLocation → PcoGroupsLocation?
-
read-only
- isEnrollmentOpen → bool
-
read-only
-
links
→ ReadOnlyMapView<
String, dynamic> -
contains the links data returned by the api if present
read-onlyinherited
- locationTypePreference → String
-
read-only
- membershipsCount → int
-
read-only
- name → String
-
read-only
- needsSave → bool
-
read-onlyinherited
- pcoApplication ↔ String
-
latefinalinherited
- publicChurchCenterWebUrl → 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
- schedule → String
-
read-only
- slug → String
-
read-onlyinherited
-
updateAllowed
→ List<
String> -
read-onlyoverride
- updatedAt → DateTime
-
read-onlyinherited
- virtualLocationUrl → String
-
read-only
- widgetStatus → String
-
read-only
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 -
getEvents(
{PcoGroupsEventQuery? query}) → Future< PcoCollection< PcoGroupsEvent> > -
Will get a collection of PcoGroupsEvent objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/groups/v2/groups/1/events
-
getGroupType(
{PcoGroupsGroupTypeQuery? query}) → Future< PcoCollection< PcoGroupsGroupType> > -
Will get a collection of PcoGroupsGroupType objects (expecting one)
using a path like this:
https://api.planningcenteronline.com/groups/v2/groups/1/group_type
-
getLocation(
{PcoGroupsLocationQuery? query}) → Future< PcoCollection< PcoGroupsLocation> > -
Will get a collection of PcoGroupsLocation objects (expecting one)
using a path like this:
https://api.planningcenteronline.com/groups/v2/groups/1/location
-
getMemberships(
{PcoGroupsMembershipQuery? query}) → Future< PcoCollection< PcoGroupsMembership> > -
Will get a collection of PcoGroupsMembership objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/groups/v2/groups/1/memberships
-
getPeople(
{PcoGroupsPersonQuery? query}) → Future< PcoCollection< PcoGroupsPerson> > -
Will get a collection of PcoGroupsPerson objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/groups/v2/groups/1/people
-
getResources(
{PcoGroupsResourceQuery? query}) → Future< PcoCollection< PcoGroupsResource> > -
Will get a collection of PcoGroupsResource objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/groups/v2/groups/1/resources
-
getTags(
{PcoGroupsTagQuery? query}) → Future< PcoCollection< PcoGroupsTag> > -
Will get a collection of PcoGroupsTag objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/groups/v2/groups/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
-
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, PcoGroupsGroupQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
of PcoGroupsGroup objects (expecting many) using a path like this:/groups/v2/groups
-
getAll(
{String? id, PcoGroupsGroupQuery? query, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
containing ALL PcoGroupsGroup objects (expecting many) using a path like this:/groups/v2/groups
-
getAllFromGroupType(
String groupTypeId, {String? id, PcoGroupsGroupQuery? query, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
containing ALL PcoGroupsGroup objects (expecting many) using a path like this:/groups/v2/group_types/$groupTypeId/groups
-
getAllFromPerson(
String personId, {String? id, PcoGroupsGroupQuery? query, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
containing ALL PcoGroupsGroup objects (expecting many) using a path like this:/groups/v2/people/$personId/groups
-
getAllFromTag(
String tagId, {String? id, PcoGroupsGroupQuery? query, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
containing ALL PcoGroupsGroup objects (expecting many) using a path like this:/groups/v2/tags/$tagId/groups
-
getFromEvent(
String eventId, {PcoGroupsGroupQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
of PcoGroupsGroup objects (expecting one) using a path like this:/groups/v2/events/$eventId/group
-
getFromGroupAndMembership(
String groupId, String membershipId, {PcoGroupsGroupQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
of PcoGroupsGroup objects (expecting one) using a path like this:/groups/v2/groups/$groupId/memberships/$membershipId/group
-
getFromGroupType(
String groupTypeId, {String? id, PcoGroupsGroupQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
of PcoGroupsGroup objects (expecting many) using a path like this:/groups/v2/group_types/$groupTypeId/groups
-
getFromPerson(
String personId, {String? id, PcoGroupsGroupQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
of PcoGroupsGroup objects (expecting many) using a path like this:/groups/v2/people/$personId/groups
-
getFromTag(
String tagId, {String? id, PcoGroupsGroupQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoCollection< PcoGroupsGroup> > -
Will get a
PcoCollection
of PcoGroupsGroup objects (expecting many) using a path like this:/groups/v2/tags/$tagId/groups
-
getSingle(
String id, {PcoGroupsGroupQuery? query, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoGroupsGroup?> -
Will get a single
PcoGroupsGroup
object using a path like this:/groups/v2/groups/[id]
-
getSingleFromGroupType(
String groupTypeId, String id, {PcoGroupsGroupQuery? query, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoGroupsGroup?> -
Will get a single
PcoGroupsGroup
object using a path like this:/groups/v2/group_types/$groupTypeId/groups/[id]
-
getSingleFromPerson(
String personId, String id, {PcoGroupsGroupQuery? query, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoGroupsGroup?> -
Will get a single
PcoGroupsGroup
object using a path like this:/groups/v2/people/$personId/groups/[id]
-
getSingleFromTag(
String tagId, String id, {PcoGroupsGroupQuery? query, bool includeAllRelated = false, bool includeGroupType = false, bool includeLocation = false}) → Future< PcoGroupsGroup?> -
Will get a single
PcoGroupsGroup
object using a path like this:/groups/v2/tags/$tagId/groups/[id]
Constants
- kApiVersion → const String
-
'2018-08-01'
- kArchivedAt → const String
-
'archived_at'
- kArchiveStatus → const String
-
'archive_status'
- kContactEmail → const String
-
'contact_email'
- kCreatedAt → const String
-
'created_at'
- kCreatePathTemplate → const String
-
'null'
- kDefaultPathTemplate → const String
-
'https://api.planningcenteronline.com/groups/v2/groups'
- kDescription → const String
-
'description'
- kEnrollmentOpen → const String
-
'enrollment_open'
- kEnrollmentStrategy → const String
-
'enrollment_strategy'
- kEventsVisibility → const String
-
'events_visibility'
- kHeaderImage → const String
-
'header_image'
- kId → const String
-
'id'
- kLocationTypePreference → const String
-
'location_type_preference'
- kMembershipsCount → const String
-
'memberships_count'
- kName → const String
-
'name'
- kPcoApplication → const String
-
'groups'
- kPublicChurchCenterWebUrl → const String
-
'public_church_center_web_url'
- kSchedule → const String
-
'schedule'
- kTypeId → const String
-
'group'
- kTypeString → const String
-
'Group'
- kVirtualLocationUrl → const String
-
'virtual_location_url'
- kWidgetStatus → const String
-
'widget_status'