PcoPeopleCampus class Null safety
This class represents a PCO People Campus Object
- Application: people
- Id: campus
- Type: Campus
- ApiVersion: 2022-07-14
- Is Deprecated: false
- Is Collection Only: false
- Default Endpoint: https://api.planningcenteronline.com/people/v2/campuses
- Create Endpoint: https://api.planningcenteronline.com/people/v2/campuses
Instantiation
- Create a new instance using the
PcoPeopleCampus()
constructor - Instantiate from existing
JSON
data using thePcoPeopleCampus.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.
Extra Instructions
CREATING
Must be an Organization Administrator
UPDATING
Must be an Organization Administrator
DELETING
Must be an Organization Administrator
Description
A Campus is a location belonging to an Organization
Attributes (and permissions)
id
(ro) -> PCO:id
latitude
(rw) -> PCO:latitude
longitude
(rw) -> PCO:longitude
description
(rw) -> PCO:description
street
(rw) -> PCO:street
city
(rw) -> PCO:city
state
(rw) -> PCO:state
zip
(rw) -> PCO:zip
country
(rw) -> PCO:country
phoneNumber
(rw) -> PCO:phone_number
website
(rw) -> PCO:website
isTwentyFourHourTime
(rw) -> PCO:twenty_four_hour_time
dateFormat
(rw) -> PCO:date_format
isChurchCenterEnabled
(rw) -> PCO:church_center_enabled
contactEmailAddress
(rw) -> PCO:contact_email_address
timeZone
(rw) -> PCO:time_zone
isGeolocationSetManually
(rw) -> PCO:geolocation_set_manually
name
(rw) -> PCO:name
createdAt
(ro) -> PCO:created_at
updatedAt
(ro) -> PCO:updated_at
avatarUrl
(ro) -> PCO:avatar_url
Edges and Actions
Outbound Edges:
list-campus-lists
: https://api.planningcenteronline.com/people/v2/campuses/1/listsservicetime-campus-service_times
: https://api.planningcenteronline.com/people/v2/campuses/1/service_times
Inbound Edges:
campus-form-campus
: https://api.planningcenteronline.com/people/v2/forms/1/campuscampus-list-campus
: https://api.planningcenteronline.com/people/v2/lists/1/campuscampus-organization-campuses
: https://api.planningcenteronline.com/people/v2/campusescampus-person-primary_campus
: https://api.planningcenteronline.com/people/v2/people/1/primary_campus
Actions: NONE
Raw Data Object Example
{
"type": "Campus",
"id": "1",
"attributes": {
"latitude": 1.42,
"longitude": 1.42,
"description": "string",
"street": "string",
"city": "string",
"state": "string",
"zip": "string",
"country": "string",
"phone_number": "string",
"website": "string",
"twenty_four_hour_time": true,
"date_format": 1,
"church_center_enabled": true,
"contact_email_address": "string",
"time_zone": "string",
"geolocation_set_manually": true,
"name": "string",
"created_at": "2000-01-01T12:00:00Z",
"updated_at": "2000-01-01T12:00:00Z",
"avatar_url": "string"
},
"relationships": {
"organization": {
"data": {
"type": "Organization",
"id": "1"
}
}
}
}
- Inheritance
-
- Object
- PcoResource
- PcoPeopleCampus
Constructors
-
PcoPeopleCampus({String? id, double? latitude, double? longitude, String? description, String? street, String? city, String? state, String? zip, String? country, String? phoneNumber, String? website, bool? isTwentyFourHourTime, int? dateFormat, bool? isChurchCenterEnabled, String? contactEmailAddress, String? timeZone, bool? isGeolocationSetManually, String? name, DateTime? createdAt, DateTime? updatedAt, String? avatarUrl, Map<
String, List< ? withRelationships, List<PcoResource> >PcoResource> ? withIncluded}) -
Create a new PcoPeopleCampus object using this endpoint:
https://api.planningcenteronline.com/people/v2/campuses
factory - PcoPeopleCampus.empty()
- Create an empty instance of this class. This is only useful when an endpoint requires related or included data.
-
PcoPeopleCampus.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
-
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
- avatarUrl → String
-
read-only
- canCreate → bool
-
read-onlyoverride
- canDestroy → bool
-
read-onlyoverride
- canUpdate → bool
-
read-onlyoverride
- city ↔ String
-
pass
null
to remove key from attributesread / write - contactEmailAddress ↔ String
-
pass
null
to remove key from attributesread / write - country ↔ String
-
pass
null
to remove key from attributesread / write -
createAllowed
→ List<
String> -
read-onlyoverride
- createdAt → DateTime
-
read-onlyinherited
- createPathTemplate → String
-
read-onlyoverride
- dateFormat ↔ int
-
pass
null
to remove key from attributesread / write - defaultPathTemplate → String
-
read-onlyoverride
- description ↔ String
-
pass
null
to remove key from attributesread / write - 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
-
included
→ List<
PcoResource> -
contains included items parsed into objects
read-onlyinherited
-
includedLists
→ List<
PcoPeopleList> -
read-only
-
includedServiceTimes
→ List<
PcoPeopleServiceTime> -
read-only
- isChurchCenterEnabled ↔ bool
-
pass
null
to remove key from attributesread / write - isGeolocationSetManually ↔ bool
-
pass
null
to remove key from attributesread / write - isTwentyFourHourTime ↔ bool
-
pass
null
to remove key from attributesread / write - latitude ↔ double
-
pass
null
to remove key from attributesread / write -
links
→ ReadOnlyMapView<
String, dynamic> -
contains the links data returned by the api if present
read-onlyinherited
- longitude ↔ double
-
pass
null
to remove key from attributesread / write - name ↔ String
-
pass
null
to remove key from attributesread / write - needsSave → bool
-
read-onlyinherited
- pcoApplication ↔ String
-
latefinalinherited
- phoneNumber ↔ String
-
pass
null
to remove key from attributesread / write -
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
- state ↔ String
-
pass
null
to remove key from attributesread / write - street ↔ String
-
pass
null
to remove key from attributesread / write - timeZone ↔ String
-
pass
null
to remove key from attributesread / write -
updateAllowed
→ List<
String> -
read-onlyoverride
- updatedAt → DateTime
-
read-onlyinherited
- website ↔ String
-
pass
null
to remove key from attributesread / write - zip ↔ String
-
pass
null
to remove key from attributesread / write
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 -
getLists(
{PcoPeopleListQuery? query}) → Future< PcoCollection< PcoPeopleList> > -
Will get a collection of PcoPeopleList objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/people/v2/campuses/1/lists
-
getServiceTimes(
{PcoPeopleServiceTimeQuery? query}) → Future< PcoCollection< PcoPeopleServiceTime> > -
Will get a collection of PcoPeopleServiceTime objects (expecting many)
using a path like this:
https://api.planningcenteronline.com/people/v2/campuses/1/service_times
-
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, PcoPeopleCampusQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeLists = false, bool includeServiceTimes = false}) → Future< PcoCollection< PcoPeopleCampus> > -
Will get a
PcoCollection
of PcoPeopleCampus objects (expecting many) using a path like this:/people/v2/campuses
-
getAll(
{String? id, PcoPeopleCampusQuery? query, bool includeAllRelated = false, bool includeLists = false, bool includeServiceTimes = false}) → Future< PcoCollection< PcoPeopleCampus> > -
Will get a
PcoCollection
containing ALL PcoPeopleCampus objects (expecting many) using a path like this:/people/v2/campuses
-
getFromForm(
String formId, {PcoPeopleCampusQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeLists = false, bool includeServiceTimes = false}) → Future< PcoCollection< PcoPeopleCampus> > -
Will get a
PcoCollection
of PcoPeopleCampus objects (expecting one) using a path like this:/people/v2/forms/$formId/campus
-
getFromList(
String listId, {PcoPeopleCampusQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeLists = false, bool includeServiceTimes = false}) → Future< PcoCollection< PcoPeopleCampus> > -
Will get a
PcoCollection
of PcoPeopleCampus objects (expecting one) using a path like this:/people/v2/lists/$listId/campus
-
getPrimaryCampusFromPerson(
String personId, {PcoPeopleCampusQuery? query, bool getAll = false, bool includeAllRelated = false, bool includeLists = false, bool includeServiceTimes = false}) → Future< PcoCollection< PcoPeopleCampus> > -
Will get a
PcoCollection
of PcoPeopleCampus objects (expecting one) using a path like this:/people/v2/people/$personId/primary_campus
-
getSingle(
String id, {PcoPeopleCampusQuery? query, bool includeAllRelated = false, bool includeLists = false, bool includeServiceTimes = false}) → Future< PcoPeopleCampus?> -
Will get a single
PcoPeopleCampus
object using a path like this:/people/v2/campuses/[id]
Constants
- kApiVersion → const String
-
'2022-07-14'
- kAvatarUrl → const String
-
'avatar_url'
- kChurchCenterEnabled → const String
-
'church_center_enabled'
- kCity → const String
-
'city'
- kContactEmailAddress → const String
-
'contact_email_address'
- kCountry → const String
-
'country'
- kCreatedAt → const String
-
'created_at'
- kCreatePathTemplate → const String
-
'https://api.planningcenteronline.com/people/v2/campuses'
- kDateFormat → const String
-
'date_format'
- kDefaultPathTemplate → const String
-
'https://api.planningcenteronline.com/people/v2/campuses'
- kDescription → const String
-
'description'
- kGeolocationSetManually → const String
-
'geolocation_set_manually'
- kId → const String
-
'id'
- kLatitude → const String
-
'latitude'
- kLongitude → const String
-
'longitude'
- kName → const String
-
'name'
- kPcoApplication → const String
-
'people'
- kPhoneNumber → const String
-
'phone_number'
- kState → const String
-
'state'
- kStreet → const String
-
'street'
- kTimeZone → const String
-
'time_zone'
- kTwentyFourHourTime → const String
-
'twenty_four_hour_time'
- kTypeId → const String
-
'campus'
- kTypeString → const String
-
'Campus'
- kUpdatedAt → const String
-
'updated_at'
- kWebsite → const String
-
'website'
- kZip → const String
-
'zip'