PcoPeopleCampus class Null safety

This class represents a PCO People Campus Object

Instantiation

  • Create a new instance using the PcoPeopleCampus() constructor
  • Instantiate from existing JSON data using the PcoPeopleCampus.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-only attributes map.
  • Additional data is available through the read-only links and relationships 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:

Inbound Edges:

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

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<PcoResource>>? withRelationships, List<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<String, dynamic>>? withIncluded})

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 attributes
read / write
contactEmailAddress String
pass null to remove key from attributes
read / write
country String
pass null to remove key from attributes
read / write
createAllowed List<String>
read-onlyoverride
createdAt DateTime
read-onlyinherited
createPathTemplate String
read-onlyoverride
dateFormat int
pass null to remove key from attributes
read / write
defaultPathTemplate String
read-onlyoverride
description String
pass null to remove key from attributes
read / 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 attributes
read / write
isGeolocationSetManually bool
pass null to remove key from attributes
read / write
isTwentyFourHourTime bool
pass null to remove key from attributes
read / write
latitude double
pass null to remove key from attributes
read / write
contains the links data returned by the api if present
read-onlyinherited
longitude double
pass null to remove key from attributes
read / write
name String
pass null to remove key from attributes
read / write
needsSave bool
read-onlyinherited
pcoApplication String
latefinalinherited
phoneNumber String
pass null to remove key from attributes
read / 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 attributes
read / write
street String
pass null to remove key from attributes
read / write
timeZone String
pass null to remove key from attributes
read / write
updateAllowed List<String>
read-onlyoverride
updatedAt DateTime
read-onlyinherited
website String
pass null to remove key from attributes
read / write
zip String
pass null to remove key from attributes
read / 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<String, dynamic>>? withIncluded}) → 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<String, dynamic>> included) → void
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<String, dynamic>> included = const []]) Map<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) operations
inherited
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 ?wherekey=value or ?wheregt|lt=value
read-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'